{"version":3,"sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/Uvideosafe.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/app.routing.ts","./src/app/app.settings.model.ts","./src/app/app.settings.ts","./src/app/page-layout/about-us/about-us.component.ts","./src/app/page-layout/about-us/about-us.component.html","./src/app/page-layout/add-address/add-address.component.ts","./src/app/page-layout/add-address/add-address.component.html","./src/app/page-layout/blog/blog.component.html","./src/app/page-layout/blog/blog.component.ts","./src/app/page-layout/cart/cart.component.ts","./src/app/page-layout/cart/cart.component.html","./src/app/page-layout/categories/categories.component.html","./src/app/page-layout/categories/categories.component.ts","./src/app/page-layout/contact-us/contact-us.component.ts","./src/app/page-layout/contact-us/contact-us.component.html","./src/app/page-layout/customer-login/customer-login.component.ts","./src/app/page-layout/customer-login/customer-login.component.html","./src/app/page-layout/customer-registration/customer-registration.component.ts","./src/app/page-layout/customer-registration/customer-registration.component.html","./src/app/page-layout/farmer-produces/farmer-produces.component.html","./src/app/page-layout/farmer-produces/farmer-produces.component.ts","./src/app/page-layout/goals/goals.component.html","./src/app/page-layout/goals/goals.component.ts","./src/app/page-layout/home/home.component.html","./src/app/page-layout/home/home.component.ts","./src/app/page-layout/my-enquiries/my-enquiries.component.html","./src/app/page-layout/my-enquiries/my-enquiries.component.ts","./src/app/page-layout/my-orders/my-orders.component.ts","./src/app/page-layout/my-orders/my-orders.component.html","./src/app/page-layout/order-invoice/order-invoice.component.html","./src/app/page-layout/order-invoice/order-invoice.component.ts","./src/app/page-layout/page-footer/page-footer.component.ts","./src/app/page-layout/page-footer/page-footer.component.html","./src/app/page-layout/page-header/page-header.component.html","./src/app/page-layout/page-header/page-header.component.ts","./src/app/page-layout/page-layout.component.ts","./src/app/page-layout/page-layout.component.html","./src/app/page-layout/popular-purchase/popular-purchase.component.ts","./src/app/page-layout/popular-purchase/popular-purchase.component.html","./src/app/page-layout/privacy-policy/privacy-policy.component.ts","./src/app/page-layout/privacy-policy/privacy-policy.component.html","./src/app/page-layout/product-enquiry/product-enquiry.component.ts","./src/app/page-layout/product-enquiry/product-enquiry.component.html","./src/app/page-layout/product-information/product-information.component.ts","./src/app/page-layout/product-information/product-information.component.html","./src/app/page-layout/related-products/related-products.component.ts","./src/app/page-layout/related-products/related-products.component.html","./src/app/page-layout/termsand-conditions/termsand-conditions.component.ts","./src/app/page-layout/termsand-conditions/termsand-conditions.component.html","./src/app/page-layout/wishlist/wishlist.component.ts","./src/app/page-layout/wishlist/wishlist.component.html","./src/app/pages/blank/blank.component.ts","./src/app/pages/errors/not-found/not-found.component.ts","./src/app/pages/errors/not-found/not-found.component.html","./src/app/pages/pages.component.html","./src/app/pages/pages.component.ts","./src/app/pages/search/search.component.ts","./src/app/pages/search/search.component.html","./src/app/service/cart.service.ts","./src/app/service/encryption.service.ts","./src/app/service/general.service.ts","./src/app/service/notification.service.ts","./src/app/service/wishlist.service.ts","./src/app/theme/components/applications/applications.component.ts","./src/app/theme/components/applications/applications.component.html","./src/app/theme/components/back-top/back-top.component.ts","./src/app/theme/components/breadcrumb/breadcrumb.component.ts","./src/app/theme/components/breadcrumb/breadcrumb.component.html","./src/app/theme/components/favorites/favorites.component.ts","./src/app/theme/components/favorites/favorites.component.html","./src/app/theme/components/flags-menu/flags-menu.component.html","./src/app/theme/components/flags-menu/flags-menu.component.ts","./src/app/theme/components/footer/footer.component.ts","./src/app/theme/components/footer/footer.component.html","./src/app/theme/components/fullscreen/fullscreen.component.ts","./src/app/theme/components/header/header.component.ts","./src/app/theme/components/header/header.component.html","./src/app/theme/components/menu/horizontal-menu/horizontal-menu.component.ts","./src/app/theme/components/menu/horizontal-menu/horizontal-menu.component.html","./src/app/theme/components/menu/menu.model.ts","./src/app/theme/components/menu/menu.service.ts","./src/app/theme/components/menu/menu.ts","./src/app/theme/components/menu/vertical-menu/vertical-menu.component.ts","./src/app/theme/components/menu/vertical-menu/vertical-menu.component.html","./src/app/theme/components/messages/messages.component.ts","./src/app/theme/components/messages/messages.component.html","./src/app/theme/components/messages/messages.service.ts","./src/app/theme/components/side-chat/side-chat.component.ts","./src/app/theme/components/side-chat/side-chat.component.html","./src/app/theme/components/side-chat/side-chat.model.ts","./src/app/theme/components/side-chat/side-chat.service.ts","./src/app/theme/components/sidebar/sidebar.component.ts","./src/app/theme/components/sidebar/sidebar.component.html","./src/app/theme/components/user-menu/user-menu.component.ts","./src/app/theme/components/user-menu/user-menu.component.html","./src/app/theme/pipes/pipes.module.ts","./src/app/theme/pipes/profilePicture/profilePicture.pipe.ts","./src/app/theme/pipes/search/chat-person-search.pipe.ts","./src/app/theme/pipes/search/mail-search.pipe.ts","./src/app/theme/pipes/search/safe-pipe.pipe.ts","./src/app/theme/pipes/search/user-search.pipe.ts","./src/app/theme/pipes/truncate/truncate.pipe.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(() => {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'uvideosafe'\r\n})\r\nexport class UVideoSafe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n transform(url) {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n }\r\n\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { AppSettings } from './app.settings';\r\nimport { Settings } from './app.settings.model';\r\nimport { NotificationService } from './service/notification.service';\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AppComponent {\r\n public settings: Settings;\r\n constructor(public appSettings: AppSettings, public router: Router, public translate: TranslateService, private notificationService: NotificationService){\r\n this.settings = this.appSettings.settings; \r\n translate.addLangs(['en','de','fr','ru','tr']);\r\n translate.setDefaultLang('en'); \r\n translate.use('en'); \r\n } \r\n\r\n\r\n /* These following methods used for theme preview, you can remove this methods */\r\n \r\n ngOnInit() {\r\n this.notificationService.requestPermission();\r\n this.router.events.subscribe((evt) => {\r\n if (!(evt instanceof NavigationEnd)) {\r\n return;\r\n \r\n }\r\n window.scrollTo(0, 0)\r\n });\r\n // var demo = this.getParameterByName('demo');\r\n // this.setLayout(demo);\r\n }\r\n \r\n // private getParameterByName(name) {\r\n // var url = window.location.href;\r\n // name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n // var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\r\n // results = regex.exec(url);\r\n // if (!results) return null;\r\n // if (!results[2]) return '';\r\n // return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n // }\r\n\r\n // private setLayout(demo){\r\n // switch (demo) {\r\n // case \"vertical-default\":\r\n // this.settings.theme.menu = 'vertical';\r\n // this.settings.theme.menuType = 'default';\r\n // break;\r\n // case \"vertical-compact\":\r\n // this.settings.theme.menu = 'vertical';\r\n // this.settings.theme.menuType = 'compact';\r\n // break;\r\n // case \"vertical-mini\":\r\n // this.settings.theme.menu = 'vertical';\r\n // this.settings.theme.menuType = 'mini';\r\n // break;\r\n // case \"horizontal-default\":\r\n // this.settings.theme.menu = 'horizontal';\r\n // this.settings.theme.menuType = 'default';\r\n // break;\r\n // case \"horizontal-compact\":\r\n // this.settings.theme.menu = 'horizontal';\r\n // this.settings.theme.menuType = 'compact';\r\n // break;\r\n // case \"horizontal-mini\":\r\n // this.settings.theme.menu = 'horizontal';\r\n // this.settings.theme.menuType = 'mini';\r\n // break;\r\n // default:\r\n // this.settings.theme.menu = 'vertical';\r\n // this.settings.theme.menuType = 'default';\r\n // }\r\n // this.router.navigate(['/']);\r\n // }\r\n \r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: true\r\n};\r\n\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader'; \r\nexport function HttpLoaderFactory(httpClient: HttpClient) { \r\n return new TranslateHttpLoader(httpClient, './assets/i18n/', '.json');\r\n}\r\n\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MultiselectDropdownModule } from 'angular-2-dropdown-multiselect';\r\nimport { AgmCoreModule } from '@agm/core';\r\nimport { CalendarModule, DateAdapter } from 'angular-calendar';\r\nimport { adapterFactory } from 'angular-calendar/date-adapters/date-fns'; \r\n\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { PipesModule } from './theme/pipes/pipes.module';\r\n\r\nimport { AppRoutingModule } from './app.routing';\r\nimport { AppSettings } from './app.settings';\r\n\r\nimport { ImageCropperModule } from 'ngx-image-cropper';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { PagesComponent } from './pages/pages.component';\r\nimport { HeaderComponent } from './theme/components/header/header.component';\r\nimport { FooterComponent } from './theme/components/footer/footer.component';\r\nimport { SidebarComponent } from './theme/components/sidebar/sidebar.component';\r\nimport { VerticalMenuComponent } from './theme/components/menu/vertical-menu/vertical-menu.component';\r\nimport { HorizontalMenuComponent } from './theme/components/menu/horizontal-menu/horizontal-menu.component';\r\nimport { BreadcrumbComponent } from './theme/components/breadcrumb/breadcrumb.component';\r\nimport { BackTopComponent } from './theme/components/back-top/back-top.component';\r\nimport { FullScreenComponent } from './theme/components/fullscreen/fullscreen.component';\r\nimport { ApplicationsComponent } from './theme/components/applications/applications.component';\r\nimport { MessagesComponent } from './theme/components/messages/messages.component';\r\nimport { UserMenuComponent } from './theme/components/user-menu/user-menu.component';\r\nimport { FlagsMenuComponent } from './theme/components/flags-menu/flags-menu.component';\r\nimport { SideChatComponent } from './theme/components/side-chat/side-chat.component';\r\nimport { FavoritesComponent } from './theme/components/favorites/favorites.component';\r\nimport { BlankComponent } from './pages/blank/blank.component';\r\nimport { SearchComponent } from './pages/search/search.component'; \r\nimport { NotFoundComponent } from './pages/errors/not-found/not-found.component';\r\n\r\n/*Page-Layout components import place*/\r\nimport { PageLayoutComponent } from './page-layout/page-layout.component'\r\nimport { HomeComponent } from './page-layout/home/home.component'\r\nimport { PageHeaderComponent } from './page-layout/page-header/page-header.component'\r\nimport { PageFooterComponent } from './page-layout/page-footer/page-footer.component'\r\nimport { CategoriesComponent } from './page-layout/categories/categories.component'\r\nimport { CustomerLoginComponent } from './page-layout/customer-login/customer-login.component'\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { AboutUsComponent } from './page-layout/about-us/about-us.component'\r\nimport { ContactUsComponent } from './page-layout/contact-us/contact-us.component';\r\n//import { productDetails } from './page-layout/product-details/product-details.component';\r\n//import { productDetails1Component } from './page-layout/product-details1/product-details1.component'\r\nimport { BlogComponent } from './page-layout/blog/blog.component'\r\nimport { CartComponent } from './page-layout/cart/cart.component'\r\nimport { CKEditorModule } from 'ng2-ckeditor';\r\nimport { WishlistComponent } from './page-layout/wishlist/wishlist.component';\r\nimport { AddAddressComponent } from './page-layout/add-address/add-address.component'\r\nimport { GoalsComponent } from './page-layout/goals/goals.component'\r\nimport { FarmerProducesComponent } from './page-layout/farmer-produces/farmer-produces.component'\r\nimport { GMapModule } from 'primeng/gmap'\r\nimport { SpinneroverlayComponent } from 'src/app/service/spinneroverlay/spinneroverlay.component';\r\nimport { ProductEnquiryComponent } from './page-layout/product-enquiry/product-enquiry.component';\r\nimport { MyOrdersComponent } from './page-layout/my-orders/my-orders.component'\r\nimport { OrderInvoiceComponent } from './page-layout/order-invoice/order-invoice.component';\r\nimport { MyEnquiriesComponent } from './page-layout/my-enquiries/my-enquiries.component';\r\nimport { CustomerRegistrationComponent } from './page-layout/customer-registration/customer-registration.component';\r\nimport { PopularPurchaseComponent } from './page-layout/popular-purchase/popular-purchase.component';\r\nimport { RelatedProductsComponent } from './page-layout/related-products/related-products.component';\r\nimport { UVideoSafe } from './Uvideosafe';\r\nimport { PrivacyPolicyComponent } from './page-layout/privacy-policy/privacy-policy.component';\r\nimport { ProductInformationComponent } from './page-layout/product-information/product-information.component';\r\nimport { UserIdleModule } from 'angular-user-idle';\r\nimport { TermsandConditionsComponent } from './page-layout/termsand-conditions/termsand-conditions.component';\r\n\r\n\r\n@NgModule({ \r\n imports: [ \r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n PerfectScrollbarModule,\r\n NgbModule,\r\n GMapModule,\r\n AutoCompleteModule,\r\n MultiselectDropdownModule,\r\n ReactiveFormsModule,\r\n CKEditorModule,\r\n ImageCropperModule,\r\n UserIdleModule.forRoot({ idle: 500, timeout: 500, ping: 500 }),\r\n ToastModule,\r\n AgmCoreModule.forRoot({\r\n apiKey: 'AIzaSyAO7Mg2Cs1qzo_3jkKkZAKY6jtwIlm41-I'\r\n }),\r\n CalendarModule.forRoot({\r\n provide: DateAdapter,\r\n useFactory: adapterFactory\r\n }),\r\n ToastrModule.forRoot(), \r\n PipesModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n })\r\n ],\r\n declarations: [\r\n AppComponent,\r\n PagesComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n SidebarComponent,\r\n /*page-layout declarations*/\r\n PageLayoutComponent,\r\n HomeComponent,\r\n PageHeaderComponent,\r\n PageFooterComponent,\r\n CustomerLoginComponent,\r\n CategoriesComponent,\r\n VerticalMenuComponent,\r\n HorizontalMenuComponent,\r\n BreadcrumbComponent,\r\n BackTopComponent,\r\n FullScreenComponent,\r\n ApplicationsComponent,\r\n MessagesComponent,\r\n UserMenuComponent,\r\n FlagsMenuComponent,\r\n SideChatComponent,\r\n FavoritesComponent,\r\n BlankComponent,\r\n SearchComponent,\r\n NotFoundComponent,\r\n AboutUsComponent,\r\n ContactUsComponent,\r\n \r\n BlogComponent,\r\n CartComponent,\r\n CustomerLoginComponent,\r\n WishlistComponent,\r\n AddAddressComponent,\r\n GoalsComponent,\r\n FarmerProducesComponent,\r\n ProductEnquiryComponent,\r\n MyOrdersComponent,\r\n OrderInvoiceComponent,\r\n MyEnquiriesComponent,\r\n CustomerRegistrationComponent,\r\n PopularPurchaseComponent,\r\n RelatedProductsComponent,\r\n UVideoSafe,\r\n PrivacyPolicyComponent,\r\n ProductInformationComponent,\r\n TermsandConditionsComponent\r\n ],\r\n providers: [ \r\n AppSettings,\r\n { provide: PERFECT_SCROLLBAR_CONFIG, useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG } \r\n ],\r\n bootstrap: [AppComponent],\r\n entryComponents: [\r\n SpinneroverlayComponent\r\n ]\r\n})\r\nexport class AppModule { } \r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule, PreloadAllModules } from '@angular/router';\r\nimport { LocationStrategy, Location, PathLocationStrategy } from '@angular/common';\r\nimport { PagesComponent } from './pages/pages.component';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BlankComponent } from './pages/blank/blank.component';\r\nimport { SearchComponent } from './pages/search/search.component';\r\nimport { NotFoundComponent } from './pages/errors/not-found/not-found.component';\r\n/*Page-Layout components import place*/\r\nimport { PageLayoutComponent } from './page-layout/page-layout.component'\r\nimport { HomeComponent } from './page-layout/home/home.component'\r\nimport { PageHeaderComponent } from './page-layout/page-header/page-header.component'\r\nimport { PageFooterComponent } from './page-layout/page-footer/page-footer.component'\r\nimport { CategoriesComponent } from './page-layout/categories/categories.component'\r\nimport { CustomerLoginComponent } from './page-layout/customer-login/customer-login.component'\r\nimport { AboutUsComponent } from './page-layout/about-us/about-us.component';\r\nimport { ContactUsComponent } from './page-layout/contact-us/contact-us.component';\r\n//import { ProductDetailsComponent } from './page-layout/product-details/product-details.component'\r\nimport { BlogComponent } from './page-layout/blog/blog.component'\r\nimport { CartComponent } from './page-layout/cart/cart.component'\r\nimport { WishlistComponent } from './page-layout/wishlist/wishlist.component'\r\nimport { AddAddressComponent } from './page-layout/add-address/add-address.component'\r\nimport { GoalsComponent } from './page-layout/goals/goals.component'\r\nimport { FarmerProducesComponent } from './page-layout/farmer-produces/farmer-produces.component'\r\nimport { ProductEnquiryComponent } from './page-layout/product-enquiry/product-enquiry.component'\r\nimport { MyOrdersComponent } from './page-layout/my-orders/my-orders.component'\r\nimport { OrderInvoiceComponent } from './page-layout/order-invoice/order-invoice.component'\r\nimport { MyEnquiriesComponent } from './page-layout/my-enquiries/my-enquiries.component'\r\nimport { PrivacyPolicyComponent } from './page-layout/privacy-policy/privacy-policy.component'\r\nimport { ProductInformationComponent } from './page-layout/product-information/product-information.component';\r\nimport { TermsandConditionsComponent } from './page-layout/termsand-conditions/termsand-conditions.component';\r\nimport { CustomerRegistrationComponent } from './page-layout/customer-registration/customer-registration.component';\r\nexport const routes: Routes = [ \r\n { path: '', redirectTo: 'Home', pathMatch: 'full' }, \r\n //{ path:'', redirectTo: 'Products', pathMatch: 'full' },\r\n {\r\n\r\n path: '',\r\n component: PageLayoutComponent,\r\n children: [\r\n { path: 'Home', component: HomeComponent},\r\n { path: 'PageHeader', component: PageHeaderComponent },\r\n { path: 'PageFooter', component: PageFooterComponent },\r\n { path: 'Category/:ProductName', component: CategoriesComponent, data: { breadcrumb: 'Category' } },\r\n { path: 'CustomerLogin', component: CustomerLoginComponent },\r\n { path: 'AboutUs', component: AboutUsComponent },\r\n { path: 'ContactUs', component: ContactUsComponent },\r\n // { path: 'Product/:ProductDeatails', component: ProductDetailsComponent, data: { breadcrumb: 'Category/ProductDeatails' } },\r\n { path: 'Blog', component: BlogComponent },\r\n { path: 'Cart', component: CartComponent },\r\n { path: 'Login', component: CustomerLoginComponent },\r\n { path: 'Wishlist', component: WishlistComponent },\r\n { path: 'Address', component: AddAddressComponent },\r\n { path: 'Goals/:Name', component: GoalsComponent,data: { breadcrumb: 'Goals' }},\r\n { path: 'FarmerProduces/:Name', component: FarmerProducesComponent, data: { breadcrumb: 'Farmer Produces' } },\r\n { path: 'EnquiryProducts/:jame', component: ProductEnquiryComponent },\r\n { path: 'MyOrders', component: MyOrdersComponent },\r\n { path: 'Invoice/:No', component: OrderInvoiceComponent },\r\n { path: 'MyEnquiries', component: MyEnquiriesComponent },\r\n { path: 'CustomerRegistration', component: CustomerRegistrationComponent },\r\n { path: 'PrivacyPolicy', component: PrivacyPolicyComponent }, \r\n { path: 'Product/:ProductDeatails', component: ProductInformationComponent, data: { breadcrumb: 'Category/ProductDeatails' } },\r\n { path: 'TermsandConditions', component: TermsandConditionsComponent },\r\n ]\r\n },\r\n\r\n {\r\n path: '',\r\n component: PagesComponent,\r\n children: [\r\n { path: 'Dashboard', loadChildren: () => import('./pages/dashboard/dashboard.module').then(m => m.DashboardModule), data: { breadcrumb: 'Dashboard' } },\r\n { path: 'dynamic-menu', loadChildren: () => import('./pages/dynamic-menu/dynamic-menu.module').then(m => m.DynamicMenuModule), data: { breadcrumb: 'Dynamic Menu' } },\r\n { path: 'blank', component: BlankComponent, data: { breadcrumb: 'Blank page' } },\r\n { path: 'search', component: SearchComponent, data: { breadcrumb: 'Search' } },\r\n { path: 'Admin', loadChildren: () => import('./pages/admin/admin.module').then(m => m.AdminModule) },\r\n\r\n ]\r\n }, \r\n //{\r\n // path: '', \r\n // component: PagesComponent,\r\n // children:[\r\n // { path: '', loadChildren: () => import('./pages/dashboard/dashboard.module').then(m => m.DashboardModule), data: { breadcrumb: 'Dashboard' } }, \r\n // { path: 'membership', loadChildren: () => import('./pages/membership/membership.module').then(m => m.MembershipModule), data: { breadcrumb: 'Membership' } },\r\n // { path: 'ui', loadChildren: () => import('./pages/ui/ui.module').then(m => m.UiModule), data: { breadcrumb: 'UI' } },\r\n // { path: 'form-elements', loadChildren: () => import('./pages/form-elements/form-elements.module').then(m => m.FormElementsModule), data: { breadcrumb: 'Form Elements' } },\r\n // { path: 'tables', loadChildren: () => import('./pages/tables/tables.module').then(m => m.TablesModule), data: { breadcrumb: 'Tables' } },\r\n // { path: 'tools', loadChildren: () => import('./pages/tools/tools.module').then(m => m.ToolsModule), data: { breadcrumb: 'Tools' } },\r\n // { path: 'calendar', loadChildren: () => import('./pages/calendar/app-calendar.module').then(m => m.AppCalendarModule), data: { breadcrumb: 'Calendar' } },\r\n // { path: 'mailbox', loadChildren: () => import('./pages/mailbox/mailbox.module').then(m => m.MailboxModule), data: { breadcrumb: 'Mailbox' } },\r\n // { path: 'maps', loadChildren: () => import('./pages/maps/maps.module').then(m => m.MapsModule), data: { breadcrumb: 'Maps' } },\r\n // { path: 'charts', loadChildren: () => import('./pages/charts/charts.module').then(m => m.ChartsModule), data: { breadcrumb: 'Charts' } },\r\n // { path: 'dynamic-menu', loadChildren: () => import('./pages/dynamic-menu/dynamic-menu.module').then(m => m.DynamicMenuModule), data: { breadcrumb: 'Dynamic Menu' } }, \r\n // { path: 'profile', loadChildren: () => import('./pages/profile/profile.module').then(m => m.ProfileModule), data: { breadcrumb: 'Profile' } }, \r\n // { path: 'blank', component: BlankComponent, data: { breadcrumb: 'Blank page' } },\r\n // { path: 'search', component: SearchComponent, data: { breadcrumb: 'Search' } }\r\n // ]\r\n //},\r\n { path: 'login', loadChildren: () => import('./pages/login/login.module').then(m => m.LoginModule) },\r\n { path: 'register', loadChildren: () => import('./pages/register/register.module').then(m => m.RegisterModule) },\r\n { path: '**', component: NotFoundComponent }\r\n\r\n]; \r\n\r\n@NgModule({\r\n //imports: [\r\n // RouterModule.forRoot(routes, { useHash: true })\r\n //],\r\n imports: [\r\n RouterModule.forRoot(routes, {\r\n //preloadingStrategy: PreloadAllModules, // <- comment this line for activate lazy load\r\n //relativeLinkResolution: 'legacy',\r\n useHash: false\r\n })\r\n ],\r\n exports: [\r\n RouterModule, BrowserModule\r\n ]\r\n})\r\nexport class AppRoutingModule { }\r\n","export class Settings {\r\n constructor(public name: string,\r\n public title: string,\r\n public theme:{\r\n menu: string,\r\n menuType: string,\r\n showMenu: boolean,\r\n navbarIsFixed: boolean,\r\n footerIsFixed: boolean,\r\n sidebarIsFixed: boolean,\r\n showSideChat: boolean,\r\n sideChatIsHoverable: boolean,\r\n skin:string\r\n }) { }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Settings } from './app.settings.model';\r\n\r\n@Injectable()\r\nexport class AppSettings {\r\n public settings = new Settings(\r\n 'StartNG',\r\n 'Angular Admin Template with Bootstrap 4',\r\n {\r\n menu: 'vertical', //horizontal , vertical\r\n menuType: 'default', //default, compact, mini\r\n showMenu: true,\r\n navbarIsFixed: true,\r\n footerIsFixed: false,\r\n sidebarIsFixed: true,\r\n showSideChat: false,\r\n sideChatIsHoverable: true,\r\n skin:'combined' //light , dark, blue, green, combined, purple, orange, brown, grey, pink \r\n }\r\n )\r\n}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-about-us',\r\n templateUrl: './about-us.component.html',\r\n styleUrls: ['./about-us.component.scss']\r\n})\r\nexport class AboutUsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n

ABOUT  YKmart

\r\n \r\n

\r\n

We YK Laboratories manufacturing of certified organic inputs especially Botanical Virucide, Fungicide water base and\r\n Botanical Insecticide & Sucking pest oil base, with the aid of Medicinal plants and related alkaloids which controls and\r\n suppress the multiplication of Bacterial and Fungal growth.

\r\n

\r\n We have developed the capability to match international quality standards stringent user requirements through\r\n continuous Field trials on my YK Farm Land which we cultivate organically all vegetables and flowers and cereals,\r\n horticulture crops, located in Hyderabad, INDIA. It improves the product quality and batch to batch consistency and\r\n reproducibility according to the climatic conditions.\r\n

\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n

\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core'\r\nimport { GMapModule } from 'primeng/gmap'\r\nimport { FormGroup, FormControl, AbstractControl, FormBuilder, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { GeneralService } from 'src/app/service/general.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CartService } from 'src/app/service/cart.service';\r\nimport { MessageService } from 'primeng/api';\r\nimport { ToastModule } from 'primeng/toast';\r\ndeclare var google: any;\r\n\r\n@Component({\r\n selector: 'app-add-address',\r\n templateUrl: './add-address.component.html',\r\n styleUrls: ['./add-address.component.scss'],\r\n providers: [MessageService]\r\n})\r\nexport class AddAddressComponent implements OnInit {\r\n insertingData: boolean=false;\r\n image: any;\r\n lat: any;\r\n lng: any;\r\n map: any;\r\n options: any;\r\n imagefile: any;\r\n overlays: any[];\r\n Id: any;\r\n dialogVisible: boolean;\r\n\r\n markerTitle: string;\r\n\r\n selectedPosition: any;\r\n\r\n infoWindow: any;\r\n\r\n draggable: boolean;\r\n\r\n HomeURL: any;\r\n logindata: boolean;\r\n LoginDetails: any;\r\n ADDRESS_Parts1: {};\r\n ADDRESS1: any;\r\n Longitude: any;\r\n Latitude: any;\r\n Name: any;\r\n mobile: any;\r\n HNo: any;\r\n Area: any;\r\n Landmark: any;\r\n City: any;\r\n Pincode: any;\r\n State: any;\r\n Section: any;\r\n Name1: any; mobile1: any; HNo1: any; Area1: any; Landmark1: any; City1: any; State1: any; Pincode1: any; Section1: any; \r\n constructor(public cartService: CartService, public router: Router, public http: HttpClient,\r\n public generalService: GeneralService, private toast: MessageService) {\r\n this.LoginDetails = JSON.parse(localStorage.getItem(\"LoginDetails\"));\r\n if (this.LoginDetails != null) {\r\n this.logindata = true;\r\n this.Name = this.LoginDetails.FarmerName\r\n this.mobile = this.LoginDetails.MobileNo\r\n } else {\r\n this.logindata = false;\r\n }\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n this.HomeURL = data.Webservice;\r\n });\r\n\r\n navigator.geolocation.getCurrentPosition(position => { \r\n var lt = position.coords.latitude\r\n var ln = position.coords.longitude\r\n this.lat = (lt)*1\r\n this.lng = (ln)*1\r\n });\r\n\r\n this.options = {\r\n center: { lat: this.lat, lng: this.lng },\r\n zoom: 15\r\n };\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n /*using geolocation for get exact current position by using @ng-web-apis/geolocation Module*/\r\n navigator.geolocation.getCurrentPosition(position => { \r\n var lt = position.coords.latitude\r\n var ln = position.coords.longitude\r\n this.lat = (lt) * 1\r\n this.lng = (ln) * 1\r\n this.initOverlays();\r\n this.options = {\r\n center: { lat: this.lat, lng: this.lng },\r\n zoom: 15\r\n };\r\n this.infoWindow = new google.maps.InfoWindow();\r\n this.getLocation(this.lat, this.lng)\r\n });\r\n \r\n //navigator.geolocation.getCurrentPosition(resp => {})\r\n }\r\n\r\n /*Method for Insert customer Address in DB*/\r\n InsertAdderss(Name, mobile, HNo, Area, Landmark, City, State, Pincode, Section) { \r\n this.insertingData = true;\r\n // this.geoCode(HNo + \",\" + Area + \",\") + Landmark + \",\" + City + \",\" + State + \",\" + Pincode;\r\n if (Name == '' || Name == undefined || Name == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your name.', 'warning')\r\n }\r\n else if (mobile == undefined || mobile == undefined || mobile == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your mobile.', 'warning')\r\n }\r\n else if (HNo == undefined || HNo == '' || HNo == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your hno.', 'warning')\r\n }\r\n else if (Area == undefined || Area == '' || Area == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your area.', 'warning')\r\n }\r\n else if (Landmark == '' || Landmark == undefined || Landmark == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your landmark.', 'warning')\r\n }\r\n else if (City == undefined || City == '' || City == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your city.', 'warning')\r\n }\r\n else if (State == undefined || State == '' || State == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your state.', 'warning')\r\n }\r\n else if (Pincode == undefined || Pincode == '' || Pincode == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your pincode.', 'warning')\r\n }\r\n\r\n else {\r\n let Address = [{\r\n Name: Name,\r\n Mobile: mobile,\r\n UserId: this.LoginDetails.Id,\r\n HNo: HNo,\r\n Area: Area,\r\n Landmark: Landmark,\r\n City: City,\r\n State: State,\r\n Pincode: Pincode,\r\n Class: Section,\r\n AddressType: 'Home',\r\n Latitude: this.lat,\r\n Longitude: this.lng,\r\n Address: this.ADDRESS1\r\n }];\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(Address));\r\n var url = \"/api/Products/Add_Customer_Address\"\r\n // this.http.post(url, formData).pipe(map(res => res)).subscribe((data: any) => {\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data == 'SUCCESS') {\r\n this.generalService.ShowAlert('Success', 'Your delivery address added successfully.', 'success')\r\n this.router.navigate(['Cart'])\r\n // this.navCtrl.pop();\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n InsertAdderss1(Name1, mobile1, HNo1, Area1, Landmark1, City1, State1, Pincode1, Section1) {\r\n debugger\r\n this.insertingData = true;\r\n // this.geoCode(HNo + \",\" + Area + \",\") + Landmark + \",\" + City + \",\" + State + \",\" + Pincode;\r\n if (Name1 == '' || Name1 == undefined || Name1 == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your name.', 'warning')\r\n }\r\n else if (mobile1 == undefined || mobile1 == undefined || mobile1 == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your mobile.', 'warning')\r\n }\r\n else if (HNo1 == undefined || HNo1 == '' || HNo1 == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your hno.', 'warning')\r\n }\r\n else if (Area1 == undefined || Area1 == '' || Area1 == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your area.', 'warning')\r\n }\r\n else if (Landmark1 == '' || Landmark1 == undefined || Landmark1 == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your landmark.', 'warning')\r\n }\r\n else if (City1 == undefined || City1 == '' || City1 == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your city.', 'warning')\r\n }\r\n else if (State1 == undefined || State1 == '' || State1 == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your state.', 'warning')\r\n }\r\n else if (Pincode1 == undefined || Pincode1 == '' || Pincode1 == null) {\r\n this.generalService.ShowAlert('Warning', 'Please enter your pincode.', 'warning')\r\n }\r\n\r\n else {\r\n let Address = [{\r\n FarmerName: this.Name1,\r\n MobileNo: this.mobile1,\r\n Password: this.mobile1,\r\n UserId: this.Id,\r\n // Id: this.Id,\r\n HNo: this.HNo1,\r\n Area: this.Area1,\r\n Landmark: this.Landmark1,\r\n City: this.City1,\r\n State: this.State1,\r\n Pincode: this.Pincode1,\r\n Class: this.Section1,\r\n AddressType: 'Home',\r\n Latitude: this.lat,\r\n Longitude: this.lng,\r\n Address: this.ADDRESS1,\r\n CreatedBy: this.LoginDetails.Id\r\n }];\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(Address));\r\n var url = \"/api/Products/Add_Emp_Customer_Address\"\r\n // this.http.post(url, formData).pipe(map(res => res)).subscribe((data: any) => {\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data == 'SUCCESS') {\r\n this.generalService.ShowAlert('Success', 'Your delivery address added successfully.', 'success')\r\n this.router.navigate(['Cart'])\r\n // this.navCtrl.pop();\r\n }\r\n });\r\n }\r\n }\r\n\r\n \r\n\r\n /**\r\n * initially loading method for bindin current customer position\r\n */\r\n initOverlays() {\r\n debugger\r\n if (!this.overlays || !this.overlays.length) {\r\n this.overlays = [\r\n new google.maps.Marker({ position: { lat: this.lat, lng:this.lng }, title: \"Current\" }),\r\n //new google.maps.Polygon({\r\n // paths: [\r\n // { lat: this.lat, lng: this.lng },\r\n // { lat: this.lat, lng: this.lng },\r\n // { lat: this.lat, lng: this.lng },\r\n // { lat: this.lat, lng: this.lng }\r\n // ], strokeOpacity: 0.5, strokeWeight: 1, fillColor: '#1976D2', fillOpacity: 0.35\r\n //}),\r\n // new google.maps.Circle({ center: { lat: this.lat, lng: this.lng }, fillColor: '#1976D2', fillOpacity: 0.35, strokeWeight: 1, radius: 1500 }),\r\n new google.maps.Polyline({ path: [{ lat: this.lat, lng: this.lng }, { lat: this.lat, lng: this.lng }], geodesic: true, strokeColor: '#FF0000', strokeOpacity: 0.5, strokeWeight: 2 })\r\n ];\r\n }\r\n }\r\n\r\n /**\r\n * handleMapClick Method for getting lat and lng by click on map\r\n * @param event\r\n */\r\n handleMapClick(event) {\r\n debugger\r\n this.dialogVisible = true;\r\n this.selectedPosition = event.latLng;\r\n this.getLocation(this.selectedPosition.lat(), this.selectedPosition.lng())\r\n this.lat = this.selectedPosition.lat()\r\n this.lng = this.selectedPosition.lng()\r\n this.overlays = [\r\n new google.maps.Marker({ position: { lat: this.lat, lng: this.lng }, title: \"Current\" }),\r\n new google.maps.Polygon({\r\n paths: [\r\n { lat: this.lat, lng: this.lng }, { lat: this.lat, lng: this.lng }, { lat: this.lat, lng: this.lng },\r\n { lat: this.lat, lng: this.lng }\r\n ], strokeOpacity: 0.5, strokeWeight: 1, fillColor: '#1976D2', fillOpacity: 0.35\r\n }),\r\n // new google.maps.Circle({ center: { lat: this.lat, lng: this.lng }, fillColor: '#1976D2', fillOpacity: 0.35, strokeWeight: 1, radius: 1500 }),\r\n new google.maps.Polyline({ path: [{ lat: this.lat, lng: this.lng }, { lat: this.lat, lng: this.lng }], geodesic: true, strokeColor: '#FF0000', strokeOpacity: 0.5, strokeWeight: 2 })\r\n ];\r\n }\r\n\r\n /**\r\n * /Method for ovelay click event on Gmap\r\n * @param event\r\n */\r\n handleOverlayClick(event) {\r\n let isMarker = event.overlay.getTitle != undefined;\r\n if (isMarker) {\r\n let title = event.overlay.getTitle();\r\n this.infoWindow.setContent('' + title + '');\r\n this.infoWindow.open(event.map, event.overlay);\r\n event.map.setCenter(event.overlay.getPosition());\r\n\r\n this.toast.add({ severity: 'info', summary: 'Marker Selected', detail: title });\r\n }\r\n else {\r\n this.toast.add({ severity: 'info', summary: 'Shape Selected', detail: '' });\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Gmap Handle Drag End Point @param from gmap\r\n * @param event\r\n */\r\n handleDragEnd(event) {\r\n this.toast.add({ severity: 'info', summary: 'Marker Dragged', detail: event.overlay.getTitle() });\r\n }\r\n\r\n /**\r\n * Add Marker On GMap\r\n */\r\n addMarker() {\r\n this.overlays.push(new google.maps.Marker({ position: { lat: this.selectedPosition.lat(), lng: this.selectedPosition.lng() }, title: this.markerTitle, draggable: this.draggable }));\r\n this.markerTitle = null;\r\n }\r\n\r\n\r\n\r\n /**Get Formated Addreess using this method*\r\n *@param lat\r\n * @param long\r\n */\r\n getLocation(lat, long) {\r\n var geocoder = new google.maps.Geocoder();\r\n this.Latitude = lat; this.Longitude = long;\r\n let latlng = new google.maps.LatLng(lat, long);\r\n\r\n let request = { latLng: latlng };\r\n geocoder.geocode(request, async (results, status) => {\r\n if (status == google.maps.GeocoderStatus.OK) {\r\n let result = results[0];\r\n this.ADDRESS1 = result.formatted_address;\r\n this.Pincode = result.address_components.find(x => x.types == 'postal_code').long_name;\r\n this.State = result.address_components.find(x => x.types[0] == 'administrative_area_level_1').long_name;\r\n this.City = result.address_components.find(x => x.types[0] == 'locality').long_name;\r\n }\r\n })\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
ADD ADDRESS
\r\n
Please Enter The Below Fields
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n","\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n

{{item.BlogName}}

\r\n
{{item.CreatedDate | date:'dd-MMM-yyyy'}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { GeneralService } from '../../service/general.service'\r\nimport { HttpClient, HttpHandler, HttpResponse, HttpRequest } from '@angular/common/http';\r\nimport { BrowserModule, DomSanitizer } from '@angular/platform-browser'\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'app-blog',\r\n templateUrl: './blog.component.html',\r\n styleUrls: ['./blog.component.scss']\r\n})\r\nexport class BlogComponent implements OnInit {\r\n blogDetails: any;\r\n Description: any;\r\n Image: any;\r\n BlogName: any;\r\n public router: Router;\r\n showindividualImage: boolean = true;\r\n Blogdata: any = [];\r\n Products: any;\r\n HomeUrl: any;\r\n\r\n\r\n constructor(public generalService: GeneralService, private sanitizer: DomSanitizer, public http: HttpClient, router: Router, ) {\r\n this.router = router\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n this.HomeUrl = data.Webservice;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.GetBlogDetails()\r\n }\r\n\r\n /*\r\n * Below method is used to get the Blog details from Server with reference of database path\r\n */\r\n GetBlogDetails() {\r\n let arr = [];\r\n arr.push({ UserId: 0, TokenID: null })\r\n var UploadFile = new FormData()\r\n var url = \"/api/Products/GetBlogDetails\"\r\n this.generalService.GetData(url).then(data => {\r\n this.blogDetails = data\r\n console.log(this.blogDetails)\r\n for (var i = 0; i < this.blogDetails.length; i++) {\r\n this.blogDetails[i].Description = decodeURIComponent(this.blogDetails[i].Description);\r\n }\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n\r\n\r\n navigatingToSelectedProduct(data) {\r\n var prodName = \"\"; var prodarr = []\r\n prodarr.push(data)\r\n var str = data.BlogName.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n prodName += \"_\" + str[i];\r\n }\r\n //this.generalService.setProducts(prodarr)\r\n //this.router.navigate(['/Blog/' + data.BlogId]);\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CartService } from 'src/app/service/cart.service';\r\nimport { WishlistService } from 'src/app/service/wishlist.service'\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { GeneralService } from 'src/app/service/general.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { debuglog } from 'util';\r\ndeclare var Razorpay: any;\r\n/*import { NgxSpinnerService } from \"ngx-spinner\";*/\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-cart',\r\n templateUrl: './cart.component.html',\r\n styleUrls: ['./cart.component.scss'],\r\n providers: [MessageService]\r\n})\r\nexport class CartComponent implements OnInit {\r\n totalPrice: any;\r\n OrderDetails: any;\r\n Id: any;\r\n deliveryCharge: any;\r\n offerPrice: any = 0;\r\n GstPrice: any;\r\n offerDetails: any;\r\n offerCode: any;\r\n WishListitemmsforloginusers: any = [];\r\n cartIndex: any;\r\n n: any;\r\n val: number;\r\n arr: any = [];\r\n PaymentType: any;\r\n addressId: any;\r\n currentCartItems: any = [];\r\n customerCartItems: any = [];\r\n loginStatus: boolean;\r\n addressDetails: any;\r\n addressDetails1: any;\r\n LoginDetails: any;\r\n itemSize: any;\r\n ItemId: any;\r\n seletedItemforWishlist: any = [];\r\n wishListItems: any = [];\r\n subTotal: any = 0;\r\n HomeURL: any;\r\n cartItems: any;\r\n Quantity: any;\r\n offersdata: any;\r\n offerId: any;\r\n alert: any;\r\n //getAllAdminOrders: any;\r\n plus: boolean = true;\r\n TransactionStatus: any;\r\n admin: any;\r\n TaxnId:any;\r\n\r\n constructor(public cartService: CartService, public http: HttpClient,\r\n public wishlistService: WishlistService, public toast: MessageService,\r\n public generalService: GeneralService, public router: Router) {\r\n this.LoginDetails = JSON.parse(localStorage.getItem(\"LoginDetails\"));\r\n\r\n this.cartService.getProducts().subscribe(res => {/*this is a service call for getting cart items*/\r\n this.cartItems = res\r\n this.changeQuantity()//method will called for getting subtotal amount initially\r\n })\r\n this.wishlistService.getProducts().subscribe(res => {/*this is a service call for getting wishlist items*/\r\n this.wishListItems = res\r\n })\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {/* this service call is for getting Homeurl*/\r\n this.HomeURL = data.Webservice;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n debugger\r\n if (this.LoginDetails) {\r\n this.loginStatus = true;\r\n this.getCustomerAddress();\r\n this.GetAllOffers();\r\n // this.getAllAdminOrders();\r\n //this.getAllAdminOrders()\r\n }\r\n else {\r\n this.loginStatus = false;\r\n }\r\n\r\n }\r\n\r\n /*\r\n Below procedtoBuy() method will fire when the user click on proced to by button\r\n */\r\n procedtoBuy() {\r\n debugger\r\n if (this.LoginDetails) {\r\n if (this.addressDetails) {\r\n if (!this.addressId) {\r\n this.generalService.ShowAlert('Warning', 'Please select or add address for Delivery.', 'warning');\r\n }\r\n else {\r\n \r\n $('#myModal').modal('show');\r\n \r\n }\r\n } else {\r\n this.generalService.ShowAlert('Warning', 'Please add address for Delivery.', 'warning');\r\n this.router.navigate(['/Address']);\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n /*\r\n Below changeQuantity() method will fire when user change the quantity of the product\r\n */\r\n changeQuantity() {\r\n debugger\r\n this.subTotal = 0\r\n this.totalPrice = 0\r\n this.cartItems.map((a: any) => { /*this is looping for getiing total amount*/\r\n this.subTotal += (a.Price * 1) * (a.Quantity)\r\n })\r\n this.totalPrice = this.subTotal\r\n //if (this.totalPrice < 5000) {\r\n this.deliveryCharge = 0;\r\n // this.totalPrice = this.totalPrice + this.deliveryCharge\r\n //}\r\n //else {\r\n // this.deliveryCharge = 0;\r\n // this.totalPrice = this.totalPrice + this.deliveryCharge\r\n //}\r\n }\r\n\r\n /*Below deleteFromCart() method will fire when user delete the product from the cart*/\r\n deleteFromCart(index) {\r\n this.cartService.removeCartItems(index)\r\n this.changeQuantity()\r\n }\r\n\r\n\r\n /*Below addToWishlist() method will fire when user click on save to wishlist from the cart*/\r\n addToWishlist(data: any, index) {\r\n debugger\r\n this.seletedItemforWishlist = []\r\n this.seletedItemforWishlist.push(data)\r\n this.ItemId = 0;\r\n this.itemSize = \"\";\r\n\r\n if (this.wishListItems.length != 0 && this.wishListItems != \"\" && this.wishListItems != undefined && this.wishListItems != null) {\r\n this.wishListItems.map((a: any) => {\r\n if (a.Productid == this.seletedItemforWishlist[0].Productid) {//checking if the product is existing in the cartlist with same id\r\n if (a.Pack == this.seletedItemforWishlist[0].Pack) {//checking if the product is existing in the cartlist with same pack\r\n this.ItemId = a.Productid\r\n this.itemSize = a.Pack\r\n }\r\n }\r\n })\r\n\r\n if (this.itemSize == this.seletedItemforWishlist[0].Pack) { //if product with same size then we show toast msg like below\r\n this.toast.add({ severity: 'warn', summary: 'Warning', life: 1000, detail: 'Product already exist in wishlist' });\r\n }\r\n else {\r\n this.wishlistService.setProducts(this.seletedItemforWishlist[0])\r\n this.insertWishListItems(this.seletedItemforWishlist[0])\r\n this.deleteCartfromTable(index, this.seletedItemforWishlist[0].CartId)/*after adding to wishlist remove from the cart*/\r\n this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Added to wishlist successfully' });\r\n }\r\n }\r\n else {\r\n this.wishlistService.setProducts(this.seletedItemforWishlist[0])\r\n this.insertWishListItems(this.seletedItemforWishlist[0])\r\n this.deleteCartfromTable(index, this.seletedItemforWishlist[0].CartId)/*after adding to wishlist remove from the cart*/\r\n this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Added to wishlist successfully' });\r\n }\r\n this.seletedItemforWishlist = []\r\n //this.wishlistService.setProducts(this.seletedItemforWishlist)\r\n //this.deleteFromCart(index)/*after adding to wishlist remove from the cart*/\r\n //this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Added to wishlist successfully' });\r\n }\r\n\r\n\r\n /*\r\n *Get Customer Delivery Address \r\n */\r\n getCustomerAddress() {\r\n debugger\r\n let Address = [{\r\n UserId: this.LoginDetails.Id\r\n }];\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(Address));\r\n var url = \"/api/Products/Get_Customer_Address_Based_On_Id\"\r\n \r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n this.addressDetails = data;\r\n this.plus = false\r\n }\r\n });\r\n }\r\n sendsmsToAdmin() {\r\n debugger\r\n this.addressDetails1 = this.addressDetails\r\n\r\n var AdMobile = '9866041417'\r\n var MessageText = \"A new order has been placed by the customer\" +':'+ this.LoginDetails.FarmerName + ':' + this.LoginDetails.MobileNo + ':'+ this.addressDetails1[0].Area + \".\" + \"Ykmart\";\r\n var UploadFile = new FormData();\r\n var url = \"api/Products/Customer_new_orderPlacement\"\r\n debugger\r\n UploadFile.append(\"Name\", this.LoginDetails.FarmerName);\r\n UploadFile.append(\"Mobile\", this.LoginDetails.MobileNo);\r\n UploadFile.append(\"ID\", this.addressDetails1[0].Area);\r\n UploadFile.append(\"AdMobile\", AdMobile);\r\n UploadFile.append(\"Text\", MessageText);\r\n\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n debugger;\r\n })\r\n }\r\n\r\n sendsmsToAdmin1() {\r\n debugger\r\n this.addressDetails1 = this.addressDetails\r\n\r\n var AdMobile = '8008336307'\r\n var MessageText = \"A new order has been placed by the customer\" + ':' + this.LoginDetails.FarmerName + ':' + this.LoginDetails.MobileNo + ':' + this.addressDetails1[0].Area + \".\" + \"Ykmart\";\r\n var UploadFile = new FormData();\r\n var url = \"api/Products/Customer_new_orderPlacement\"\r\n debugger\r\n UploadFile.append(\"Name\", this.LoginDetails.FarmerName);\r\n UploadFile.append(\"Mobile\", this.LoginDetails.MobileNo);\r\n UploadFile.append(\"ID\", this.addressDetails1[0].Area);\r\n UploadFile.append(\"AdMobile\", AdMobile);\r\n UploadFile.append(\"Text\", MessageText);\r\n\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n debugger;\r\n })\r\n }\r\n\r\n \r\n sendsms1() {\r\n debugger\r\n this.addressDetails1 = []\r\n this.addressDetails1 = this.addressDetails\r\n this.admin = '8008336307'\r\n //this.admin = '8008336307/9866041417'\r\n this.addressDetails1 = this.arr[0].Price\r\n\r\n var url = 'api/Products/Send_sms_custuomer_orderplaced'; \r\n\r\n let formdata = new FormData();\r\n formdata.append(\"details\", this.addressDetails1)\r\n formdata.append(\"order\", this.admin)\r\n formdata.append(\"mobile\", this.LoginDetails.MobileNo)\r\n\r\n this.generalService.PostData(url, formdata).then((data: any) => {\r\n })\r\n }\r\n sendsms2() {\r\n debugger\r\n this.addressDetails1 = []\r\n this.addressDetails1 = this.addressDetails\r\n this.admin = '8008336307'\r\n //this.admin = '9866041417/8008336307'\r\n this.addressDetails1 = this.arr[0].Price\r\n \r\n var url = 'api/Products/Send_sms_custuomer_orderplaced2';\r\n\r\n let formdata = new FormData();\r\n formdata.append(\"details\", this.addressDetails1)\r\n formdata.append(\"order\", this.admin)\r\n formdata.append(\"mobile\", this.LoginDetails.MobileNo)\r\n\r\n this.generalService.PostData(url, formdata).then((data: any) => {\r\n this.sendsms2();\r\n })\r\n }\r\n sendMailToAdmin(val) {\r\n debugger\r\n\r\n this.addressDetails1 = []\r\n this.addressDetails1 = this.addressDetails\r\n let arr = [];\r\n arr.push({\r\n OrderID: this.addressDetails1[0].OrderID,\r\n FarmerName: this.addressDetails1[0].FarmerName,\r\n MobileNo: this.addressDetails1[0].MobileNo,\r\n Area: this.addressDetails1[0].Area,\r\n City: this.addressDetails1[0].City,\r\n Email: this.addressDetails1[0].Email,\r\n //ProductName: this.orderDetails[0].ProductName,\r\n\r\n })\r\n var UploadFile = new FormData();\r\n var url = \"api/Products/Assginoredr_aftersend_mailToAdmin\"\r\n\r\n UploadFile.append(\"Xml\", JSON.stringify(arr));\r\n UploadFile.append(\"flag\", val);\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n debugger;\r\n })\r\n }\r\n\r\n deleteaddress(index, Id) {\r\n this.cartIndex = 0;\r\n this.cartIndex = index;\r\n let formData: FormData = new FormData();\r\n formData.append('Id', Id);\r\n var url = \"api/Products/DeleteAddress\"\r\n // this.http.post(url, formData).pipe(map(res => res)).subscribe((data: any) => {\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n\r\n this.getCustomerAddress();\r\n }\r\n });\r\n }\r\n /**\r\n * below place order method will called when the custor click to place order\r\n */\r\n\r\n /*rediret payment gateway*/\r\n RedirectToPaymentGateway(CartProducts, n) {\r\n debugger\r\n // alert('hello')\r\n var UploadFile = new FormData();\r\n this.subTotal = this.totalPrice + this.deliveryCharge;\r\n // this.subTotal = this.subTotal + this.deliveryCharge\r\n UploadFile.append('Name', this.LoginDetails.FarmerName);\r\n UploadFile.append('Mobile', this.LoginDetails.MobileNo);\r\n UploadFile.append('Email', this.LoginDetails.Email);\r\n UploadFile.append('Amount', this.subTotal);\r\n UploadFile.append('Productinfo', \"Product\");\r\n UploadFile.append('TransactionId', n);\r\n UploadFile.append('BookingDetails', JSON.stringify(CartProducts));\r\n //alert('Start')\r\n var url = \"/api/Products/PaymentGateWayWEB\";\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n debugger\r\n\r\n \r\n window.location.href = data.toString();\r\n \r\n\r\n\r\n\r\n this.cancel()\r\n // alert ('hello')\r\n // this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Your order placed successfully' });\r\n\r\n this.cartService.removeAllcart()\r\n this.val = 1\r\n \r\n this.router.navigate['/Home'];\r\n debugger\r\n \r\n \r\n\r\n\r\n }, err => {\r\n this.router.navigate['/Cart'];\r\n });\r\n var arr = [];\r\n arr.push({\r\n TokenID: this.LoginDetails.Token,\r\n UserId: this.LoginDetails.Id\r\n })\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(arr));\r\n var url = \"/api/Products/Get_All_Orders\"\r\n this.generalService.PostData(url, formData).then((data1: any) => {\r\n debugger\r\n\r\n if (data1 != \"\") {\r\n debugger\r\n this.OrderDetails = data1;\r\n this.plus = false;\r\n if (this.OrderDetails[0].TransactionStatus == 'Success') {\r\n this.sendsmsToAdmin();\r\n this.sendsmsToAdmin1();\r\n this.sendsms1();\r\n this.sendsms2();\r\n }\r\n }\r\n });\r\n }\r\n /*end*/\r\n\r\n\r\n PlaceOrder() {\r\n debugger\r\n\r\n this.arr = [];\r\n this.n = \"\"\r\n var d = new Date();\r\n this.n = d.getTime();\r\n\r\n //this.offerPrice = !this.offerPrice ? 0 : !this.offerPrice;\r\n for (var i = 0; i < this.cartItems.length; i++) {\r\n this.arr.push({\r\n CustomerID: this.addressDetails[0].UserId,\r\n AddressId: this.addressId,\r\n PaymentType: this.PaymentType,\r\n ProductId: this.cartItems[i].Productid,\r\n Quantity: this.cartItems[i].Quantity,\r\n Size: this.cartItems[i].Pack,\r\n Price: this.cartItems[i].Price,\r\n TransactionID: this.n,\r\n GstPrice: this.cartItems[i].GstPrice, OfferPrice: this.offerPrice,\r\n DeliveryCharge: this.deliveryCharge,\r\n TotalPrice: this.cartItems[i].Price * this.cartItems[i].Quantity,\r\n // TotalPrice: this.totalPrice,\r\n CreatedBy: this.LoginDetails.Id,\r\n Device:'Web'\r\n })\r\n }\r\n this.RedirectToPaymentGateway(this.arr, this.n)\r\n let formData: FormData = new FormData();\r\n \r\n formData.append('Param', JSON.stringify(this.arr));\r\n var url = \"/api/Products/Insert_Customer_Orders\"\r\n // this.http.post(url, formData).pipe(map(res => res)).subscribe((data: any) => {\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n\r\n //if (this.PaymentType != \"CashOnDelivery\") {\r\n // this.RedirectToPaymentGateway(this.arr, this.n)\r\n\r\n //}\r\n\r\n\r\n if (this.PaymentType = \"CashOnDelivery\") {\r\n this.cancel()\r\n this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Your order placed successfully' });\r\n // this.sendsms1();\r\n // this.sendsmsToAdmin();\r\n \r\n // this.sendsms2();\r\n this.cartService.removeAllcart();\r\n this.val = 1\r\n\r\n\r\n this.sendMailToAdmin(this.val)\r\n this.router.navigate['/Home'];\r\n }\r\n //else {\r\n // this.RedirectToPaymentGateway(this.arr, this.n)\r\n\r\n //}\r\n\r\n }\r\n \r\n });\r\n }\r\n\r\n cancel() {\r\n $('#myModal').modal('hide');\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n /*\r\n Below method will fire when the user selected address \r\n */\r\n getSelectedAddress(addressId: any) {\r\n //this.addressId = addressId;\r\n //console.log(addressId)\r\n }\r\n\r\n /*\r\n Below method is used to call the delivery mode whether it is online or offline\r\n */\r\n getPaymentType(pType) {\r\n this.PaymentType = pType\r\n }\r\n\r\n\r\n\r\n getAllAdminOrders() {\r\n debugger\r\n var arr = [];\r\n arr.push({\r\n TokenID: this.LoginDetails.Token,\r\n UserId: this.LoginDetails.Id\r\n })\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(arr));\r\n var url = \"/api/Products/Get_All_Orders\"\r\n this.generalService.PostData(url, formData).then((data1: any) => {\r\n if (data1 != \"\") {\r\n debugger\r\n this.OrderDetails = data1;\r\n this.plus = false\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n \r\n\r\n /*below method is called when the user delete product when he is login*/\r\n deleteCartfromTable(index, CartId) {\r\n debugger\r\n console.log(CartId);\r\n this.cartIndex = 0;\r\n this.cartIndex = index;\r\n let formData: FormData = new FormData();\r\n formData.append('Cartid', CartId);\r\n var url = \"/api/Products/DeleteCartItems\"\r\n // this.http.post(url, formData).pipe(map(res => res)).subscribe((data: any) => {\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n this.deleteFromCart(this.cartIndex)\r\n this.getCustomerAddress();\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n /* * Navigating to selected Products page regarding category\r\n */\r\n navigatingToProduct(data) {\r\n var prodName = \"\";\r\n var str = data.split(\" \")//spliting the product name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n prodName += \"_\" + str[i];\r\n }\r\n this.router.navigate(['/Product/' + prodName]); ///sandhya\r\n }\r\n\r\n /*\r\n Below method is for Inserting customer WishList items\r\n */\r\n insertWishListItems(wishlist) {\r\n debugger\r\n this.WishListitemmsforloginusers = []\r\n //this.WishListitemmsforloginusers.push(wishlist)\r\n this.WishListitemmsforloginusers.push({\r\n UserId: String(this.LoginDetails.Id),\r\n Productid: wishlist.Productid,\r\n Quantity: wishlist.Quantity,\r\n Price: wishlist.Price,\r\n Pack: wishlist.Pack\r\n })\r\n var url = \"api/Products/Insert_WishList_Items\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"Cartxml\", JSON.stringify(this.WishListitemmsforloginusers));\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n if (data != null) {\r\n\r\n }\r\n })\r\n }\r\n\r\n ////sandhya for offer calculation start\r\n /*Below method is called when the user check for the offer is valid or not*/\r\n checkOfferisValidorNot(code) {\r\n //let formData: FormData = new FormData();\r\n //formData.append('Param', code);\r\n //var url = \"/api/Products/Get_Offers_Details_Basedon_OfferCode\"\r\n //// this.http.post(url, formData).pipe(map(res => res)).subscribe((data: any) => {\r\n //this.generalService.PostData(url, formData).then((data: any) => {\r\n // if (data != \"\") {\r\n // this.offerDetails = data;\r\n // this.offerPrice = (this.subTotal * this.offerDetails[0].Discount) / 100\r\n // this.totalPrice = (this.subTotal - this.offerPrice)\r\n // if (this.totalPrice < 5000) {\r\n // this.deliveryCharge = 200;\r\n // this.totalPrice = this.totalPrice + this.deliveryCharge\r\n // }\r\n // else {\r\n // this.deliveryCharge = 0;\r\n // this.totalPrice = this.totalPrice + this.deliveryCharge\r\n // }\r\n // }\r\n // else {\r\n // this.offerDetails = null;\r\n // this.offerPrice = 0;\r\n // this.totalPrice = this.subTotal\r\n // if (this.totalPrice < 5000) {\r\n // this.deliveryCharge = 200;\r\n // this.totalPrice = this.totalPrice + this.deliveryCharge\r\n // }\r\n // else {\r\n // this.deliveryCharge = 0;\r\n // this.totalPrice = this.totalPrice + this.deliveryCharge\r\n // }\r\n // }\r\n //});\r\n this.offerDetails = this.offersdata.filter(a => a.PromoCode == code);\r\n this.alert = \"\";\r\n if (this.offerDetails.length > 0) {\r\n this.offerDetails = this.offerDetails[0];\r\n if (this.offerDetails.MaxAmount <= this.subTotal) {\r\n this.offerPrice = this.offerDetails.ApplicableAmount;\r\n this.offerDetails.subTotaloff = this.subTotal - this.offerPrice;\r\n this.offerDetails.totalPriceoff = this.totalPrice - this.offerPrice;\r\n } else {\r\n let amount = this.offerDetails.MaxAmount - this.subTotal;\r\n this.alert = \"Shop for \" + amount + \" more to apply offer\";\r\n }\r\n } else {\r\n this.alert = \"Not Available\";\r\n }\r\n }\r\n\r\n /*getting offers*/\r\n GetAllOffers() {\r\n var url = \"api/Products/GetAllOffers\"\r\n this.generalService.GetData(url).then(data => {\r\n this.offersdata = data;\r\n this.offersdata = this.offersdata.filter(a => a.OfferType != \"EXPIRED\" && a.Status);\r\n console.log(this.offersdata)\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n /*end code*/\r\n changeData() {\r\n this.offerPrice = 0;\r\n this.offerDetails = \"\";\r\n }\r\n ////sandhya for offer calculation end\r\n\r\n RazorPayPayment() {\r\n debugger\r\n var d = new Date(),\r\n n = d.getTime();\r\n this.TaxnId = n;\r\n var options: any = {\r\n description: 'YKMart ',\r\n image: 'https://ykmart.in/assets/img/IMG-20220210-WA0049a.jpg',\r\n currency: 'INR',\r\n //key: 'rzp_test_PKZRt4NGyfabME',// Test key\r\n // key: 'rzp_live_LnpQ4EQWubWJOo',// Ggari key\r\n key: 'rzp_live_VcpmG5M8UJUp01',// Ykmart\r\n payment_id: n,\r\n payment_capture: '1',\r\n amount: this.totalPrice*100,\r\n //callback_url:\"https://ykmart.in//\",\r\n name: \"YKMart \",\r\n prefill: {\r\n // email: this.LoginDetails.Email,\r\n contact: +91 + \"\" + this.LoginDetails.MobileNo,\r\n name: this.LoginDetails.FarmerName\r\n },\r\n theme: {\r\n color: '#008cb3'\r\n },\r\n handler: this.razorPayHandler.bind(this) // Define handler function\r\n }\r\n debugger\r\n var rzp1 = new Razorpay(options);\r\n //options['handler'] = this.razorPaySuccessHandler.bind(this);\r\n rzp1.open();\r\n //rzp1.on();\r\n }\r\n\r\n// Define handler function to capture payment response\r\n razorPayHandler(response: any){\r\n console.log(response);\r\n debugger\r\n if(response.razorpay_payment_id){\r\n localStorage.setItem(\"PaymentId\",response.razorpay_payment_id);\r\n console.log('Payment Succesfull:',response.razorpay_payment_id);\r\n this.InsertUSer();\r\n }else{\r\n console.log('payment failed or cancelled')\r\n }\r\n\r\n }\r\n\r\n\r\nInsertUSer(){\r\n debugger\r\n this.arr = [];\r\n this.n = \"\"\r\n var d = new Date();\r\n this.n = d.getTime();\r\n \r\n for (var i = 0; i < this.cartItems.length; i++) {\r\n this.arr.push({\r\n CustomerID: this.addressDetails[0].UserId,\r\n AddressId: this.addressId,\r\n PaymentType: this.PaymentType,\r\n ProductId: this.cartItems[i].Productid,\r\n Quantity: this.cartItems[i].Quantity,\r\n Size: this.cartItems[i].Pack,\r\n Price: this.cartItems[i].Price,\r\n TransactionID: this.n,\r\n GstPrice: this.cartItems[i].GstPrice, OfferPrice: this.offerPrice,\r\n DeliveryCharge: this.deliveryCharge,\r\n TotalPrice: this.cartItems[i].Price * this.cartItems[i].Quantity,\r\n // TotalPrice: this.totalPrice,\r\n CreatedBy: this.LoginDetails.Id,\r\n Device:'Web' , TransactionStatus:'Success'\r\n })\r\n }\r\n \r\n \r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(this.arr));\r\n var url = \"/api/Products/Insert_Customer_Orders\"\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n debugger\r\n if (data != \"\") {\r\n if (data == \"SUCCESS\") {\r\n this.sendsms1();\r\n this.sendsms2();\r\n this.sendsmsToAdmin();\r\n this.sendsmsToAdmin1();\r\n this.generalService.ShowAlert('Success','Your Order Placed Succesfully','success')\r\n this.router.navigate(['/MyOrders']);\r\n }\r\n else {\r\n $('#myModal').modal('hide');\r\n this.sendsms1();\r\n this.sendsmsToAdmin();\r\n this.sendsmsToAdmin1();\r\n this.generalService.ShowAlert('SUCCESS','Your Order Placed Succesfully','success')\r\n this.router.navigate(['/MyOrders']);\r\n }\r\n }\r\n });\r\n\r\n}\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Shopping Cart
\r\n\r\n
\r\n
\r\n
Price
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{items.productname}}-{{items.CategoryName}}-{{items.Pack}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
Size : {{items.Pack}}
\r\n
\r\n Qty\r\n \r\n   \r\n \r\n \r\n \r\n Move to wishlist\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
₹{{items.Price*items.Quantity}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
Payment Details
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Subtotal
: â‚¹{{subTotal}}.00
\r\n
\r\n
\r\n Delivery Charge
\r\n : â‚¹{{deliveryCharge}}.00\r\n
\r\n
\r\n\r\n
\r\n Total price
\r\n : â‚¹{{totalPrice}}.00\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Subtotal₹{{offerDetails.subTotaloff}}\r\n
\r\n
\r\n Offer price:₹{{offerPrice}}\r\n
\r\n
\r\n Delivery Charge:₹{{deliveryCharge}}\r\n
\r\n
\r\n Total price:₹{{offerDetails.totalPriceoff}}\r\n
\r\n
\r\n
\r\n Offer Code: \r\n   Check\r\n
{{alert}}
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n My Address {{i+1}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n {{item.Area}}, {{item.HNo}}, {{item.Landmark}}, {{item.City}}, {{item.State}}, {{item.Pincode}}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n Address {{i+1}}\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n {{item.Area}}, {{item.HNo}}, {{item.Landmark}}, {{item.City}}, {{item.State}}, {{item.Pincode}}\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Select Delivery mode

\r\n\r\n\r\n \r\n
\r\n
\r\n \r\n    Online payment\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n","\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Categories
\r\n \r\n
\r\n
\r\n {{item.CategoryName | lowercase | titlecase}}\r\n
\r\n
\r\n
\r\n
\r\n
Categories
\r\n
\r\n \r\n
    \r\n
  • \r\n \r\n {{item.CategoryName | lowercase | titlecase}}\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n

\r\n
\r\n
Best Seller
\r\n\r\n
\r\n \"...\"\r\n \r\n \r\n
\r\n Vaayu\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ₹ 500.00\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
New
\r\n
\r\n \r\n \r\n \r\n
\r\n \"...\"\r\n
\r\n {{item.productname}}\r\n

Yklaboratories

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ₹ {{item.Price1}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Best Seller
\r\n
\r\n \"...\"\r\n \r\n \r\n
\r\n Vaayu\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ₹ 500.00\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
New
\r\n
\r\n \r\n \r\n \r\n
\r\n \"...\"\r\n
\r\n {{item.productname}}
\r\n

Yklaboratories

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ₹ {{item.Price1}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { GeneralService } from '../../service/general.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormControl, AbstractControl, FormBuilder, Validators } from '@angular/forms';\r\n@Component({\r\n selector: 'app-categories',\r\n templateUrl: './categories.component.html',\r\n styleUrls: ['./categories.component.scss']\r\n})\r\nexport class CategoriesComponent implements OnInit {\r\n CategoryName: any;\r\n HomeURL: any;\r\n CategoryProducts: any;\r\n selectedCategory=[];\r\n Categories: any;\r\n CategoryData: any;\r\n categoryId: any;\r\n displayCards: boolean;\r\n CategoryId: any;\r\n public router: Router;\r\n constructor(public generalService: GeneralService, public http: HttpClient,\r\n router: Router, public activeroute: ActivatedRoute) {\r\n /*below categry name is invoked from the above url from the browser in that '-' is replaced with \" \" and trim for whaite spaces*/\r\n this.CategoryName = this.activeroute.snapshot.paramMap.get('ProductName').replace(/\\_/g, \" \").trim(); \r\n this.router = router\r\n /*By using below service we can get the category id from page header*/\r\n this.generalService.getCategoryid().subscribe(res => { \r\n if (res.length == 0) {//if category id is null\r\n this.GetCategoryforfiltercatidWhilecopyURL() \r\n }\r\n else {//it will execute when we select header categories\r\n this.categoryId = res[0].CategoryId\r\n this.CategoryName=res[0].CategoryName\r\n this.getCategoryBasedonCategoryID()\r\n }\r\n \r\n })\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n this.HomeURL = data.Webservice;\r\n });\r\n }\r\n ngOnInit(): void\r\n {\r\n localStorage.setItem('Goal', '');///sandhya\r\n this.GetCategoryforsideBar()\r\n }\r\n\r\n\r\n test() {\r\n debugger\r\n this.displayCards = true;\r\n }\r\n \r\n /*\r\n* Below method is used to get the Category product details from url\r\n categoryname while category id is null this method i invoked\r\n*/\r\n GetCategoryforfiltercatidWhilecopyURL() {\r\n let arr = [];\r\n arr.push({ UserId: 0, TokenID: null })\r\n var UploadFile = new FormData()\r\n UploadFile.append(\"Param\", JSON.stringify(arr))\r\n var url = \"/api/Products/GetProductCategories\"\r\n this.generalService.PostData(url, UploadFile).then(data => { \r\n this.CategoryData = data\r\n var catData = this.CategoryData.filter(A => A.CategoryName === this.CategoryName)\r\n this.categoryId = catData[0].CategoryId\r\n this.getCategoryBasedonCategoryID()\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n\r\n /*\r\n* Below method is used to get the Category list for left side menu \r\n*/\r\n GetCategoryforsideBar() {\r\n let arr = [];\r\n arr.push({ UserId: 0, TokenID: null })\r\n var UploadFile = new FormData()\r\n UploadFile.append(\"Param\", JSON.stringify(arr))\r\n var url = \"/api/Products/GetProductCategories\"\r\n this.generalService.PostData(url, UploadFile).then(data => { \r\n this.Categories = data \r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n /*\r\n* Below method is used to get the Categories based on category Id\r\n*/\r\n getCategoryBasedonCategoryID() {\r\n debugger\r\n let arr = [];\r\n arr.push({ UserId: 0, TokenID: null, CategoryId: this.categoryId })\r\n var UploadFile = new FormData()\r\n UploadFile.append(\"Param\", JSON.stringify(arr))\r\n var url = \"/api/Products/GetAll_CategorywiseProductsBasedOnCategoryID\"\r\n this.generalService.PostData(url, UploadFile).then(data => { \r\n this.CategoryProducts = data\r\n \r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n /**\r\n * Below method is call when customer clicks on side bar categories\r\n */\r\n onclickmethodforLeftsideCategories(categoryId,name) {\r\n this.categoryId = categoryId\r\n this.CategoryName=name\r\n this.getCategoryBasedonCategoryID()\r\n // this.GetCategoryforsideBar()\r\n }\r\n\r\n /**\r\n * Navigating to selected Products page regarding category\r\n */\r\n navigatingToProduct(data) {\r\n debugger\r\n var prodName = \"\";var prodarr=[]\r\n prodarr = this.CategoryProducts.filter(A => A.productname == data.productname)//Filtering Categories data based on selected chemical name for getting category id \r\n var str = data.productname.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n prodName += \"_\" + str[i];\r\n }\r\n this.generalService.setProducts(prodarr);\r\n this.router.navigate(['/Product/' + prodName]);\r\n }\r\n\r\n /*navigate To best Seller*/\r\n navigateTobestSeller() {\r\n\r\n this.router.navigate(['/Product/_VAAYU'])\r\n .then(() => {\r\n window.location.reload();\r\n });\r\n\r\n //this.router.navigate(['/Product/_VAAYU'])\r\n //location.reload();\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, AbstractControl, FormBuilder, Validators } from '@angular/forms';\r\nimport Swal from 'sweetalert2';\r\nimport { GeneralService } from '../../service/general.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'app-contact-us',\r\n templateUrl: './contact-us.component.html',\r\n styleUrls: ['./contact-us.component.scss']\r\n})\r\nexport class ContactUsComponent implements OnInit {\r\n EnquiryAry: any = [];\r\n formGroup: any;\r\n admin: any;\r\n TemplateId: any;\r\n MessageText: any;\r\n //ApiURL: any;\r\n ContactUsForm: FormGroup;\r\n spinner: boolean = false;\r\n constructor(public generalService: GeneralService, public router: Router, public fb: FormBuilder, public http: HttpClient) {\r\n \r\n debugger\r\n \r\n\r\n }\r\n\r\n ngOnInit() {\r\n debugger\r\n\r\n this.ContactUsForm = this.fb.group({\r\n Name: ['', Validators.required],\r\n \r\n Mobile: ['', [Validators.required, Validators.pattern(\"^((\\\\+91-?)|0)?[0-9]{10}$\")]],\r\n Email: ['', Validators.compose([Validators.required, Validators.email])],\r\n Message: ['', Validators.required]\r\n });\r\n }\r\n \r\n // When a consumer submits an inquiry, it is forwarded to the administrator( EnquiryMailToAdmin)\r\n onSubmit(form: any) {\r\n debugger;\r\n //this.sendsms();\r\n this.EnquiryAry = []; this.EnquiryAry.push({ Name: form.Name, Mobile: form.Mobile, Email: form.Email, Message: form.Message })\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"Ticket1\", JSON.stringify(this.EnquiryAry));\r\n var url = \"api/Products/EnquiryMailToAdmin\"\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n\r\n debugger;\r\n this.ContactUsForm.reset();\r\n Swal.fire(\r\n 'SUCCESS',\r\n 'Your Enquiry has been submitted successfully. Our Team will contact you soon.',\r\n 'success'\r\n \r\n )\r\n this.sendsms();\r\n });\r\n\r\n }\r\n\r\n //onSubmit() {\r\n // debugger;\r\n \r\n // var FromMail = 'info@gagri.net';\r\n // var FromName='jagan'\r\n // var tomail = 'kolasrinivas114@gmail.com';\r\n // var toName='bhanu'\r\n // var subject = 'testing';\r\n // var ContentType = 'this text';\r\n // //var mailjson = '';\r\n // var HTML_Content = \"

This is a test email sent with the SendLayer API!

\";\r\n // var PlainContent = 'This is the plain text email.';\r\n // var auth = '64927AD7-773BB6E3-663CC339-AF67D435';\r\n \r\n // let mailjson= {\r\n \r\n\r\n // \"From\": {\r\n // \"name\": FromName,\r\n // \"email\": FromMail\r\n // },\r\n // \"To\": [\r\n // {\r\n // \"name\": toName,\r\n // \"email\": tomail\r\n // }\r\n // ],\r\n // \"Subject\": subject,\r\n // \"ContentType\": ContentType,\r\n // \"HTMLContent\": HTML_Content,\r\n // \"PlainContent\": PlainContent,\r\n // \"auth\": auth,\r\n // \"Tags\": [\r\n // \"newsletter\",\r\n // \"daily\"\r\n // ],\r\n // \"Headers\": {\r\n // \"X-Mailer\": \"Test mailer\",\r\n // \"X-Test\": \"test header\"\r\n\r\n // }\r\n // }\r\n\r\n\r\n\r\n\r\n\r\n // this.http.post('https://console.sendlayer.com/api/v1/email', mailjson\r\n // ).subscribe(data => {\r\n // //var url = 'https://console.sendlayer.com/api/v1/email' ;\r\n // // var url = '\\\"https://sendlayer.com\\\"' + mailjson;\r\n // //this.http.post(url, mailjson).then(obj => {\r\n // // this.generalService.PostData(url,mailjson).then((data: any) => {\r\n // //UploadFile.append(\"userdata\", JSON.stringify(arr));\r\n // //this.http.post(url, UploadFile).subscribe((data: any) => {\r\n \r\n // debugger;\r\n // this.ContactUsForm.reset();\r\n // Swal.fire(\r\n // 'SUCCESS',\r\n // 'Your Enquiry has been submitted successfully. Our Team will contact you soon.',\r\n // 'success'\r\n\r\n // )\r\n // this.sendsms();\r\n // });\r\n\r\n //}\r\n sendsms() {\r\n debugger\r\n this.admin = 9866041417;\r\n this.TemplateId = 1207164812642544439;\r\n this.MessageText = \"Thank you for your enquiry, we will contact you soon Company mobile number \" + this.admin + \" Ykmart \";\r\n var url = 'api/Products/raisenquiry_sendsms_customer';\r\n\r\n let formdata = new FormData();\r\n formdata.append(\"admin\", this.admin)\r\n formdata.append(\"Mobile\", this.EnquiryAry[0].Mobile) \r\n formdata.append(\"SMS\", this.MessageText)\r\n formdata.append(\"TemplateId\", this.TemplateId)\r\n this.generalService.PostData(url, formdata).then((data: any) => {\r\n })\r\n }\r\n\r\n \r\n ngAfterViewInit() {\r\n document.getElementById('preloader').classList.add('hide');\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n

Contact Form

\r\n
\r\n
\r\n \r\n \r\n
\r\n Field is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Field is required\r\n
\r\n
\r\n Incorrect email format.\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Field is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Field is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

Reach Us

\r\n
    \r\n \r\n\r\n SY.NO. 255, PLOT NO.3, EAST PART, KUNTLOOR (V), HAYATHNAGAR, R.R. DIST. TELANGANA - 501505. INDIA.\r\n\r\n
\r\n
\r\n info@ykmart.in\r\n
\r\n
\r\n \r\n 970 512 9639 (Or)\r\n 949 141 81819\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { GeneralService } from '../../service/general.service';\r\nimport { Component, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';import { FormGroup, FormControl, AbstractControl, FormBuilder, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport Swal from 'sweetalert2';\r\nimport { window } from 'rxjs/operators';\r\nimport { EmailValidators } from 'ngx-validators';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { CartService } from 'src/app/service/cart.service';\r\nimport { WishlistService } from 'src/app/service/wishlist.service'\r\ndeclare var $;\r\nimport { EncryptionService } from '../../service/encryption.service'\r\n\r\n\r\n@Component({\r\n selector: 'app-customer-login',\r\n templateUrl: './customer-login.component.html',\r\n styleUrls: ['./customer-login.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class CustomerLoginComponent {\r\n customerWishlistItems: any=[];\r\n CartItems: any=[];\r\n itemSize: string;\r\n ItemId: number;\r\n public router: Router;\r\n public form: FormGroup;\r\n public email: AbstractControl;\r\n public password: AbstractControl;\r\n logindata: any;\r\n passwordshow: boolean = true;\r\n ResetForm: boolean;\r\n Loginform: boolean;\r\n MobileNo: string;\r\n Mobile: any;\r\n OTP: string;\r\n Pwd: string;\r\n Confirmpassword: string;\r\n randomnumber: any;\r\n customerCartItems: any = []\r\n currentCartItems: any = []\r\n CheckBox: string;\r\n Remember: boolean;\r\n cookieEmailValue: string;\r\n cookiePWDValue: string;\r\n logindetails: any;\r\n RoleID: any;\r\n\r\n constructor(router: Router, fb: FormBuilder, public generalService: GeneralService, public encryptionService: EncryptionService,\r\n public cartService: CartService, private cookieService: CookieService, \r\n public wishlistService: WishlistService) {\r\n localStorage.removeItem(\"LoginDetails\");\r\n localStorage.removeItem(\"token\");\r\n var encryptedData = localStorage.getItem('LoginDetails');\r\n if (encryptedData != null || encryptedData != undefined) {\r\n this.logindetails = JSON.parse(this.encryptionService.decrypt(encryptedData));\r\n }\r\n this.router = router;\r\n this.form = fb.group({\r\n 'email': ['', Validators.compose([Validators.required])],\r\n 'password': ['', Validators.compose([Validators.required, Validators.minLength(6)])]\r\n });\r\n\r\n // this.email = this.form.controls['email'];\r\n // this.password = this.form.controls['password'];\r\n //}\r\n this.email = this.form.controls['email'];\r\nthis.password = this.form.controls['password'];\r\nconst cookieExists: boolean = cookieService.check('RememberMe');\r\nif (cookieExists) {\r\n this.cookieEmailValue = this.cookieService.get('email');\r\n this.cookiePWDValue = this.cookieService.get('password');\r\n\r\n this.form.controls.email.setValue(this.cookieEmailValue)\r\n this.form.controls.password.setValue(this.cookiePWDValue)\r\n this.Remember = true;\r\n\r\n}\r\nelse {\r\n this.form.reset();\r\n}\r\n\r\n }\r\n\r\n //This code customer login page you have previously registered to input your cellphone number and password.\r\n //If you do not register, the page will display the(NOT EXIST) alert message.\r\n public onSubmit(values: any): void {\r\n debugger\r\n if (this.form.valid) {\r\n var url = \"api/Products/Login\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"MobileNo\", values.email);\r\n UploadFile.append(\"Password\", values.password);\r\n // UploadFile.append(\"RoleID\", '3');\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n debugger;\r\n if (data != null) {\r\n if (data == \"NOT EXIST\") {\r\n this.generalService.ShowAlert('WARNING', 'Please Enter Valid Credentials.', 'warning');\r\n }\r\n else { \r\n if (data[0].LoginType == 4) {\r\n /*Below method is calling to get custsomer cart items*/\r\n this.getCartItemsListbasedonUserId(data[0].Id)\r\n this.getWishListItemsListbasedonUserId(data[0].Id)\r\n this.router.navigate(['/Home']);\r\n localStorage.setItem(\"token\", data[0].FarmerName);\r\n localStorage.setItem(\"LoginDetails\", JSON.stringify(data[0]));\r\n \r\n }\r\n else {\r\n this.generalService.ShowAlert('WARNING', 'Please Enter Valid Credentials/Customer Cannot Login Into Web', 'warning');\r\n }\r\n }\r\n }\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later', 'error');\r\n });\r\n }\r\n\r\n }\r\n /*Show passwords*/\r\n ShowPassword(id) {\r\n debugger;\r\n var x;\r\n x = document.getElementById(\"myInput\");\r\n if (x.type === \"password\") {\r\n x.type = \"text\";\r\n this.passwordshow = false;\r\n } else {\r\n x.type = \"password\";\r\n this.passwordshow = true;\r\n }\r\n\r\n }\r\n /*end code*/\r\n ngAfterViewInit() {\r\n document.getElementById('preloader').classList.add('hide');\r\n }\r\n\r\n\r\n \r\n /*end code*/\r\n signOut() {\r\n sessionStorage.removeItem(\"LoginDetails\");\r\n this.router.navigate['/Home']\r\n }\r\n\r\n //openResetpassword\r\n OpenResetPwd() {\r\n this.ResetForm = true;\r\n this.Loginform = false;\r\n }\r\n \r\n /*forgot password*/\r\n ForgotPassword() {\r\n this.MobileNo = \"\";\r\n this.OTP = \"\";\r\n this.Pwd = \"\";\r\n this.Confirmpassword = \"\";\r\n $('#myModal2').modal('show');\r\n }\r\n /*end code*/\r\n //Rememberb password\r\n RememberMe(ev) {\r\n debugger\r\n if (ev.target.checked == true) {\r\n this.Remember = true;\r\n this.cookieService.set('email', this.form.value.email);\r\n this.cookieService.set('password', this.form.value.password);\r\n this.cookieService.set('RememberMe', 'Checked');\r\n this.CheckBox = 'Checked'\r\n }\r\n else if (ev.target.checked == false) {\r\n // this.cookieService.set('RememberMe', 'UnChecked');\r\n this.CheckBox = ''\r\n this.Remember = false;\r\n this.cookieService.deleteAll();\r\n\r\n }\r\n }\r\n /*Check mobile there or not*/\r\n CheckMobile(MobileNo) {\r\n debugger;\r\n if (MobileNo == undefined || MobileNo == \"\" || MobileNo == null) {\r\n debugger;\r\n alert(\"Please Enter Mobile Number\")\r\n // this.openToast();\r\n }\r\n else {\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"MobileNo\", MobileNo);\r\n UploadFile.append(\"Flag\", \"1\");\r\n var url = \"api/Products/CheckMobileandEmail\"\r\n debugger;\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n debugger;\r\n if (data == 'EXIST') {\r\n this.OTP = \"\"\r\n this.MobileNo = MobileNo;\r\n this.SendOtpForMobile();\r\n $('#myModal2').modal('hide');\r\n $('#myModal3').modal('show');\r\n }\r\n else {\r\n\r\n alert(\"Please Enter Valid Mobile Number\")\r\n }\r\n }, err => { \r\n });\r\n }\r\n\r\n }\r\n /*end code*/\r\n\r\n /* send otp for registration */\r\n SendOtpForMobile() {\r\n debugger\r\n this.randomnumber = Math.floor(1000 + Math.random() * 9000);\r\n var msg = \"Your Customer OTP is:\" + this.randomnumber + \" YKmart\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"MobileNo\", this.MobileNo);\r\n UploadFile.append(\"SMS\", msg);\r\n UploadFile.append(\"OTP\", this.randomnumber);\r\n var url = 'api/Products/SendOtpToMobile';\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n if (data == \"SUCCESS\") {\r\n\r\n }\r\n else {\r\n \r\n }\r\n });\r\n }\r\n /*end code*/\r\n /*keep me signed in*/\r\n keepmesignin(e) {\r\n debugger;\r\n var a = e.target.checked;\r\n if (a == true) {\r\n localStorage.setItem(\"keepsignin\", a);\r\n }\r\n else {\r\n localStorage.removeItem(\"keepsignin\");\r\n }\r\n }\r\n\r\n /*verifyotp for forgotpassword*/\r\n VerifyOtp(otp) {\r\n debugger\r\n if (this.randomnumber = otp) {\r\n $('#myModal3').modal('hide');\r\n $('#myModal4').modal('show');\r\n }\r\n else {\r\n alert(\"Invalid OTP\");\r\n }\r\n }\r\n /*end region*/\r\n\r\n /*Change password*/\r\n ChangePassword(password, confirmpassword) {\r\n if (password == undefined || password == null || password == \"\" || confirmpassword == undefined || confirmpassword == null || confirmpassword == \"\") {\r\n alert(\"Please enter password\");\r\n }\r\n else {\r\n if (password != confirmpassword) {\r\n alert(\"password and confirmpassword must be same\");\r\n }\r\n else {\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"MobileNo\", this.MobileNo);\r\n UploadFile.append(\"Password\", password);\r\n var url = \"api/Products/Forgot_Password\"\r\n debugger;\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n debugger;\r\n if (data == 'SUCCESS') {\r\n this.generalService.ShowAlert('SUCCESS', 'Change Password Successfully.', 'success')\r\n $('#myModal4').modal('hide');\r\n }\r\n }, err => {\r\n $('#myModal4').modal('hide');\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n }\r\n }\r\n /*endregion*/\r\n\r\n /*method is for getting customer cart items based on the user id*/\r\n getCartItemsListbasedonUserId(userid) { \r\n this.customerCartItems = []\r\n this.CartItems = [];\r\n this.currentCartItems = []\r\n /*below line of code is for getting current cart items from the current cart items with out login customer cart items*/\r\n this.cartService.getProducts().subscribe(res => {\r\n this.currentCartItems = res;\r\n })\r\n var url = \"api/Products/GetAllCartItemsbasedOnUserId\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"UserId\", userid);\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n debugger\r\n if (data != null) { \r\n for (var k = 0; k < data.length; k++) {/*Pushing customer cart items in to our cart page*/\r\n this.customerCartItems.push(data[k])\r\n this.cartService.addtoCart(data[k])\r\n } \r\n }\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later', 'error');\r\n });\r\n\r\n if (this.customerCartItems.length == 0 && this.currentCartItems.length >= 1) {\r\n this.insertCartItems(userid) /*we need to insert the new cart items when user added in without login*/\r\n }\r\n }\r\n\r\n /*method is for getting customer wishList items based on the user id*/\r\n getWishListItemsListbasedonUserId(userid) {\r\n /*below line of code is for getting current cart items from the current cart items with out login customer cart items*/\r\n var url = \"api/Products/GetAllWishListItemsbasedOnUserId\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"UserId\", userid);\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n this.wishlistService.removeAllWishlistItems();\r\n if (data != null) {\r\n for (var k = 0; k < data.length; k++) {/*Pushing customer cart items in to our cart page*/\r\n this.customerWishlistItems.push(data[k])\r\n this.wishlistService.setProducts(this.customerWishlistItems[k])\r\n }\r\n }\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later', 'error');\r\n });\r\n }\r\n\r\n /*\r\n Below method is for Inserting customer cart items\r\n */\r\n insertCartItems(userid) { \r\n for (var m = 0; m < this.currentCartItems.length; m++) {\r\n this.currentCartItems[m].UserId = String(userid)\r\n } \r\n var url = \"api/Products/Insert_Cart_Items\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"Cartxml\", JSON.stringify(this.currentCartItems));\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n this.cartService.removeAllcart();\r\n for (var k = 0; k < data.length; k++) {\r\n this.cartService.addtoCart(data[k])\r\n } \r\n })\r\n }\r\n \r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n
\r\n

\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n

Purchase Pure Organic YK Products

\r\n
\r\n

\r\n\r\n         We aim to give high-performance organic manure to farmers for achieving a significant and sustainable\r\n increase in agriculture production through environmental free and pollinators free products.\r\n

\r\n

\r\n       We YK Mart celling of certified organic products especially Botanical Virucide, Fungicide water base and\r\n Botanical Insecticide & Sucking pest oil base, with the aid of Medicinal plants and related alkaloids which\r\n controls and suppress the multiplication of Bacterial and Fungal growth.\r\n

\r\n

      Morever we are also farming produces organic turmeric,organic chilli,organic papaya and organic millets.



\r\n\r\n\r\n
\r\n \r\n
Version: Beta 1.0.0
\r\n
copyright @ 2022 YK Mart.in
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Hello Customer/Employee...!

\r\n
\r\n \r\n \r\n Don't have an account? Sign up now!\r\n
\r\n
\r\n
\r\n \r\n Email Id is required\r\n Invalid EmailId address\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n\r\n Password is required\r\n Password isn't long enough, minimum of 6 characters\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Forgot password?\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Enter Mobile

\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n

Enter Otp

\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Resend OTP\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Change Password

\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n","import { GeneralService } from '../../service/general.service';\r\nimport { Component, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router'; import { FormGroup, FormControl, AbstractControl, FormBuilder, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport Swal from 'sweetalert2';\r\nimport { window } from 'rxjs/operators';\r\nimport { EmailValidators } from 'ngx-validators';\r\nimport { CartService } from 'src/app/service/cart.service';\r\nimport { WishlistService } from 'src/app/service/wishlist.service'\r\n\r\ndeclare var $;\r\n\r\n@Component({\r\n selector: 'app-customer-registration',\r\n templateUrl: './customer-registration.component.html',\r\n styleUrls: ['./customer-registration.component.scss']\r\n})\r\n\r\nexport class CustomerRegistrationComponent {\r\n Emailid: any;\r\n checkNo: number;\r\n Mobile: any;\r\n checkemail: number;\r\n TemplateId: any;\r\n Id: any;\r\n arr: any = [];\r\n public form: FormGroup;\r\n public FarmerName: AbstractControl;\r\n public Email: AbstractControl;\r\n public Password: AbstractControl;\r\n public confirmPassword: AbstractControl;\r\n public MobileNo: AbstractControl;\r\n //public address: AbstractControl;\r\n //public area: AbstractControl;\r\n //public pincode: AbstractControl;\r\n randomnumber: any;\r\n HomeUrl: any;\r\n otptextbox: boolean;\r\n spinner: boolean = false;\r\n logindata: any;\r\n otp: any;\r\n mob: any;\r\n LoginType: any;\r\n passwordshow: boolean = true;\r\n confirmpasswordshow: boolean = true;\r\n MessageText: any;\r\n arr1: any[];\r\n customerCartItems: any[];\r\n CartItems: any[];\r\n currentCartItems: any[];\r\n customerWishlistItems: any;\r\n admin: any;\r\n constructor(public router: Router, public fb: FormBuilder, public http: HttpClient, public generalService: GeneralService, public cartService: CartService,\r\n public wishlistService: WishlistService) {\r\n debugger\r\n this.LoginType = localStorage.getItem(\"LoginType\");\r\n this.logindata = JSON.parse(sessionStorage.getItem(\"LoginDetails\"));\r\n if (this.logindata != null) {\r\n this.router.navigate['/Home']\r\n }\r\n this.form = fb.group({\r\n FarmerName: ['', Validators.compose([Validators.required, Validators.minLength(3)])],\r\n Email: ['',],\r\n MobileNo: ['', Validators.compose([Validators.required, Validators.minLength(10), Validators.maxLength(10)])],\r\n Password: ['', Validators.compose([Validators.required, Validators.minLength(6)])],\r\n confirmPassword: ['', Validators.required]\r\n },\r\n {\r\n validator: matchingPasswords('Password', 'confirmPassword')\r\n });\r\n \r\n\r\n this.FarmerName = this.form.controls['FarmerName'];\r\n this.Email = this.form.controls['Email'];\r\n this.MobileNo = this.form.controls['MobileNo']; \r\n this.Password = this.form.controls['Password'];\r\n this.confirmPassword = this.form.controls['confirmPassword'];\r\n\r\n\r\n\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n this.HomeUrl = data.Webservice;\r\n });\r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n already() {\r\n debugger;\r\n localStorage.setItem(\"log\", '1');\r\n this.router.navigateByUrl(\"/login\");\r\n }\r\n\r\n SignUp(value) {\r\n debugger;\r\n $('#myModal1').modal('show');\r\n this.Mobile = value.MobileNo;\r\n\r\n this.Sendsms();\r\n }\r\n sendsms1() {\r\n debugger\r\n this.TemplateId = 1207164812405527257;\r\n this.MessageText = \"Thank you for registering with Ykmart\";\r\n var url = 'api/Products/Send_Customer_Reg_SMS_WEB';\r\n\r\n let formdata = new FormData();\r\n formdata.append(\"Mobile\", this.Mobile)\r\n formdata.append(\"SMS\", this.MessageText)\r\n formdata.append(\"TemplateId\", this.TemplateId)\r\n this.generalService.PostData(url, formdata).then((data: any) => {\r\n })\r\n }\r\n\r\n\r\n sendsms2() {\r\n debugger\r\n this.admin = 9866079507;\r\n this.TemplateId = 1207164812642544439\t;\r\n this.MessageText = \"A new customer \" + this.form.value.FarmerName + \",\" + this.form.value.MobileNo + \" has been added in the Ykmart \"; \r\n var url = 'api/Products/Addcustomer_sendsms_admin';\r\n\r\n let formdata = new FormData();\r\n formdata.append(\"admin\",this.admin)\r\n formdata.append(\"Mobile\", this.form.value.MobileNo)\r\n formdata.append(\"Name\", this.form.value.FarmerName)\r\n formdata.append(\"SMS\", this.MessageText)\r\n formdata.append(\"TemplateId\", this.TemplateId)\r\n this.generalService.PostData(url, formdata).then((data: any) => {\r\n })\r\n }\r\n\r\n /* send otp for registration */\r\n\r\n SendOtpForMobile() {\r\n debugger\r\n this.randomnumber = Math.floor(1000 + Math.random() * 9000);\r\n //var msg = \"Your Customer OTP is:\" + this.randomnumber + \" YKmart\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"MobileNo\", this.Mobile );\r\n UploadFile.append(\"OTP\", this.randomnumber);\r\n var url = 'api/Products/SendOtpToMobile';\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n if (data == \"SUCCESS\") {\r\n\r\n }\r\n else {\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n public onSubmit() {\r\n debugger;\r\n if (this.form.valid) {\r\n debugger\r\n \r\n this.arr = [];\r\n this.arr.push({\r\n FarmerName: this.form.value.FarmerName, MobileNo: this.form.value.MobileNo, Email: this.form.value.Email,\r\n Password: this.form.value.Password, LoginType:'4'\r\n })\r\n debugger\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"Param\", JSON.stringify(this.arr)); \r\n var url = \"api/Products/Add_UserDetails\";\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n \r\n debugger\r\n if (data != null) {\r\n debugger\r\n if (data == \"SUCCESS\") {\r\n debugger\r\n this.spinner = false;\r\n // this.router.navigate(['/Home']);\r\n this.generalService.ShowAlert('SUCCESS', 'Registrated Successfully.', 'success');\r\n //this.sendsms1();\r\n this.sendsms2();\r\n this.onSubmitLogin();\r\n //this.sendsmscustomerregistration(this.arr);\r\n debugger\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"RegDetails\", JSON.stringify(this.arr));\r\n var url = \"api/Products/RegMailTo_Customer\";\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n debugger\r\n var msg = data;\r\n }); \r\n }\r\n else if (data == \"MOBILE EXISTS\") {\r\n this.generalService.ShowAlert('WARNING', 'Mobile Exist.', 'warning')\r\n }\r\n else if (data == \"EMAIL EXISTS\") {\r\n this.generalService.ShowAlert('WARNING', 'Email Exist.', 'warning')\r\n }\r\n }\r\n });\r\n }\r\n }\r\n onSubmitLogin() {\r\n debugger\r\n if (this.form.valid) {\r\n var url = \"api/Products/Login\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"MobileNo\", this.form.value.MobileNo);\r\n UploadFile.append(\"Password\", this.form.value.Password);\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n debugger;\r\n if (data != null) {\r\n if (data == \"NOT EXIST\") {\r\n this.generalService.ShowAlert('WARNING', 'Please Enter Valid Credentials.', 'warning');\r\n }\r\n else {\r\n if (data[0].LoginType == 4) {\r\n /*Below method is calling to get custsomer cart items*/\r\n this.getCartItemsListbasedonUserId(data[0].Id)\r\n this.getWishListItemsListbasedonUserId(data[0].Id)\r\n this.router.navigate(['/Home']);\r\n localStorage.setItem(\"token\", data[0].FarmerName);\r\n localStorage.setItem(\"LoginDetails\", JSON.stringify(data[0]));\r\n\r\n }\r\n else {\r\n this.generalService.ShowAlert('WARNING', 'Please Enter Valid Credentials/Customer Cannot Login Into Web', 'warning');\r\n }\r\n }\r\n }\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later', 'error');\r\n });\r\n }\r\n\r\n }\r\n /*method is for getting customer cart items based on the user id*/\r\n getCartItemsListbasedonUserId(userid) {\r\n this.customerCartItems = []\r\n this.CartItems = [];\r\n this.currentCartItems = []\r\n /*below line of code is for getting current cart items from the current cart items with out login customer cart items*/\r\n this.cartService.getProducts().subscribe(res => {\r\n this.currentCartItems = res;\r\n })\r\n var url = \"api/Products/GetAllCartItemsbasedOnUserId\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"UserId\", userid);\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n debugger\r\n if (data != null) {\r\n for (var k = 0; k < data.length; k++) {/*Pushing customer cart items in to our cart page*/\r\n this.customerCartItems.push(data[k])\r\n this.cartService.addtoCart(data[k])\r\n }\r\n }\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later', 'error');\r\n });\r\n\r\n if (this.customerCartItems.length == 0 && this.currentCartItems.length >= 1) {\r\n this.insertCartItems(userid) /*we need to insert the new cart items when user added in without login*/\r\n }\r\n }\r\n\r\n\r\n\r\n /*sendsms*/\r\n\r\n \r\n\r\n /*method is for getting customer wishList items based on the user id*/\r\n getWishListItemsListbasedonUserId(userid) {\r\n /*below line of code is for getting current cart items from the current cart items with out login customer cart items*/\r\n var url = \"api/Products/GetAllWishListItemsbasedOnUserId\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"UserId\", userid);\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n this.wishlistService.removeAllWishlistItems();\r\n if (data != null) {\r\n for (var k = 0; k < data.length; k++) {/*Pushing customer cart items in to our cart page*/\r\n this.customerWishlistItems.push(data[k])\r\n this.wishlistService.setProducts(this.customerWishlistItems[k])\r\n }\r\n }\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later', 'error');\r\n });\r\n }\r\n /*\r\n Below method is for Inserting customer cart items\r\n */\r\n insertCartItems(userid) {\r\n for (var m = 0; m < this.currentCartItems.length; m++) {\r\n this.currentCartItems[m].UserId = String(userid)\r\n }\r\n var url = \"api/Products/Insert_Cart_Items\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"Cartxml\", JSON.stringify(this.currentCartItems));\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n this.cartService.removeAllcart();\r\n for (var k = 0; k < data.length; k++) {\r\n this.cartService.addtoCart(data[k])\r\n }\r\n })\r\n }\r\n /*send sms for customer when customer registration*/\r\n sendsmscustomerregistration(regxml) {\r\n debugger\r\n //this.arr1 = [];\r\n //this.arr1.push({\r\n // FarmerName: this.form.value.FarmerName, MobileNo: this.form.value.MobileNo, Email: this.form.value.Email,\r\n // Password: this.form.value.Password, LoginType: '4'\r\n //})\r\n var url = 'api/Products/YKLABS_Send_SMS?MobileNo=' + regxml[0].MobileNo+'&Message='+'Your registration successfully';\r\n this.generalService.GetData(url).then((data: any) => {\r\n\r\n });\r\n }\r\n /*end*/\r\n Sendsms() {\r\n debugger\r\n this.randomnumber = Math.floor(1000 + Math.random() * 9000);\r\n var MessageText = \"Your Ykmart OTP is\" + this.randomnumber + \"\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"Mobile\", this.Mobile);\r\n UploadFile.append(\"SMS\", MessageText)\r\n UploadFile.append(\"OTP\", this.randomnumber);\r\n var url = 'api/Products/Send_SMS_Reg_OTP'\r\n\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n if (data == \"SUCCESS\") {\r\n\r\n }\r\n else {\r\n\r\n }\r\n });\r\n }\r\n \r\n\r\n /*Show passwords*/\r\n ShowPassword(id) {\r\n debugger;\r\n var x;\r\n if (id == 1) {\r\n x = document.getElementById(\"myInput\");\r\n if (x.type === \"password\") {\r\n x.type = \"text\";\r\n this.passwordshow = false;\r\n } else {\r\n x.type = \"password\";\r\n this.passwordshow = true;\r\n }\r\n }\r\n \r\n\r\n }\r\n /*end code*/\r\n\r\n ShowPassword1(id) {\r\n debugger;\r\n var x;\r\n if (id == 2) {\r\n x = document.getElementById(\"myInput1\");\r\n if (x.type === \"password\") {\r\n x.type = \"text\";\r\n this.confirmpasswordshow = false;\r\n } else {\r\n x.type = \"password\";\r\n this.confirmpasswordshow = true;\r\n }\r\n }\r\n\r\n\r\n }\r\n /*check otp for registration*/\r\n CheckOtp(otp) {\r\n debugger\r\n if (this.randomnumber == otp) {\r\n $('#myModal1').modal('hide');\r\n debugger\r\n this.onSubmit();\r\n }\r\n else {\r\n alert(\"Invalid OTP\")\r\n }\r\n }\r\n \r\n\r\n /*check mobile exist or not*/\r\n CheckMobileNo() {\r\n debugger;\r\n this.Mobile = this.form.get('MobileNo').value;\r\n var UploadFile = new FormData();\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"MobileNo\", this.Mobile);\r\n UploadFile.append(\"Flag\", \"1\");\r\n var url = \"api/Products/CheckMobileandEmail\"\r\n debugger;\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n this.mob = data;\r\n debugger;\r\n if (data == 'EXIST') {\r\n this.checkNo = 10;\r\n }\r\n else {\r\n this.checkNo = 11;\r\n }\r\n }, err => {\r\n //this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n /*endregion*/\r\n\r\n /*Check Email exist or not*/\r\n\r\n //CheckEmail() {\r\n // debugger;\r\n // this.Emailid = this.form.get('Email').value;\r\n // var UploadFile = new FormData();\r\n // UploadFile.append(\"MobileNo\", this.Mobile);\r\n // UploadFile.append(\"Flag\", \"1\");\r\n // var url = \"api/Products/CheckMobileandEmail\"\r\n // debugger;\r\n // this.generalService.PostData(url, UploadFile).then(data => {\r\n // debugger;\r\n // if (data == 'EXIST') {\r\n // this.checkemail = 10;\r\n // }\r\n // else {\r\n // this.checkemail = 11;\r\n // }\r\n // }, err => {\r\n // //this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n // });\r\n //}\r\n\r\n\r\n ///end code////////\r\n}\r\n\r\n\r\n \r\nexport function emailValidator(control: FormControl): { [key: string]: any } {\r\n var emailRegexp = /[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,3}$/;\r\n if (control.value && !emailRegexp.test(control.value)) {\r\n return { invalidEmail: true };\r\n }\r\n}\r\n\r\nexport function matchingPasswords(passwordKey: string, passwordConfirmationKey: string) {\r\n return (group: FormGroup) => {\r\n let Password = group.controls[passwordKey];\r\n let passwordConfirmation = group.controls[passwordConfirmationKey];\r\n if (Password.value !== passwordConfirmation.value) {\r\n return passwordConfirmation.setErrors({ mismatchedPasswords: true })\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n

Register Customer

\r\n Already have an account? Sign in!\r\n\r\n
\r\n
\r\n \r\n \r\n Full Name is required\r\n Minimum of 3 characters\r\n \r\n
\r\n
\r\n \r\n \r\n Mobile is required\r\n Mobile Exist\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n\r\n \r\n \r\n Password is required\r\n Password isn't long enough, minimum of 6 characters\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Confirm Password is required\r\n Password do not match\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Otp has been send to your mobile

\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","\r\n
\r\n

\r\n \r\n
\r\n
\r\n
\r\n
Farming produces
\r\n\r\n
\r\n
\r\n {{item.SpecialityName}} \r\n
\r\n
\r\n
\r\n
\r\n
Categories
\r\n
\r\n\r\n
    \r\n
  • \r\n \r\n {{item.SpecialityName}}\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n\r\n

\r\n
\r\n
Best Seller
\r\n
\r\n \"...\"\r\n
\r\n Vaayu\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ₹ 500.00\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \"...\"\r\n
\r\n {{item.productname}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n

Best Seller:

\r\n
\r\n \"...\"\r\n
\r\n Vaayu\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ₹ 500.00\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { GeneralService } from '../../service/general.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormControl, AbstractControl, FormBuilder, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-farmer-produces',\r\n templateUrl: './farmer-produces.component.html',\r\n styleUrls: ['./farmer-produces.component.scss']\r\n})\r\nexport class FarmerProducesComponent implements OnInit {\r\n SpecialityName: any;\r\n HomeURL: any;\r\n FarmerProducts: any;\r\n selectedFarmerProducts = [];\r\n Specialities: any;\r\n SpecialitieData: any;\r\n SpecialityId: any;\r\n public router: Router;\r\n constructor(public generalService: GeneralService, public http: HttpClient, router: Router, public activeroute: ActivatedRoute) {\r\n /*below categry name is invoked from the above url from the browser in that '-' is replaced with \" \" and trim for whaite spaces*/\r\n this.SpecialityName = this.activeroute.snapshot.paramMap.get('Name').replace(/\\_/g, \" \").trim();\r\n this.router = router\r\n /*By using below service we can get the category id from page header*/\r\n this.generalService.getCategoryid().subscribe(res => {\r\n if (res.length == 0) {//if category id is null\r\n this.GetFarmerProducesMasterfilterspecialityidWhilecopyURL()\r\n }\r\n else {//it will execute when we select header Specialities\r\n this.SpecialityId = res[0].Id\r\n this.SpecialityName = res[0].SpecialityName\r\n this.getSpecialProductsBasedonSpecialityId()\r\n }\r\n\r\n })\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n this.HomeURL = data.Webservice;\r\n });\r\n }\r\n ngOnInit(): void {\r\n this.GetSpecialforsideBar()\r\n }\r\n\r\n /*\r\n* Below method is used to get the Category product details from url\r\n GoalName while category id is null this method i invoked\r\n*/\r\n GetFarmerProducesMasterfilterspecialityidWhilecopyURL() {\r\n var url = \"/api/Products/GetFarmingProducesMaster\"\r\n this.generalService.GetData(url).then(data => {\r\n this.SpecialitieData = data\r\n var catData = this.SpecialitieData.filter(A => A.SpecialityName === this.SpecialityName)\r\n this.SpecialityId = catData[0].Id\r\n this.getSpecialProductsBasedonSpecialityId()\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n\r\n /*\r\n* Below method is used to get the Category list for left side menu \r\n*/\r\n GetSpecialforsideBar() {\r\n var url = \"/api/Products/GetFarmingProducesMaster\"\r\n this.generalService.GetData(url).then(data => {\r\n this.Specialities = data\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n /*\r\n * Below method is used to get the Specialities based on category Id\r\n */\r\n getSpecialProductsBasedonSpecialityId() { \r\n let arr = [];\r\n arr.push({ UserId: 0, TokenID: null, Id: this.SpecialityId })\r\n var UploadFile = new FormData()\r\n UploadFile.append(\"Param\", JSON.stringify(arr))\r\n var url = \"/api/Products/GetAll_FarmingProductsBasedOnSpecialityId\"\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n this.FarmerProducts = data\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n /**\r\n * Below method is call when customer clicks on side bar Specialities\r\n */\r\n onclickmethodforLeftsideSpecialities(SpecialityId, name) {\r\n debugger\r\n this.SpecialityId = SpecialityId\r\n this.SpecialityName = name\r\n this.getSpecialProductsBasedonSpecialityId()\r\n // this.GetCategoryforsideBar()\r\n }\r\n\r\n /**\r\n * Navigating to selected Products page regarding category\r\n */\r\n navigatingToProduct(data) {\r\n debugger\r\n var prodName = \"\"; var prodarr = []\r\n prodarr = this.FarmerProducts.filter(A => A.productname == data.productname)//Filtering Specialities data based on selected chemical name for getting category id \r\n var str = data.productname.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n prodName += \"_\" + str[i];\r\n }\r\n this.generalService.setProducts(prodarr);\r\n this.router.navigate(['/EnquiryProducts/' + prodName]);\r\n }\r\n\r\n /**\r\n * navigate To best Seller\r\n */\r\n navigateTobestSeller() {\r\n this.router.navigate(['/Product/_VAAYU'])\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
Goals
\r\n \r\n
\r\n
\r\n {{item.GoalName}}\r\n
\r\n
\r\n
\r\n

\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \"...\"\r\n
\r\n {{item.productname}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ₹ {{item.Price1}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { GeneralService } from '../../service/general.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormControl, AbstractControl, FormBuilder, Validators } from '@angular/forms';\r\nimport { Local } from 'protractor/built/driverProviders';\r\n\r\n@Component({\r\n selector: 'app-goals',\r\n templateUrl: './goals.component.html',\r\n styleUrls: ['./goals.component.scss']\r\n})\r\nexport class GoalsComponent implements OnInit {\r\n GoalName: any;\r\n HomeURL: any;\r\n GoalProducts: any;\r\n selectedGoal = [];\r\n Goals: any;\r\n CategoryData: any;\r\n goalId: any;\r\n public router: Router;\r\n constructor(public generalService: GeneralService, public http: HttpClient, router: Router, public activeroute: ActivatedRoute) {\r\n /*below categry name is invoked from the above url from the browser in that '-' is replaced with \" \" and trim for whaite spaces*/\r\n this.GoalName = this.activeroute.snapshot.paramMap.get('Name').replace(/\\_/g, \" \").trim();\r\n this.router = router\r\n /*By using below service we can get the category id from page header*/\r\n this.generalService.getCategoryid().subscribe(res => {\r\n if (res.length == 0) {//if category id is null\r\n this.GetCategoryforfiltercatidWhilecopyURL()\r\n }\r\n else {//it will execute when we select header Goals\r\n this.goalId = res[0].Id\r\n this.GoalName = res[0].GoalName;\r\n this.getGoalBasedProductsBasedongoalId()\r\n }\r\n\r\n })\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n this.HomeURL = data.Webservice;\r\n });\r\n }\r\n ngOnInit(): void {\r\n this.GetGoalforsideBar()\r\n }\r\n\r\n /*\r\n* Below method is used to get the Category product details from url\r\n GoalName while category id is null this method i invoked\r\n*/\r\n GetCategoryforfiltercatidWhilecopyURL() {\r\n var url = \"/api/Products/GetGoals\"\r\n this.generalService.GetData(url).then(data => {\r\n this.CategoryData = data\r\n var catData = this.CategoryData.filter(A => A.GoalName === this.GoalName)\r\n this.goalId = catData[0].Id\r\n this.getGoalBasedProductsBasedongoalId()\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n\r\n /*\r\n* Below method is used to get the Category list for left side menu \r\n*/\r\n GetGoalforsideBar() {\r\n var url = \"/api/Products/GetGoals\"\r\n this.generalService.GetData(url).then(data => {\r\n this.Goals = data\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n /*\r\n * Below method is used to get the Goals based on category Id\r\n */\r\n getGoalBasedProductsBasedongoalId() {\r\n debugger\r\n let arr = [];\r\n arr.push({ UserId: 0, TokenID: null, Id: this.goalId })\r\n var UploadFile = new FormData()\r\n UploadFile.append(\"Param\", JSON.stringify(arr))\r\n var url = \"/api/Products/GetAll_GoalWiseProductsBasedOnGoalID\"\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n this.GoalProducts = data\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n /**\r\n * Below method is call when customer clicks on side bar Goals\r\n */\r\n onclickmethodforLeftsideGoals(goalId, name) {\r\n this.goalId = goalId\r\n this.GoalName = name\r\n this.getGoalBasedProductsBasedongoalId()\r\n // this.GetCategoryforsideBar()\r\n }\r\n\r\n /**\r\n * Navigating to selected Products page regarding category\r\n */\r\n navigatingToProduct(data) {\r\n debugger\r\n var prodName = \"\"; var prodarr = []\r\n prodarr = this.GoalProducts.filter(A => A.productname == data.productname)//Filtering Goals data based on selected chemical name for getting category id \r\n var str = data.productname.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n prodName += \"_\" + str[i];\r\n }\r\n var obj = prodarr;\r\n obj[0].TopicName = this.GoalName;\r\n localStorage.setItem('Goal', this.GoalName);\r\n this.generalService.setProducts(obj);\r\n this.generalService.clearCategoryid()\r\n this.router.navigate(['/Product/' + prodName]);\r\n \r\n }\r\n\r\n /**\r\n * navigate To best Seller\r\n */\r\n navigateTobestSeller() {\r\n this.router.navigate(['/Product/_VAAYU'])\r\n }\r\n}\r\n","
\r\n \r\n
    \r\n
  1. \r\n
  2. \r\n
  3. \r\n
  4. \r\n
  5. \r\n
  6. \r\n
  7. \r\n
  8. \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n \"Y\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n Shop by categorytt\r\n
\r\n
\r\n \r\n
\r\n
\r\n Farming Produces\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
SHOP BY CATEGORIES
\r\n

POPULAR CATEGORIES

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"/\r\n \r\n\r\n
YK LABORATORIES SPECIAL
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \"\"\r\n\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n \r\n
FARMING PRODUCE
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \"\"\r\n
ORGANIC MANURE
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \"\"\r\n
ORGANIC SUCKING PEST
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n

OUR PRODUCTS

\r\n
\r\n\r\n
\r\n
\r\n
New
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \"...\"\r\n
\r\n\r\n
\r\n {{item.productname}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{item.Price1 | currency:'INR'}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n

PROUDLY MADE IN INDIA

\r\n
\r\n \r\n
\r\n
\r\n \"\"/\r\n\r\n
\r\n
\r\n \"\"/\r\n\r\n
\r\n
\r\n \"\"/\r\n\r\n\r\n
\r\n
\r\n \"\"/\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { GeneralService } from '../../service/general.service'\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n FarmingProduces: any;\r\n Products: any;\r\n public router: Router;\r\n Categories: any;\r\n HomeURL: any;\r\n Banners: any;\r\n\r\n constructor(public generalService: GeneralService, public http: HttpClient, router: Router, ) {\r\n this.router = router\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n this.HomeURL = data.Webservice;\r\n });\r\n navigator.geolocation.getCurrentPosition(position => {\r\n var lt = position\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.GetBannerImagesforHome()\r\n this.GetPopularCategoriesforHome()\r\n this.GetProductsforHome()\r\n this.GetFarmingProduces()\r\n }\r\n\r\n /*\r\n * Below method is used to get the Banner images from Server with reference of database path\r\n */\r\n GetBannerImagesforHome() { \r\n let arr = [];\r\n arr.push({ UserId:0,TokenID:null})\r\n var UploadFile = new FormData()\r\n UploadFile.append(\"userCredentials\", JSON.stringify(arr))\r\n var url = \"/api/Products/GetAll_HomepageBannerImages\"\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n this.Banners = data\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n\r\n /*\r\n * Below method is used to get the Popular Categories with images from Server with reference of database path\r\n */\r\n GetPopularCategoriesforHome() { \r\n let arr = [];\r\n arr.push({ UserId: 0, TokenID: null })\r\n var UploadFile = new FormData()\r\n UploadFile.append(\"Param\", JSON.stringify(arr))\r\n var url = \"/api/Products/GetProductCategories\"\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n this.Categories = data\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n\r\n /*Below method is for navigating to selected category in home page for*/\r\n navigateBasedOnCategoryId(Category) {\r\n this.router.navigate(['/Category/' + Category]); \r\n }\r\n\r\n /*\r\n* Below method is used to get the Products with images from Server with reference of database path\r\n*/\r\n GetProductsforHome() { \r\n let arr = [];\r\n arr.push({ UserId: 0, TokenID: null })\r\n var UploadFile = new FormData()\r\n UploadFile.append(\"Param\", JSON.stringify(arr))\r\n var url = \"/api/Products/GetAllProductDetails\"\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n this.Products = data\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n /*navigating to customer selected products from our products*/\r\n navigatingToSelectedProduct(data) {\r\n var prodName = \"\"; var prodarr = []\r\n prodarr.push(data)\r\n var str = data.productname.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n prodName += \"_\" + str[i];\r\n }\r\n this.generalService.setProducts(prodarr)\r\n this.router.navigate(['/Product/' + prodName]);\r\n }\r\n\r\n /*\r\n* Below method is used to get the Goals list for left side menu \r\n*/\r\n GetFarmingProduces() {\r\n var url = \"/api/Products/GetFarmingProducesMaster\"\r\n this.generalService.GetData(url).then(data => {\r\n this.FarmingProduces = data\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n\r\n /**\r\n * Navigating to selected Goal in header page\r\n */\r\n navigateToFarmingProducts(data) {\r\n debugger\r\n var carName = \"\"; var catarr = []\r\n this.ngOnInit()\r\n catarr = this.FarmingProduces.filter(A => A.SpecialityName == data)//Filtering Categories data based on selected chemical name for getting category id \r\n var str = data.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n carName += \"_\" + str[i];\r\n }\r\n this.generalService.setCategoryid(catarr)\r\n this.router.navigate(['/FarmerProduces/' + carName]);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
My Enquiries
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{item1.EnquiryNumber}}\r\n
\r\n
\r\n
\r\n
\r\n {{item1.EnquireDate | date:'dd-MMM-yyyy H:m'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{item1.ProductName}}-{{item1.Size}}

\r\n
\r\n
\r\n
\r\n

\r\n Quantity:{{item1.TotalProducts}}/-\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n No enquiries available\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { GeneralService } from 'src/app/service/general.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-my-enquiries',\r\n templateUrl: './my-enquiries.component.html',\r\n styleUrls: ['./my-enquiries.component.scss']\r\n})\r\nexport class MyEnquiriesComponent implements OnInit {\r\n EnquiryProductList: any;\r\n LoginDetails: any;\r\n\r\n constructor(public generalService: GeneralService, public router: Router, ) {\r\n this.LoginDetails = JSON.parse(localStorage.getItem(\"LoginDetails\"));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getCustomerEnquiryDetails()\r\n }\r\n /*\r\n *Geting customer order details by sending customer id to the server \r\n */\r\n getCustomerEnquiryDetails() {\r\n let details = [{\r\n CustomerID: this.LoginDetails.Id\r\n }];\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(details));\r\n var url = \"/api/Products/Get_All_Customer_Enquiries_Basedon_CustomerID\"\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n this.EnquiryProductList = data;\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { GeneralService } from 'src/app/service/general.service';\r\nimport { Router } from '@angular/router';\r\nimport { MessageService } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'app-my-orders',\r\n templateUrl: './my-orders.component.html',\r\n styleUrls: ['./my-orders.component.scss'],\r\n providers: [MessageService]\r\n})\r\nexport class MyOrdersComponent implements OnInit {\r\n orderDetails: any;\r\n productDetails: any;\r\n OrderedProductList: any;\r\n LoginDetails: any;\r\n stars: number[] = [1, 2, 3, 4, 5];\r\n selectedValue: any;\r\n ProductName: any;\r\n Comments: any;\r\n prList: any[];\r\n products: any;\r\n Comment: any;\r\n Product: any;\r\n constructor(public generalService: GeneralService, public router: Router, public toast: MessageService, ) {\r\n this.LoginDetails = JSON.parse(localStorage.getItem(\"LoginDetails\"));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getCustomerOrderDetails()\r\n \r\n }\r\n /*\r\n *Geting customer order details by sending customer id to the server \r\n */\r\n getCustomerOrderDetails() {\r\n let details = [{\r\n CustomerID: this.LoginDetails.Id\r\n }];\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(details));\r\n var url = \"/api/Products/Get_All_Customer_Orders_Basedon_CustomerID\"\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n this.OrderedProductList = data;\r\n }\r\n });\r\n }\r\n\r\n /*Below method is used to navigating to order invoice page*/\r\n navigateToInvoice(orderid) {\r\n this.router.navigate(['/Invoice/' + orderid]);\r\n }\r\n getProductDetails(obj: any) {\r\n debugger\r\n this.productDetails = obj;\r\n var arr = [];\r\n arr.push({\r\n TokenID: this.LoginDetails.Token,\r\n UserId: this.LoginDetails.Id,\r\n OrderID: this.productDetails.OrderID\r\n })\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(arr));\r\n var url = \"/api/Products/Get_Admin_Orderdetails_BasedOn_OrderId\"\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n debugger\r\n if (data != \"\") {\r\n this.orderDetails = [];\r\n this.orderDetails = data;\r\n //console.log(this.orderDetails);\r\n }\r\n });\r\n //console.log(this.productDetails);\r\n }\r\n countStar(star) {\r\n this.selectedValue = star;\r\n //console.log('Value of star', star);\r\n }\r\n rattingSubmit(Product,Comment) {\r\n debugger\r\n let details = [{\r\n \r\n Id: 0,\r\n CustomerId: this.LoginDetails.Id,\r\n ProductId: Product.ProductId,\r\n Starscount: this.selectedValue ,\r\n Comments: Comment,\r\n Status: 1,\r\n CreatedBy: 1\r\n }];\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(details));\r\n var url = \"api/Products/SaveCustomerRating\"\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n debugger\r\n //this.OrderedProductList = data;\r\n this.Product = '';\r\n this.Comment = '';\r\n\r\n this.selectedValue = '';\r\n \r\n \r\n this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Submit Successfully' });\r\n\r\n //this.generalService.ShowAlert('SUCCESS', 'Submit Successfully.', 'success')\r\n \r\n \r\n }\r\n });\r\n }\r\n // The dropdown and search filter order products are linked by this code.\r\n filterGroupsSingleforGoal(event) {\r\n debugger\r\n let filtered: any[] = [];\r\n let query = event.query;\r\n {\r\n this.prList = [];\r\n for (let i = 0; i < this.orderDetails.length; i++) {\r\n let order = this.orderDetails[i];\r\n if (order.ProductName.toLowerCase().indexOf(query.toLowerCase()) == 0) {\r\n filtered.push(order);\r\n }\r\n }\r\n this.prList = filtered;\r\n }\r\n }\r\n}\r\n","\r\n
\r\n\r\n\r\n
\r\n
My Orders
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{item1.OrderID}}\r\n
\r\n
\r\n
\r\n
\r\n {{item1.CreatedDate | date:'dd-MMM-yyyy hh:mm a'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{item1.StatusName}}

\r\n
\r\n
\r\n
\r\n

\r\n Order Amount:{{item1.TotalPrice}}/-\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Review Your Purchases

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n {{autofillCustomers.ProductName}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n No orders available\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n
\r\n \"Logo\"\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Tax Invoice
\r\n \r\n
\r\n
\r\n Bill To:
\r\n {{orderDetails[0].FarmerName}} - {{orderDetails[0].MobileNo}} \r\n
\r\n {{orderDetails[0].HNo}}, {{orderDetails[0].Landmark}}, {{orderDetails[0].Area}},\r\n
\r\n {{orderDetails[0].City}}, {{orderDetails[0].State}} - {{orderDetails[0].Pincode}}
\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n\r\n
YK mart
\r\n
\r\n Herbal House, road no 3,servey no 255, Kuntloor\r\n
\r\n
\r\n Telangana\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Order Id: {{orderNo}}
Order Date: {{orderDate | date:'dd-MMM-yyyy'}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Invoice No:IN{{billNo}}
Invoice Date: {{orderDate | date:'dd-MMM-yyyy'}}
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n
S NoDescriptionHSNDocketNumberQtyunitsBase Price(₹)GST RateGST AmountAmount
{{i+1}}{{item1.ProductName}}{{item1.HSN}}{{item1.DocketNumber }}{{item1.Quantity}}{{item1.Size}}{{(item1.Price-item1.GstPrice ) | currency:'INR'}}{{item1.GST}}%₹{{item1.GstPrice}}.00{{item1.Price | currency:'INR'}}
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Actual Price: {{grandTotal+offerAmount-deliveryCharge | currency:'INR'}}
\r\n
Offer Amount: {{offerAmount | currency:'INR'}}
\r\n
Delivery Charge: {{deliveryCharge | currency:'INR'}}
\r\n
Total Amount: {{grandTotal | currency:'INR'}}
\r\n
\r\n
\r\n
\r\n We declare that this invoice shows the actual price of the goods described and that all
\r\n particulars are true and correct.\r\n
\r\n
\r\n Authorized Signatory\r\n
\r\n
This is computer generated invoice
\r\n

\r\n
\r\n \r\n  \r\n \r\n

\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { GeneralService } from '../../service/general.service'\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n@Component({\r\n selector: 'app-order-invoice',\r\n templateUrl: './order-invoice.component.html',\r\n styleUrls: ['./order-invoice.component.scss']\r\n})\r\nexport class OrderInvoiceComponent implements OnInit {\r\n deliveryCharge: any;\r\n offerAmount: any;\r\n grandTotal: any;\r\n billNo: any;\r\n orderDate: any;\r\n orderDetails: any = [];\r\n orderNo: string;\r\n LoginDetails: any;\r\n\r\n constructor(public generalService: GeneralService, public activeroute: ActivatedRoute) {\r\n this.LoginDetails = JSON.parse(localStorage.getItem(\"LoginDetails\"));\r\n this.orderNo = this.activeroute.snapshot.paramMap.get('No')\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getOrdersbasedOnOrderDetails()\r\n }\r\n\r\n getOrdersbasedOnOrderDetails() {\r\n debugger\r\n \r\n var arr = [];\r\n arr.push({\r\n TokenID: this.LoginDetails.Token,\r\n UserId: this.LoginDetails.Id,\r\n OrderID: this.orderNo\r\n })\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(arr));\r\n var url = \"/api/Products/Get_Admin_Orderdetails_BasedOn_OrderId\"\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n this.orderDetails = []\r\n this.orderDetails = data\r\n this.orderDate = data[0].CreatedDate\r\n this.billNo = data[0].TransactionID\r\n \r\n let grandTotal = data.reduce((total, order) => total + order.TotalPrice, 0);\r\n this.grandTotal = grandTotal\r\n this.offerAmount = data[0].OfferPrice\r\n this.deliveryCharge = 0\r\n }\r\n });\r\n }\r\n\r\n print():\r\n void {\r\n let printContents, popupWin;\r\n printContents = document.getElementById('print-section').innerHTML;\r\n //popupWin = window.open('','_blank', 'top=0,left=0,height=100%,width=auto');\r\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n \r\n \r\n Print tab\r\n \r\n \r\n ${printContents}\r\n `\r\n );\r\n popupWin.document.close();\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-page-footer',\r\n templateUrl: './page-footer.component.html',\r\n styleUrls: ['./page-footer.component.scss']\r\n})\r\nexport class PageFooterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n navigate() {\r\n window.open(\"www.yklaboratories.com\")\r\n }\r\n\r\n}\r\n","\r\n \r\n\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n  \r\n info@ykmart.in\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { GeneralService } from 'src/app/service/general.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { CartService } from 'src/app/service/cart.service';\r\nimport { WishlistService } from 'src/app/service/wishlist.service'\r\ndeclare var $;\r\n@Component({\r\n selector: 'app-page-header',\r\n templateUrl: './page-header.component.html',\r\n styleUrls: ['./page-header.component.scss']\r\n})\r\nexport class PageHeaderComponent implements OnInit {\r\n customerWishlistItems: any=[];\r\n FarmingProduces: any;\r\n Goals: any;\r\n currentCartItems: any=[];\r\n customerCartItems: any=[];\r\n wishlistItemsCount: any;\r\n logedinUser: string;\r\n LoginDetails: any;\r\n cartItemsCount: any;\r\n HomeURL: any;\r\n carDropdown: any;\r\n Categories: any;\r\n selectedProduct: any;\r\n public router: Router;\r\n\r\n searchedProducts: any;\r\n value1: any //=\"Shop By Products\";\r\n Producttoggle: boolean = false;\r\n constructor(public generalService: GeneralService, public http: HttpClient, router: Router,\r\n public cartService: CartService, public wishlistService: WishlistService) {\r\n this.router = router;\r\n\r\n this.LoginDetails = JSON.parse(localStorage.getItem(\"LoginDetails\"));\r\n if (this.LoginDetails) { \r\n this.getCartItemsListbasedonUserId(this.LoginDetails.Id)\r\n this.getWishListItemsListbasedonUserId(this.LoginDetails.Id)\r\n }\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n this.HomeURL = data.Webservice;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.GetGoals()\r\n this.GetCategoryforHeader()\r\n this.GetFarmingProduces()\r\n this.cartService.getProducts().subscribe(res => {/*getting cart product list count from cartservice*/\r\n this.cartItemsCount = res.length\r\n })\r\n this.wishlistService.getProducts().subscribe(res => {/*getting wish list count from wishlist service*/ \r\n this.wishlistItemsCount = res.length\r\n })\r\n window.onscroll = function () { myFunction() };\r\n\r\n var header = document.getElementById(\"myHeader\");\r\n var sticky = header.offsetTop;\r\n\r\n function myFunction() {\r\n if (window.pageYOffset > sticky) {\r\n header.classList.add(\"sticky\");\r\n } else {\r\n header.classList.remove(\"sticky\");\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * cart count return function\r\n */\r\n countReturn() {\r\n this.cartService.getProducts().subscribe(res => {/*getting cart product list count from cartservice*/\r\n \r\n this.cartItemsCount = res.length\r\n return this.cartItemsCount\r\n })\r\n return this.cartItemsCount\r\n }\r\n /*\r\n* Below method is used to get the Category with images from Server with reference of database path\r\n*/\r\n GetCategoryforHeader() {\r\n let arr = [];\r\n arr.push({ UserId: 0, TokenID: null })\r\n var UploadFile = new FormData()\r\n UploadFile.append(\"Param\", JSON.stringify(arr))\r\n var url = \"/api/Products/GetProductCategories\"\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n this.Categories = data\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Navigating to selected category in header page\r\n */\r\n navigateToCategoryProducts(data) {\r\n debugger\r\n var carName = \"\"; var catarr=[]\r\n this.ngOnInit()\r\n catarr = this.Categories.filter(A => A.CategoryName == data)//Filtering Categories data based on selected chemical name for getting category id \r\n var str = data.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n carName += \"_\"+str[i];\r\n }\r\n this.generalService.setCategoryid(catarr)\r\n this.router.navigate(['/Category/' + carName]);\r\n }\r\n\r\n /**\r\n filtering products method\r\n **/\r\n filterProducts(event) {\r\n debugger\r\n //in a real application, make a request to a remote url with the query and return filtered results, for demo we filter at client side\r\n let query = event.query;\r\n if (event.query.length > 2) {\r\n var UploadFile = new FormData()\r\n UploadFile.append(\"productName\", query)\r\n var url = \"/api/Products/GetAll_SearchingProducts\"\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n this.searchedProducts = data\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n } \r\n }\r\n\r\n /*navigating to customer search products*/\r\n navigatingToSearchedProduct(data) {\r\n debugger\r\n var prodName = \"\"; var prodarr = []\r\n prodarr.push(data)\r\n var str = data.productname.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n prodName += \"_\" + str[i];\r\n }\r\n this.generalService.setProducts(prodarr)\r\n if (data.SpecialityId == 0) {\r\n this.router.navigate(['/Product/' + prodName]);\r\n }\r\n else {\r\n this.router.navigate(['/EnquiryProducts/' + prodName])\r\n }\r\n }\r\n\r\n /**\r\n * below method is for getting loged in user name\r\n */\r\n logedin() {\r\n this.logedinUser = localStorage.getItem('token');\r\n return this.logedinUser;\r\n }\r\n\r\n /*Below method will call at the time of user clicks on logout*/\r\n logout() {\r\n this.cartService.removeAllcart();\r\n this.wishlistService.removeAllWishlistItems();\r\n this.router.navigate(['/CustomerLogin']);\r\n }\r\n\r\n /*method is for getting customer cart items based on the user id*/\r\n getCartItemsListbasedonUserId(userid) {\r\n this.customerCartItems = []\r\n this.currentCartItems = []\r\n /*below line of code is for getting current cart items from the current cart items with out login customer cart items*/\r\n var url = \"api/Products/GetAllCartItemsbasedOnUserId\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"UserId\", userid);\r\n this.generalService.PostData(url, UploadFile).then((data: any) => { \r\n this.cartService.removeAllcart();\r\n if (data != null) { \r\n for (var k = 0; k < data.length; k++) {/*Pushing customer cart items in to our cart page*/\r\n this.customerCartItems.push(data[k])\r\n this.cartService.addtoCart(this.customerCartItems[k])\r\n }\r\n }\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later', 'error');\r\n });\r\n }\r\n\r\n /*method is for getting customer cart items based on the user id*/\r\n getWishListItemsListbasedonUserId(userid) {\r\n /*below line of code is for getting current cart items from the current cart items with out login customer cart items*/\r\n var url = \"api/Products/GetAllWishListItemsbasedOnUserId\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"UserId\", userid);\r\n this.generalService.PostData(url, UploadFile).then((data: any) => { \r\n this.wishlistService.removeAllWishlistItems();\r\n if (data != null) { \r\n for (var k = 0; k < data.length; k++) {/*Pushing customer cart items in to our cart page*/\r\n this.customerWishlistItems.push(data[k])\r\n this.wishlistService.setProducts(this.customerWishlistItems[k])\r\n }\r\n }\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later', 'error');\r\n });\r\n }\r\n\r\n /*\r\n* Below method is used to get the Goals list for left side menu \r\n*/\r\n GetGoals() {\r\n var url = \"/api/Products/GetGoals\"\r\n this.generalService.GetData(url).then(data => {\r\n this.Goals = data\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n \r\n /**\r\n * Navigating to selected Goal in header page\r\n */\r\n navigateToGoalProducts(data) {\r\n debugger\r\n var carName = \"\"; var catarr = []\r\n this.ngOnInit()\r\n catarr = this.Goals.filter(A => A.GoalName == data)//Filtering Categories data based on selected chemical name for getting category id \r\n var str = data.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n carName += \"_\" + str[i];\r\n }\r\n this.generalService.setCategoryid(catarr)\r\n this.router.navigate(['/Goals/' + carName]);\r\n }\r\n\r\n /**\r\n * Navigating to selected Goal in header page\r\n */\r\n navigateToFarmingProducts(data) {\r\n debugger\r\n var carName = \"\"; var catarr = []\r\n this.ngOnInit()\r\n catarr = this.FarmingProduces.filter(A => A.SpecialityName == data)//Filtering Categories data based on selected chemical name for getting category id \r\n var str = data.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n carName += \"_\" + str[i];\r\n }\r\n this.generalService.setCategoryid(catarr)\r\n this.router.navigate(['/FarmerProduces/' + carName]);\r\n }\r\n\r\n /*\r\n* Below method is used to get the Goals list for left side menu \r\n*/\r\n GetFarmingProduces() {\r\n var url = \"/api/Products/GetFarmingProducesMaster\"\r\n this.generalService.GetData(url).then(data => {\r\n this.FarmingProduces = data\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EncryptionService } from '../service/encryption.service';\r\nimport { GeneralService } from '../service/general.service';\r\nimport { UserIdleService } from 'angular-user-idle';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-page-layout',\r\n templateUrl: './page-layout.component.html',\r\n styleUrls: ['./page-layout.component.scss']\r\n})\r\nexport class PageLayoutComponent implements OnInit {\r\n signinvalue: any;\r\n\r\n constructor(public userIdle: UserIdleService, public router: Router,public encryptionService: EncryptionService, public generalService: GeneralService, ) {\r\n this.signinvalue = localStorage.getItem(\"keepsignin\");\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.signinvalue != \"true\") {\r\n //Start watching for user inactivity.\r\n this.userIdle.startWatching();\r\n // Start watching when user idle is starting and reset if user action is there.\r\n this.userIdle.onTimerStart().subscribe(count => {\r\n var eventList = [\"click\", \"mouseover\", \"keydown\", \"DOMMouseScroll\", \"mousewheel\", \"mousedown\", \"touchstart\", \"touchmove\", \"scroll\", \"keyup\"];\r\n for (let event of eventList) {\r\n document.body.addEventListener(event, () => this.userIdle.resetTimer());\r\n }\r\n });\r\n // Start watch when time is up.\r\n this.userIdle.onTimeout().subscribe(() => {\r\n this.userIdle.stopWatching();\r\n localStorage.removeItem(\"LoginDetails\");\r\n localStorage.removeItem(\"keepsignin\");\r\n this.router.navigate(['/CustomerLogin']);\r\n this.generalService.ShowAlert('INFO', 'Your Session has been expired.', 'info');\r\n });\r\n }\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { GeneralService } from 'src/app/service/general.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\n@Component({\r\n selector: 'app-popular-purchase',\r\n templateUrl: './popular-purchase.component.html',\r\n styleUrls: ['./popular-purchase.component.scss']\r\n})\r\nexport class PopularPurchaseComponent implements OnInit {\r\n HomeURL: any;\r\n ProductName: any;\r\n PopularProducts: any;\r\n LoginDetails: any;\r\n @Output() someEvent = new EventEmitter();\r\n\r\n constructor(public generalService: GeneralService, public router: Router,\r\n public http: HttpClient) {\r\n this.LoginDetails = JSON.parse(localStorage.getItem(\"LoginDetails\"));\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n this.HomeURL = data.Webservice;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.GetPopularPurchaseProducts()\r\n }\r\n\r\n /*\r\n Below method is for Getting Popular purchases products for customer \r\n */\r\n GetPopularPurchaseProducts() {\r\n var url = \"api/Products/GetPopularPurchaseProducts\";\r\n this.generalService.GetData(url).then((data: any) => {\r\n if (data != null) {\r\n this.PopularProducts = data;\r\n // this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Added to Cart Successfully' });\r\n }\r\n })\r\n }\r\n\r\n /* popular product for navigation*/\r\n navigatingToPopularProd(item:any) {\r\n this.someEvent.next(item);\r\n }\r\n \r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
{{item.productname}}
\r\n
\r\n \r\n \r\n \r\n
\r\n
{{item.Pack1}}-₹{{item.Price}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-privacy-policy',\r\n templateUrl: './privacy-policy.component.html',\r\n styleUrls: ['./privacy-policy.component.scss']\r\n})\r\nexport class PrivacyPolicyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n Privacy Policy of YK Mart\r\n

YK Mart operates the https://ykmart.in website, which provides the SERVICE.

\r\n\r\n This page is used to inform website visitors regarding our policies with the collection,\r\n use, and disclosure of Personal Information if anyone decided to use our Service, the\r\n YK Mart website.\r\n\r\n

\r\n If you choose to use our Service, then you agree to the collection and use of information\r\n in relation with this policy. The Personal Information that we collect are used for providing\r\n and improving the Service. We will not use or share your information with anyone except as\r\n described in this Privacy Policy. Our Privacy Policy was created with the help of the\r\n Privacy Policy Template Generator.\r\n

\r\n\r\n

\r\n The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions,\r\n which is accessible at https://ykmart.in , unless otherwise defined in this Privacy Policy.\r\n

\r\n\r\n Information Collection and Use\r\n

\r\n For a better experience while using our Service, we may require you to provide us with certain\r\n personally identifiable information, including but not limited to your name, phone number, and\r\n postal address. The information that we collect will be used to contact or identify you.\r\n

\r\n\r\n Log Data\r\n

\r\n We want to inform you that whenever you visit our Service, we collect information that your\r\n browser sends to us that is called Log Data. This Log Data may include information such as your\r\n computer’s Internet Protocol (\"IP\") address, browser version, pages of our Service that you visit,\r\n the time and date of your visit, the time spent on those pages, and other statistics.\r\n

\r\n\r\n Cookies\r\n

\r\n Cookies are files with small amount of data that is commonly used an anonymous unique identifier.\r\n These are sent to your browser from the website that you visit and are stored on your computer’s\r\n hard drive.\r\n

\r\n\r\n

\r\n Our website uses these \"cookies\" to collection information and to improve our Service.\r\n You have the option to either accept or refuse these cookies, and know when a cookie is\r\n being sent to your computer. If you choose to refuse our cookies, you may not be able to\r\n use some portions of our Service.\r\n

\r\n\r\n

\r\n For more general information on cookies, please read \"Cookies\" article from the Privacy Policy\r\n Generator.\r\n

\r\n\r\n Service Providers\r\n\r\n

We may employ third-party companies and individuals due to the following reasons:

\r\n

\r\n 1.To facilitate our Service;\r\n 2.To provide the Service on our behalf;\r\n 3.To perform Service-related services; or\r\n 4.To assist us in analyzing how our Service is used.\r\n

\r\n\r\n

\r\n We want to inform our Service users that these third parties have access to your\r\n Personal Information. The reason is to perform the tasks assigned to them on our behalf.\r\n However, they are obligated not to disclose or use the information for any other purpose.\r\n

\r\n\r\n Security\r\n

\r\n We value your trust in providing us your Personal Information, thus we are striving to use\r\n commercially acceptable means of protecting it. But remember that no method of transmission\r\n over the internet, or method of electronic storage is 100% secure and reliable, and we cannot\r\n guarantee its absolute security.\r\n

\r\n\r\n Links to Other Sites\r\n

\r\n Our Service may contain links to other sites. If you click on a third-party link, you will be directed\r\n to that site. Note that these external sites are not operated by us.\r\n

\r\n Therefore, we strongly advise\r\n you to review the Privacy Policy of these websites. We have no control over, and assume no\r\n responsibility for the content, privacy policies, or practices of any third-party sites or services.\r\n\r\n\r\n

Children's Privacy

\r\n\r\n

\r\n Our Services do not address anyone under the age of 13. We do not knowingly collect personal\r\n identifiable information from children under 13. In the case we discover that a child under 13 has\r\n provided us with personal information, we immediately delete this from our servers. If you are a\r\n parent or guardian and you are aware that your child has provided us with personal information,\r\n please contact us so that we will be able to do necessary actions.\r\n

\r\n\r\n Changes to This Privacy Policy\r\n

\r\n We may update our Privacy Policy from time to time. Thus, we advise you to review this page\r\n periodically for any changes. We will notify you of any changes by posting the new Privacy Policy\r\n on this page. These changes are effective immediately, after they are posted on this page.\r\n

\r\n\r\n Contact Us\r\n

\r\n If you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us\r\n at Phone: (+91) 949 141 8181 / (+91) 970 512 9639, info@ykmart.in\r\n

\r\n\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { GeneralService } from 'src/app/service/general.service';\r\nimport { CartService } from 'src/app/service/cart.service'\r\nimport { MessageService } from 'primeng/api';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { WishlistService } from 'src/app/service/wishlist.service';\r\nimport { BrowserModule, DomSanitizer } from '@angular/platform-browser'\r\ndeclare var google: any;\r\n@Component({\r\n selector: 'app-product-enquiry',\r\n templateUrl: './product-enquiry.component.html',\r\n styleUrls: ['./product-enquiry.component.scss'],\r\n providers: [MessageService],\r\n})\r\nexport class ProductEnquiryComponent implements OnInit {\r\n Pincode: any;\r\n Name: any;\r\n lat: any;\r\n lng: any;\r\n addressDetails: any;\r\n addressId: any;\r\n Cartimesforloginusers: any = [];\r\n ProductInfo: any;\r\n recomendedCrops: any;\r\n benefits: any;\r\n ingrediants: any;\r\n dosage: any;\r\n logedinUser: any;\r\n LoginDetails: any;\r\n seletedItemforWishlist: any = [];\r\n wishListItems: any = [];\r\n whatsAppProductURL: string;\r\n Quantity: any = 1;\r\n itemSize: any;\r\n ItemId: any;\r\n currntPacksize: any;\r\n currentPrice: any;\r\n ProductName: any;\r\n HomeURL: any;\r\n productDetails: any;\r\n cartItemList: any = []\r\n selectedItemforCart: any = [];\r\n Mobile: any;\r\n HNo: any;\r\n Area: any;\r\n Landmark: any;\r\n City: any;\r\n State: any;\r\n Comments: any;\r\n videoUrl: any;\r\n constructor(public generalService: GeneralService, public http: HttpClient,\r\n public activeroute: ActivatedRoute, public cartService: CartService, public router: Router,\r\n public toast: MessageService, public wishlistService: WishlistService, private sanitizer: DomSanitizer) { \r\n this.ProductName = this.activeroute.snapshot.paramMap.get('jame').replace(/\\_/g, \" \").trim();\r\n this.LoginDetails = JSON.parse(localStorage.getItem(\"LoginDetails\")); \r\n this.generalService.getProducts().subscribe(res => { \r\n if (res.length == 0) {//if category id is null\r\n this.GetProductDetailsbasedonProductName()\r\n }\r\n else {\r\n this.ProductName = res[0].productname\r\n this.currentPrice = res[0].Price1\r\n this.currntPacksize = res[0].Pack1\r\n this.productDetails = res;\r\n this.videoUrl = res[0].VideoLink;\r\n this.ProductInfo = decodeURIComponent(res[0].ProductInfo)\r\n this.recomendedCrops = decodeURIComponent(this.productDetails[0].RecommendedCrops)\r\n this.benefits = decodeURIComponent(this.productDetails[0].Benefits)\r\n this.dosage = decodeURIComponent(this.productDetails[0].Dosage)\r\n }\r\n })\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n this.HomeURL = data.Webservice;\r\n });\r\n navigator.geolocation.getCurrentPosition(position => { \r\n this.lat = (position.coords.latitude)*1\r\n this.lng = (position.coords.longitude) * 1\r\n this.getLocation(this.lat, this.lng)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.cartService.getProducts().subscribe(res => {\r\n this.cartItemList = res /*Getting current cart item lists*/\r\n })\r\n this.wishlistService.getProducts().subscribe(res => {\r\n this.wishListItems = res /*this is a service call for getting wishlist items*/\r\n })\r\n if (this.LoginDetails) {\r\n this.getCustomerAddress()\r\n }\r\n this.clearFields()\r\n console.log(this.videoUrl);\r\n\r\n }\r\n /*\r\n Getting product details based on their product name which was getting from active routs in url\r\n */\r\n GetProductDetailsbasedonProductName() {\r\n var UploadFile = new FormData()\r\n UploadFile.append(\"ProductName\", this.ProductName)\r\n var url = \"/api/Products/GetAllCategoryWiseProductsBasedOnProductName\"\r\n this.generalService.PostData(url, UploadFile).then(data => { \r\n this.productDetails = data\r\n this.ProductInfo = null;\r\n this.recomendedCrops = null;\r\n this.benefits = null;\r\n this.ingrediants = null;\r\n this.dosage = null\r\n this.videoUrl = this.productDetails[0].VideoLink\r\n this.currentPrice = this.productDetails[0].Price1\r\n this.currntPacksize = this.productDetails[0].Pack1\r\n this.ProductInfo = decodeURIComponent(this.productDetails[0].ProductInfo)\r\n this.recomendedCrops = decodeURIComponent(this.productDetails[0].RecommendedCrops)\r\n this.benefits = decodeURIComponent(this.productDetails[0].Benefits)\r\n this.dosage = decodeURIComponent(this.productDetails[0].Dosage)\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n\r\n /*\r\n below method fires when the user clicks on size pack along with price\r\n */\r\n selectPrice(size, price) {\r\n this.currntPacksize = size\r\n this.currentPrice = price\r\n }\r\n \r\n /*\r\n *Below method is for sharing url on whatsapp \r\n */\r\n sendWhatsapp(item) {\r\n var prodName = \"\"\r\n var str = item.productname.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n prodName += \"_\" + str[i];\r\n }\r\n this.whatsAppProductURL = \"https://ykmart.breakingindiaapp.com/%23/Product/\" + prodName\r\n window.open(\"https://api.whatsapp.com/send?&text=\" + this.whatsAppProductURL)\r\n }\r\n\r\n \r\n /** \r\n * below method is for getting loged in user name\r\n */\r\n logedin() {\r\n this.logedinUser = localStorage.getItem('token');\r\n return this.logedinUser;\r\n }\r\n /*\r\n *Get Customer Delivery Address \r\n */\r\n getCustomerAddress() {\r\n let Address = [{\r\n UserId: this.LoginDetails.Id\r\n }];\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(Address));\r\n var url = \"/api/Products/Get_Customer_Address_Based_On_Id\"\r\n // this.http.post(url, formData).pipe(map(res => res)).subscribe((data: any) => {\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n this.addressDetails = data;\r\n }\r\n });\r\n }\r\n\r\n /*\r\n get selected addresss of customers\r\n */\r\n getSelectedAddress(item) {\r\n // this.addressId=item\r\n }\r\n\r\n /**\r\n * Below method fired when the user raises an enquiry\r\n */\r\n PlaceEnquiry() {\r\n var arr = [];\r\n if (!this.addressId) { \r\n this.toast.add({ severity: 'warn', summary: 'Warning', life: 2000, detail: 'Please select address for enquiry' });\r\n }\r\n else {\r\n for (var i = 0; i < this.productDetails.length; i++) {\r\n arr.push({\r\n Customerid: this.LoginDetails.Id, AddressId: this.addressId,\r\n ProductId: this.productDetails[i].Productid, TotalProducts: this.Quantity,\r\n Size: this.currntPacksize, TotalAmount: this.productDetails[i].Price,\r\n AdminAmount: this.productDetails[i].Price, CustomerName: this.LoginDetails.FarmerName,\r\n Mobile: this.LoginDetails.MobileNo, Latitude: this.lat, Longitude: this.lng,\r\n Comments: this.Comments\r\n })\r\n }\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(arr));\r\n var url = \"/api/Products/Insert_Customer_Enquires\"\r\n // this.http.post(url, formData).pipe(map(res => res)).subscribe((data: any) => {\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n this.addressId=\"\"\r\n this.toast.add({ severity: 'success', summary: 'Success', life: 2000, detail: 'Your enquiry placed successfully Ykmart team get you soon' });\r\n this.ngOnInit()\r\n }\r\n });\r\n }\r\n }\r\n\r\n /* ProductName for navigation*/\r\n navigatingtoFarmerProduces(data) { \r\n var catName = \"\";\r\n var str = data.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n catName += \"_\" + str[i];\r\n }\r\n this.router.navigate(['/FarmerProduces/' + catName]);\r\n }\r\n\r\n /**\r\n * Below method fired when the user raises an enquiry With out login\r\n */\r\n PlaceEnquiryNormalUser() {\r\n if (!this.LoginDetails) {\r\n if (!this.Name || !this.Mobile) {\r\n this.generalService.ShowAlert('WARNING', 'Please fill Name and Mobile No.', 'warning');\r\n // this.toast.add({ severity: 'warning', summary: 'Warning', life: 2000, detail: 'Please fill Name and Mobile No.' });\r\n return false;\r\n }\r\n }\r\n var arr = [];\r\n for (var i = 0; i < this.productDetails.length; i++) {\r\n arr.push({\r\n AddressId: this.addressId,\r\n ProductId: this.productDetails[i].Productid, TotalProducts: this.Quantity,\r\n Size: this.currntPacksize, TotalAmount: this.productDetails[i].Price,\r\n AdminAmount: this.productDetails[i].Price,\r\n City: this.City, HNo: this.HNo, Area: this.Area, LandMark: this.Landmark,\r\n State: this.State, Mobile: this.Mobile, Latitude: this.lat, Longitude: this.lng,\r\n Pincode: this.Pincode, CustomerName: this.Name, Comments: this.Comments\r\n })\r\n }\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(arr));\r\n var url = \"/api/Products/Insert_Customer_Enquires\"\r\n // this.http.post(url, formData).pipe(map(res => res)).subscribe((data: any) => {\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n this.addressId = \"\"\r\n this.toast.add({ severity: 'success', summary: 'Success', life: 2000, detail: 'Your enquiry placed successfully Ykmart team get you soon' });\r\n this.ngOnInit()\r\n }\r\n });\r\n }\r\n /**Get Formated Addreess using this method*\r\n *@param lat\r\n * @param long\r\n */\r\n getLocation(lat, long) {\r\n var geocoder = new google.maps.Geocoder();\r\n let latlng = new google.maps.LatLng(lat, long);\r\n let request = { latLng: latlng };\r\n geocoder.geocode(request, async (results, status) => {\r\n if (status == google.maps.GeocoderStatus.OK) {\r\n let result = results[0];\r\n // this.ADDRESS1 = result.formatted_address;\r\n this.Pincode = result.address_components.find(x => x.types == 'postal_code').long_name;\r\n this.State = result.address_components.find(x => x.types[0] == 'administrative_area_level_1').long_name;\r\n this.City = result.address_components.find(x => x.types[0] == 'locality').long_name;\r\n }\r\n })\r\n }\r\n\r\n /*Clear all enquiry fields*/\r\n clearFields() {\r\n this.HNo = \"\"\r\n this.Area = \"\"\r\n this.Landmark = \"\"\r\n this.Pincode = \"\"\r\n this.Name = \"\"\r\n this.Mobile = \"\"\r\n this.Comments=\"\"\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n Home\r\n
  2. \r\n
  3. \r\n {{productDetails[0].SpecialityName}}\r\n
  4. \r\n
  5. \r\n {{ProductName}}\r\n
  6. \r\n
\r\n\r\n
\r\n
\r\n
\r\n \"...\"\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n

{{productDetails[0].productname}}

\r\n \r\n \r\n
\r\n Share\r\n\r\n  \r\n
\r\n\r\n \r\n
\r\n Size : {{currntPacksize}}\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
{{productDetails[0].Pack1}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{productDetails[0].Pack2}}
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
{{productDetails[0].Pack3}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{productDetails[0].Pack4}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Product Information\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n Benefits\r\n
\r\n

\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
CART FOR ENQUIRY
\r\n\r\n \r\n
\r\n \r\n
\r\n Quantity\r\n \r\n \r\n \r\n

\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Quantity\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n

\r\n \r\n

\r\n\r\n \r\n \r\n

\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n My Address {{i+1}}\r\n
\r\n \r\n {{item.Area}}, {{item.HNo}}, {{item.Landmark}}, {{item.City}}, {{item.State}}, {{item.Pincode}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n YKmart youtube Video\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, ViewEncapsulation, ElementRef, ViewChild } from '@angular/core';\r\nimport { GeneralService } from 'src/app/service/general.service';\r\nimport { CartService } from 'src/app/service/cart.service'\r\nimport { MessageService } from 'primeng/api';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { WishlistService } from 'src/app/service/wishlist.service';\r\nimport { BrowserModule, DomSanitizer } from '@angular/platform-browser'\r\nimport { ImageCroppedEvent } from 'ngx-image-cropper';\r\ndeclare var Razorpay: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-product-information',\r\n templateUrl: './product-information.component.html',\r\n styleUrls: ['./product-information.component.scss'],\r\n providers: [MessageService],\r\n})\r\nexport class ProductInformationComponent implements OnInit {\r\n\r\n @ViewChild('scrollMe') private myScrollContainer: ElementRef;\r\n gstAmount: any;\r\n ProductId: any;\r\n PopularProducts: any;\r\n arr: any = [];\r\n addNew: boolean = false;\r\n catName: string;\r\n WishListitemmsforloginusers: any = [];\r\n productFrameImage: any;\r\n Products: any;\r\n ProductImages: any;\r\n addressId: any;\r\n Cartimesforloginusers: any = [];\r\n ProductInfo: any;\r\n recomendedCrops: any;\r\n benefits: any;\r\n loginStatus: boolean;\r\n ingrediants: any;\r\n dosage: any;\r\n logedinUser: any;\r\n LoginDetails: any;\r\n subTotal1: any;\r\n seletedItemforWishlist: any = [];\r\n wishListItems: any = [];\r\n whatsAppProductURL: string;\r\n Quantity: any = 1;\r\n itemSize: any;\r\n ItemId: any;\r\n currntPacksize: any;\r\n currentPrice: any;\r\n ProductName: any;\r\n HomeURL: any;\r\n productDetails: any = [];\r\n cartItemList: any = []\r\n selectedItemforCart: any = []\r\n Starscount: any;\r\n Comments: any;\r\n CreatedDate: any;\r\n ReviewsData: any;\r\n imageUrl: any;\r\n video: any = false;\r\n prodName: any;\r\n addressDetails: any;\r\n plus: boolean = true;\r\n n: any;\r\n PaymentType: any;\r\n cartItems: any;\r\n addressDetails1: any;\r\n offerPrice: any;\r\n deliveryCharge: any;\r\n TotalPrice: any;\r\n val: number;\r\n subTotal: any = 0;\r\n admin: any;\r\n TaxnId:any;\r\n //ItemId: any;\r\n constructor(public generalService: GeneralService, public http: HttpClient,\r\n public activeroute: ActivatedRoute, public cartService: CartService, public router: Router,\r\n public toast: MessageService, public wishlistService: WishlistService, private sanitizer: DomSanitizer) {\r\n this.ProductName = this.activeroute.snapshot.paramMap.get('ProductDeatails').replace(/\\_/g, \" \").trim();\r\n //this.ProductId = this.activeroute.snapshot.paramMap.get('ProductDeatails').replace(/\\_/g, \" \").trim();\r\n\r\n\r\n this.LoginDetails = JSON.parse(localStorage.getItem(\"LoginDetails\"));\r\n this.cartService.getProducts().subscribe(res => {\r\n this.cartItemList = res /*Getting current cart item lists*/\r\n })\r\n this.wishlistService.getProducts().subscribe(res => {\r\n this.wishListItems = res /*this is a service call for getting wishlist items*/\r\n })\r\n this.generalService.getProducts().subscribe(res => {\r\n if (res.length == 0) {//if category id is null\r\n this.GetProductDetailsbasedonProductName()\r\n }\r\n else {\r\n //this.cartService.setRelatedproductId(res[0].Productid)\r\n this.ProductName = res[0].productname;\r\n this.GetProductDetailsbasedonProductName()\r\n //this.currentPrice = res[0].Price1\r\n //this.currntPacksize=res[0].Pack1\r\n //this.productDetails = res;\r\n //this.recomendedCrops = decodeURIComponent(this.productDetails[0].RecommendedCrops)\r\n //this.benefits = decodeURIComponent(this.productDetails[0].Benefits)\r\n //this.dosage = decodeURIComponent(this.productDetails[0].Dosage)\r\n // this.ingrediants = decodeURIComponent(this.productDetails[0].Ingredients)\r\n //this.GetProductimages(res[0].Productid)\r\n }\r\n })\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n this.HomeURL = data.Webservice;\r\n });\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n debugger\r\n if (this.LoginDetails) {\r\n this.loginStatus = true;\r\n this.getCustomerAddress();\r\n this.reviewandrating();\r\n //this.GetAllOffers();\r\n }\r\n else {\r\n this.loginStatus = false;\r\n }\r\n\r\n }\r\n\r\n //ngOnInit(): void {\r\n\r\n\r\n // this.GetProductsforCustomerwhoalsoviwed()\r\n // if (this.LoginDetails) {\r\n\r\n // this.loginStatus = true;\r\n // this.getCustomerAddress();\r\n // }\r\n // else {\r\n // this.loginStatus = false;\r\n\r\n // }\r\n //}\r\n\r\n /*\r\n Getting product details based on their product name which was getting from active routs in url\r\n */\r\n GetProductDetailsbasedonProductName() {\r\n debugger\r\n var UploadFile = new FormData()\r\n UploadFile.append(\"ProductName\", this.ProductName)\r\n var url = \"/api/Products/GetAllCategoryWiseProductsBasedOnProductName\"\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n debugger\r\n this.productDetails = data;\r\n this.productDetails[0].GoalName = localStorage.getItem('Goal') ? localStorage.getItem('Goal') : \"\";\r\n this.ProductInfo = null;\r\n this.recomendedCrops = null;\r\n this.benefits = null;\r\n this.ingrediants = null;\r\n this.dosage = null\r\n this.ProductId = this.productDetails[0].Productid\r\n this.cartService.setRelatedproductId(this.ProductId)\r\n this.currentPrice = this.productDetails[0].Price1\r\n this.currntPacksize = this.productDetails[0].Pack1\r\n this.gstAmount = this.productDetails[0].GstAmount1\r\n this.gstAmount = this.productDetails[0].GstAmount1\r\n //var ecomendedCrops = encodeURIComponent(\"
* Fost-RootexAct as a Soil Spreader and penetrate the irrigated water towards root zone.
\\n\\n
* Fost-Rootexincrease the water infiltration and water-holding capacity of the soil.
\\n\\n
* Fost–Rootexgreatly increase the plant root growth and metabolism, * Fost–Rootex enhance seed germination, and help plants deal with environmental stresses.
\\n\")\r\n //var emendedCrops = encodeURIComponent(\"ghghf\")\r\n\r\n this.recomendedCrops = decodeURIComponent(this.productDetails[0].RecommendedCrops)\r\n this.benefits = decodeURIComponent(this.productDetails[0].Benefits)\r\n this.dosage = decodeURIComponent(this.productDetails[0].Dosage)\r\n this.ingrediants = decodeURIComponent(this.productDetails[0].Ingredients)\r\n this.GetProductimages(this.productDetails[0].Productid)\r\n this.imageUrl = this.productDetails[0].VideoLink;\r\n this.ProductInfo = decodeURIComponent(this.productDetails[0].ProductInfo)\r\n console.log(this.productDetails);\r\n this.reviewandrating()\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n\r\n /*\r\n below method fires when the user clicks on size pack along with price\r\n */\r\n selectPrice(size, price, gstAmount) {\r\n debugger\r\n this.currntPacksize = size\r\n this.currentPrice = price,\r\n this.gstAmount = gstAmount\r\n }\r\n\r\n getCustomerAddress() {\r\n debugger\r\n let Address = [{\r\n UserId: this.LoginDetails.Id\r\n }];\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(Address));\r\n var url = \"/api/Products/Get_Customer_Address_Based_On_Id\"\r\n // this.http.post(url, formData).pipe(map(res => res)).subscribe((data: any) => {\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n debugger\r\n this.addressDetails = data;\r\n this.plus = false\r\n }\r\n });\r\n }\r\n\r\n PlaceOrder() {\r\n debugger\r\n\r\n this.arr = [];\r\n this.n = \"\"\r\n var d = new Date();\r\n this.n = d.getTime();\r\n\r\n //this.offerPrice = !this.offerPrice ? 0 : !this.offerPrice;\r\n {\r\n if (this.LoginDetails) {\r\n if (this.addressDetails) {\r\n if (!this.addressDetails[0].Id) {\r\n this.generalService.ShowAlert('Warning', 'Please select or add address for Delivery.', 'warning');\r\n }\r\n else {\r\n $('#myModal').modal('show');\r\n }\r\n } else {\r\n this.generalService.ShowAlert('Warning', 'Please add address for Delivery.', 'warning');\r\n this.router.navigate(['/Address']);\r\n }\r\n }\r\n\r\n this.arr.push({\r\n CustomerID: this.addressDetails[0].UserId, AddressId: this.addressDetails[0].Id,\r\n PaymentType: \"Online\", ProductId: this.productDetails[0].Productid,\r\n Quantity: this.Quantity, Size: this.currntPacksize,\r\n Price: this.currentPrice, TransactionID: this.n, GstPrice: this.gstAmount\r\n , DeliveryCharge: 0, TotalPrice: this.currentPrice * this.Quantity, OfferPrice: 0, CreatedBy: this.LoginDetails.Id, Device: 'Web'\r\n })\r\n }\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(this.arr));\r\n var url = \"/api/Products/Insert_Customer_Orders\"\r\n // this.http.post(url, formData).pipe(map(res => res)).subscribe((data: any) => {\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n\r\n if (this.PaymentType == \"CashOnDelivery\") {\r\n this.cancel()\r\n // this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Your order placed successfully' });\r\n // this.cartService.removeAllcart();\r\n this.val = 1\r\n // this.sendsmsToAdmin();\r\n // this.sendsms1();\r\n\r\n //this.sendMailToAdmin(this.val)\r\n this.router.navigate['/Home'];\r\n }\r\n else {\r\n\r\n this.RedirectToPaymentGateway(this.arr, this.n)\r\n //this.procedtoBuy();\r\n }\r\n }\r\n });\r\n }\r\n\r\n cancel() {\r\n $('#myModal').modal('hide');\r\n }\r\n\r\n RedirectToPaymentGateway(arr, n) {\r\n debugger\r\n // alert('hello')\r\n var UploadFile = new FormData();\r\n this.subTotal1 = this.currentPrice * this.Quantity;\r\n // this.subTotal = this.subTotal + this.deliveryCharge\r\n UploadFile.append('Name', this.LoginDetails.FarmerName);\r\n UploadFile.append('Mobile', this.LoginDetails.MobileNo);\r\n UploadFile.append('Email', this.LoginDetails.Email);\r\n UploadFile.append('Amount', this.subTotal1);\r\n UploadFile.append('Productinfo', \"Product\");\r\n UploadFile.append('TransactionId', n);\r\n UploadFile.append('BookingDetails', JSON.stringify(arr));\r\n //alert('Start')\r\n var url = \"/api/Products/PaymentGateWayWEB\";\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n debugger\r\n this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Your order placed successfully' });\r\n\r\n window.location.href = data.toString();\r\n this.cancel()\r\n // alert ('hello')\r\n this.cartService.removeAllcart()\r\n this.val = 1\r\n // this.sendsmsToAdmin();\r\n //this.sendsms1();\r\n // this.sendsms2();\r\n // this.sendMailToAdmin(this.val)\r\n //this.products = []\r\n // this.cartProducts = []\r\n //localStorage.removeItem('CartItems');\r\n //localStorage.setItem(\"totalcartitems\", JSON.stringify(this.cartProducts.length));\r\n //this.MailForCustomerPlaceOrder(CartProducts)\r\n this.router.navigate['/Home'];\r\n \r\n }, err => {\r\n this.router.navigate['/Cart'];\r\n });\r\n }\r\n\r\n\r\n getSelectedAddress(addressId: any) {\r\n //this.addressId = addressId;\r\n //console.log(addressId)\r\n }\r\n\r\n procedtoBuy() {\r\n debugger\r\n if (this.LoginDetails) {\r\n if (this.addressDetails) {\r\n if (this.addressDetails[0].Id) {\r\n $('#myModal').modal('show');\r\n\r\n }\r\n\r\n else {\r\n this.generalService.ShowAlert('Warning', 'Please add address for Delivery.', 'warning');\r\n this.router.navigate(['/Address']);\r\n }\r\n }\r\n }\r\n \r\n }\r\n\r\n\r\n\r\n\r\n rating(el: HTMLElement) {\r\n this.addNew = true;\r\n el.scrollIntoView();\r\n }\r\n\r\n //getting review and rating code\r\n reviewandrating() {\r\n debugger\r\n this.ProductId = this.productDetails[0].Productid;\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"Param\", this.ProductId);\r\n var url = \"/api/Products/Get_ReviewsandRatings\";\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n if (data != null) {\r\n this.ReviewsData = data;\r\n this.Starscount = this.ReviewsData[0].Starscount;\r\n //this.Comments = this.ReviewsData[0].Comments;\r\n //this.CreatedDate = this.ReviewsData[0].CreatedDate;\r\n\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n\r\n /*Below method fires when the user clicks on add to cart page\r\n */\r\n Addtocart(item: any) {\r\n debugger\r\n this.ItemId = 0;\r\n this.itemSize = \"\";\r\n this.selectedItemforCart.push({\r\n Productid: item.Productid, productname: item.productname, CategoryName: item.CategoryName ? item.CategoryName : \"\",\r\n Image: item.Image, Price: this.currentPrice, Pack: this.currntPacksize, Quantity: this.Quantity,\r\n UserId: \"\", GstPrice: this.gstAmount\r\n })\r\n\r\n if (this.cartItemList.length != 0 && this.cartItemList != \"\" && this.cartItemList != undefined && this.cartItemList != null) {\r\n for (var i = 0; i < this.cartItemList.length; i++) {\r\n if (this.cartItemList[i].Productid == this.selectedItemforCart[0].Productid) {//checking if the product is existing in the cartlist with same id\r\n if (this.cartItemList[i].Pack == this.selectedItemforCart[0].Pack) {//checking if the product is existing in the cartlist with same pack\r\n this.ItemId = this.cartItemList[i].Productid;\r\n this.itemSize = this.cartItemList[i].Pack;\r\n break;///sandhya\r\n }\r\n }\r\n }\r\n if (this.itemSize == this.selectedItemforCart[0].Pack && this.ItemId == this.selectedItemforCart[0].Productid) { //if product with same size then we show toast msg like below\r\n this.toast.add({ severity: 'warn', summary: 'Warning', life: 1000, detail: 'Product already exist in cart' });\r\n }\r\n else {\r\n if (this.logedin()) {\r\n this.insertCartItems(this.selectedItemforCart)\r\n }\r\n else {\r\n this.cartService.addtoCart(this.selectedItemforCart[0]);\r\n }\r\n this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Added to Cart Successfully' });\r\n }\r\n }\r\n else {\r\n if (this.logedin()) {\r\n this.insertCartItems(this.selectedItemforCart)\r\n }\r\n else {\r\n this.cartService.addtoCart(this.selectedItemforCart[0]);\r\n }\r\n this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Added to Cart Successfully' });\r\n }\r\n this.selectedItemforCart = []\r\n }\r\n\r\n /*\r\n *Below method is for sharing url on whatsapp \r\n */\r\n sendWhatsapp(item) {\r\n var prodName = \"\"\r\n var str = item.productname.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n prodName += \"_\" + str[i];\r\n }\r\n this.whatsAppProductURL = \"https://ykmart.in/%23/Product/\" + prodName\r\n window.open(\"https://api.whatsapp.com/send?&text=\" + this.whatsAppProductURL)\r\n }\r\n\r\n getPaymentType(pType) {\r\n this.PaymentType = pType\r\n }\r\n\r\n\r\n /*\r\n Below method is called when user click on add to wishlist\r\n */\r\n addToWishlist(item: any) {\r\n if (!this.logedin()) {\r\n this.toast.add({ severity: 'warn', summary: 'Warning', life: 1000, detail: 'Need to login to site for adding this product into wishlist' });\r\n this.router.navigate(['/CustomerLogin']);\r\n }\r\n else {\r\n this.seletedItemforWishlist = [];//sandhya\r\n this.seletedItemforWishlist.push({\r\n Productid: item.Productid, productname: item.productname, CategoryName: item.CategoryName,\r\n Image: item.Image, Price: this.currentPrice, Pack: this.currntPacksize, Quantity: this.Quantity,\r\n UserId: \"\", GstPrice: this.gstAmount\r\n })\r\n this.ItemId = 0;\r\n this.itemSize = \"\";\r\n\r\n if (this.wishListItems.length != 0 && this.wishListItems != \"\" && this.wishListItems != undefined && this.wishListItems != null) {\r\n this.wishListItems.map((a: any) => {\r\n if (a.Productid == this.seletedItemforWishlist[0].Productid) {//checking if the product is existing in the cartlist with same id\r\n if (a.Pack == this.seletedItemforWishlist[0].Pack) {//checking if the product is existing in the cartlist with same pack\r\n this.ItemId = a.Productid\r\n this.itemSize = a.Pack\r\n }\r\n }\r\n })\r\n\r\n if (this.itemSize == this.seletedItemforWishlist[0].Pack) { //if product with same size then we show toast msg like below\r\n this.toast.add({ severity: 'warn', summary: 'Warning', life: 1000, detail: 'Product already exist in wishlist' });\r\n }\r\n else {\r\n //this.wishlistService.setProducts(this.seletedItemforWishlist[0])\r\n this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Added to wishlist successfully' });\r\n if (this.logedin()) {\r\n this.insertWishListItems(this.seletedItemforWishlist)\r\n }\r\n }\r\n }\r\n else {\r\n //this.wishlistService.setProducts(this.seletedItemforWishlist[0])\r\n this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Added to wishlist successfully' });\r\n if (this.logedin()) {\r\n this.insertWishListItems(this.seletedItemforWishlist)\r\n }\r\n }\r\n this.seletedItemforWishlist = []\r\n }\r\n }\r\n\r\n /**\r\n * below method is for getting loged in user name\r\n */\r\n logedin() {\r\n this.logedinUser = localStorage.getItem('token');\r\n return this.logedinUser;\r\n }\r\n\r\n /*\r\n Below method is for Inserting customer cart items\r\n */\r\n insertCartItems(cartItems) {\r\n debugger\r\n this.Cartimesforloginusers = []\r\n this.Cartimesforloginusers.push(cartItems)\r\n cartItems[0].UserId = String(this.LoginDetails.Id)\r\n var url = \"api/Products/Insert_Cart_Items\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"Cartxml\", JSON.stringify(cartItems));\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n debugger\r\n if (data != null) {\r\n ///sandhya\r\n var object = data.filter(x => x.Productid == cartItems[0].Productid)[0];\r\n this.cartService.addtoCart(object);\r\n ///sandhya\r\n //this.cartService.addtoCart(this.selectedItemforCart[0]);\r\n // this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Added to Cart Successfully' });\r\n }\r\n })\r\n }\r\n\r\n /*\r\n Below method is for Inserting customer WishList items\r\n */\r\n insertWishListItems(wishlist) {\r\n debugger\r\n this.WishListitemmsforloginusers = []\r\n this.WishListitemmsforloginusers.push(wishlist)\r\n wishlist[0].UserId = String(this.LoginDetails.Id)\r\n var url = \"api/Products/Insert_WishList_Items\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"Cartxml\", JSON.stringify(wishlist));\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n if (data != null) {\r\n var object = data.filter(x => x.Productid == wishlist[0].Productid)[0];\r\n if (object.Pid) {\r\n object.WishlistId = object.Pid;\r\n this.wishlistService.setProducts(object);\r\n } else {\r\n this.getWishListItemsListbasedonUserId(wishlist);\r\n }\r\n }\r\n })\r\n }\r\n getWishListItemsListbasedonUserId(wishlist) {\r\n /*below line of code is for getting current cart items from the current cart items with out login customer cart items*/\r\n var url = \"api/Products/GetAllWishListItemsbasedOnUserId\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"UserId\", this.LoginDetails.Id);\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n this.wishlistService.removeAllWishlistItems();\r\n if (data != null) {\r\n var object = data.filter(x => x.Productid == wishlist[0].Productid)[0];\r\n this.wishlistService.setProducts(object);\r\n }\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later', 'error');\r\n });\r\n }\r\n\r\n /*\r\n Below method is for Get productImages\r\n */\r\n GetProductimages(ProductId) {\r\n debugger\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"Param\", ProductId);\r\n var url = \"api/Products/GetAll_ProductImagesBasedonProductId\";\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n if (data != null) {\r\n this.ProductImages = data;\r\n this.productFrameImage = data[0].UImage\r\n }\r\n })\r\n }\r\n\r\n /*\r\n* Below method is used to get the Products with images from Server with reference of database path\r\n*/\r\n GetProductsforCustomerwhoalsoviwed() {\r\n let arr = [];\r\n arr.push({ UserId: 0, TokenID: null })\r\n var UploadFile = new FormData()\r\n UploadFile.append(\"Param\", JSON.stringify(arr))\r\n var url = \"/api/Products/GetAllProductDetails\"\r\n this.generalService.PostData(url, UploadFile).then(data => {\r\n this.Products = data\r\n }, err => {\r\n this.generalService.ShowAlert('ERROR', 'Something went wrong. Please try again later.', 'error')\r\n });\r\n }\r\n\r\n /*changeImages*/\r\n changeImage(imgPath) {\r\n if (imgPath) {\r\n this.productFrameImage = imgPath;\r\n this.video = false;\r\n } else {\r\n this.video = true;\r\n }\r\n }\r\n\r\n\r\n /* categoryName for navigation*/\r\n navigatingtoCategory(data) {\r\n this.catName = \"\";\r\n var str = data.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n this.catName += \"_\" + str[i];\r\n }\r\n this.router.navigate(['/Category/' + data]);\r\n }\r\n\r\n\r\n /* popular product for navigation*/\r\n navigatingToPopularProd(item) {\r\n var catName = \"\";\r\n var str = item.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n catName += \"_\" + str[i];\r\n }\r\n this.ProductName = item\r\n this.GetProductDetailsbasedonProductName();\r\n this.router.navigate(['/Product/' + catName]);\r\n }\r\n\r\n \r\n RazorPayPayment() {\r\n debugger\r\n var d = new Date(),\r\n n = d.getTime();\r\n this.TaxnId = n;\r\n var options: any = {\r\n description: 'YKMart ',\r\n image: 'https://ykmart.in/assets/img/IMG-20220210-WA0049a.jpg',\r\n currency: 'INR',\r\n //key: 'rzp_test_PKZRt4NGyfabME',// Test key\r\n // key: 'rzp_live_LnpQ4EQWubWJOo',// Ggari key\r\n key: 'rzp_live_VcpmG5M8UJUp01',// Ykmart\r\n payment_id: n,\r\n payment_capture: '1',\r\n amount: (this.currentPrice * this.Quantity)*100,\r\n //callback_url:\"https://ykmart.in//\",\r\n name: \"YKMart \",\r\n prefill: {\r\n // email: this.LoginDetails.Email,\r\n contact: +91 + \"\" + this.LoginDetails.MobileNo,\r\n name: this.LoginDetails.FarmerName\r\n },\r\n theme: {\r\n color: '#008cb3'\r\n },\r\n handler: this.razorPayHandler.bind(this) // Define handler function\r\n }\r\n debugger\r\n var rzp1 = new Razorpay(options);\r\n //options['handler'] = this.razorPaySuccessHandler.bind(this);\r\n rzp1.open();\r\n //rzp1.on();\r\n }\r\n\r\n// Define handler function to capture payment response\r\n razorPayHandler(response: any){\r\n console.log(response);\r\n debugger\r\n if(response.razorpay_payment_id){\r\n localStorage.setItem(\"PaymentId\",response.razorpay_payment_id);\r\n console.log('Payment Succesfull:',response.razorpay_payment_id);\r\n this.InsertUSer();\r\n }else{\r\n console.log('payment failed or cancelled')\r\n }\r\n\r\n }\r\n\r\nInsertUSer(){\r\n debugger\r\n this.arr = [];\r\n this.n = \"\"\r\n var d = new Date();\r\n this.n = d.getTime();\r\n \r\n this.arr.push({\r\n CustomerID: this.addressDetails[0].UserId,\r\n AddressId: this.addressDetails[0].Id,\r\n PaymentType: \"Online\", ProductId: this.productDetails[0].Productid,\r\n Quantity: this.Quantity, Size: this.currntPacksize,\r\n Price: this.currentPrice, TransactionID:\r\n this.n, GstPrice: this.gstAmount,\r\n DeliveryCharge: 0,\r\n TotalPrice: this.currentPrice * this.Quantity, OfferPrice: 0,\r\n CreatedBy: this.LoginDetails.Id, Device: 'Web',\r\n TransactionStatus:'Success'\r\n })\r\n \r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(this.arr));\r\n var url = \"/api/Products/Insert_Customer_Orders\"\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n debugger\r\n if (data != \"\") {\r\n if (data == \"SUCCESS\") {\r\n \r\n this.generalService.ShowAlert('Success','Your Order Placed Succesfully','success')\r\n this.router.navigate(['/MyOrders']);\r\n }\r\n else {\r\n $('#myModal').modal('hide');\r\n this.sendsms1();\r\n this.sendsmsToAdmin1();\r\n\r\n this.generalService.ShowAlert('SUCCESS','Your Order Placed Succesfully','success')\r\n this.router.navigate(['/MyOrders']);\r\n }\r\n }\r\n });\r\n\r\n}\r\n\r\n sendsms1() {\r\n debugger\r\n this.addressDetails1 = []\r\n this.addressDetails1 = this.addressDetails\r\n this.admin = '8008336307/9866041417'\r\n this.addressDetails1 = this.arr[0].Price\r\n\r\n var url = 'api/Products/Send_sms_custuomer_orderplaced';\r\n\r\n let formdata = new FormData();\r\n formdata.append(\"details\", this.addressDetails1)\r\n formdata.append(\"order\", this.admin)\r\n formdata.append(\"mobile\", this.LoginDetails.MobileNo)\r\n\r\n this.generalService.PostData(url, formdata).then((data: any) => {\r\n this.sendsms2();\r\n })\r\n }\r\n\r\n\r\n sendsms2() {\r\n debugger\r\n this.addressDetails1 = []\r\n this.addressDetails1 = this.addressDetails\r\n this.admin = '9866079507/8008336307'\r\n this.addressDetails1 = this.arr[0].Price\r\n\r\n var url = 'api/Products/Send_sms_custuomer_orderplaced2';\r\n\r\n let formdata = new FormData();\r\n formdata.append(\"details\", this.addressDetails1)\r\n formdata.append(\"order\", this.admin)\r\n formdata.append(\"mobile\", this.LoginDetails.MobileNo)\r\n\r\n this.generalService.PostData(url, formdata).then((data: any) => {\r\n })\r\n }\r\n\r\n\r\n sendMailToAdmin(val) {\r\n debugger\r\n this.addressDetails1 = []\r\n this.addressDetails1 = this.addressDetails\r\n let arr = [];\r\n arr.push({\r\n OrderID: this.addressDetails1[0].OrderID,\r\n FarmerName: this.addressDetails1[0].FarmerName,\r\n MobileNo: this.addressDetails1[0].MobileNo,\r\n Area: this.addressDetails1[0].Area,\r\n City: this.addressDetails1[0].City,\r\n Email: this.addressDetails1[0].Email,\r\n //ProductName: this.orderDetails[0].ProductName,\r\n\r\n })\r\n var UploadFile = new FormData();\r\n var url = \"api/Products/Assginoredr_aftersend_mailToAdmin\"\r\n\r\n UploadFile.append(\"Xml\", JSON.stringify(arr));\r\n UploadFile.append(\"flag\", val);\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n debugger;\r\n this.sendsmsToAdmin();\r\n })\r\n }\r\n\r\n sendsmsToAdmin() {\r\n debugger\r\n this.addressDetails1 = this.addressDetails\r\n\r\n var AdMobile = '9866041417'\r\n var MessageText = \"A new order has been placed by the customer\" +':'+ this.LoginDetails.FarmerName + ':' + this.LoginDetails.MobileNo + ':'+ this.addressDetails1[0].Area + \".\" + \"Ykmart\";\r\n var UploadFile = new FormData();\r\n var url = \"api/Products/Customer_new_orderPlacement\"\r\n debugger\r\n UploadFile.append(\"Name\", this.LoginDetails.FarmerName);\r\n UploadFile.append(\"Mobile\", this.LoginDetails.MobileNo);\r\n UploadFile.append(\"ID\", this.addressDetails1[0].Area);\r\n UploadFile.append(\"AdMobile\", AdMobile);\r\n UploadFile.append(\"Text\", MessageText);\r\n\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n debugger;\r\n })\r\n }\r\n\r\n sendsmsToAdmin1() {\r\n debugger\r\n this.addressDetails1 = this.addressDetails\r\n\r\n var AdMobile = '8008336307'\r\n var MessageText = \"A new order has been placed by the customer\" + ':' + this.LoginDetails.FarmerName + ':' + this.LoginDetails.MobileNo + ':' + this.addressDetails1[0].Area + \".\" + \"Ykmart\";\r\n var UploadFile = new FormData();\r\n var url = \"api/Products/Customer_new_orderPlacement\"\r\n debugger\r\n UploadFile.append(\"Name\", this.LoginDetails.FarmerName);\r\n UploadFile.append(\"Mobile\", this.LoginDetails.MobileNo);\r\n UploadFile.append(\"ID\", this.addressDetails1[0].Area);\r\n UploadFile.append(\"AdMobile\", AdMobile);\r\n UploadFile.append(\"Text\", MessageText);\r\n\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n debugger;\r\n })\r\n }\r\n\r\n\r\n}\r\n\r\n","\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
    \r\n
  1. \r\n Home\r\n
  2. \r\n
  3. \r\n \r\n {{productDetails[0].CategoryName}}\r\n {{productDetails[0].GoalName}}\r\n \r\n
  4. \r\n
  5. \r\n {{ProductName}}\r\n
  6. \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"product\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"products\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{productDetails[0].productname}}-{{productDetails[0].CategoryName}}

\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\r\n {{Starscount}} Rate\r\n
\r\n\r\n
\r\n Reviews\r\n
\r\n\r\n
\r\n
\r\n Share\r\n \r\n  \r\n \r\n \r\n
\r\n \r\n
\r\n Size : {{currntPacksize}}\r\n
\r\n
\r\n Quantity\r\n \r\n \r\n \r\n
\r\n
Price : ₹{{currentPrice}}   GST Included ({{productDetails[0].GST}}%)
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
{{productDetails[0].Pack1}}
\r\n
₹{{productDetails[0].Price1}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{productDetails[0].Pack2}}
\r\n
₹{{productDetails[0].Price2}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{productDetails[0].Pack3}}
\r\n
₹{{productDetails[0].Price3}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{productDetails[0].Pack4}}
\r\n
₹{{productDetails[0].Price4}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n Production Information\r\n\r\n\r\n
\r\n

\r\n\r\n\r\n

\r\n
\r\n Benefits\r\n\r\n
\r\n\r\n

\r\n

\r\n
\r\n Dosage & Application Method\r\n\r\n
\r\n\r\n

\r\n

\r\n
\r\n Recommended For\r\n
\r\n

\r\n\r\n

\r\n
\r\n Ingredients\r\n
\r\n

\r\n\r\n

\r\n
\r\n\r\n\r\n
\r\n
\r\n Product Review\r\n

Date&Time

\r\n\r\n
\r\n
\r\n

{{ item.FarmerName}}

\r\n
\r\n\r\n
\r\n\r\n

{{ item.Comments}}

\r\n
\r\n
\r\n

{{item.CreatedDate|date:'dd/MM/yyyy '}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n Popular purchases\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Related Products\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Select Delivery mode

\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n    Online payment\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, Output,Input, EventEmitter } from '@angular/core';\r\nimport { GeneralService } from 'src/app/service/general.service';\r\nimport { CartService } from 'src/app/service/cart.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\n@Component({\r\n selector: 'app-related-products',\r\n templateUrl: './related-products.component.html',\r\n styleUrls: ['./related-products.component.scss']\r\n})\r\nexport class RelatedProductsComponent implements OnInit {\r\n relatedProducts: any;\r\n HomeURL: any;\r\n LoginDetails: any;\r\n /*Below method is for getting product id as input this component from product details page*/\r\n @Input() productId: any;\r\n /*Below method is for sending product name as output to product details page*/\r\n @Output() someEvent = new EventEmitter();\r\n\r\n constructor(public generalService: GeneralService, public router: Router,\r\n public http: HttpClient, public cart: CartService) {\r\n this.LoginDetails = JSON.parse(localStorage.getItem(\"LoginDetails\"));\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n this.HomeURL = data.Webservice;\r\n });\r\n this.cart.getrelatedProdNumber().subscribe((data: any) => {\r\n if (data) {\r\n this.GetrelatedProducts(data)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n this.GetrelatedProducts(this.productId)\r\n }\r\n\r\n\r\n /*\r\nBelow method is for Get Related products\r\n*/\r\n GetrelatedProducts(ProductId) {\r\n debugger\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"xml\", ProductId);\r\n var url = \"api/Products/Get_reletedproduct_basedon_productid\";\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n if (data != null) {\r\n this.relatedProducts = data;\r\n }\r\n })\r\n }\r\n\r\n /* related product for navigation*/\r\n navigatingToRelatedProd(item: any,id) {\r\n this.someEvent.next(item);\r\n /*below method is calling for changing related items regarding that product*/\r\n this.GetrelatedProducts(id)\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
{{item.productname}}
\r\n \r\n
₹{{item.UPrice}}
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-termsand-conditions',\r\n templateUrl: './termsand-conditions.component.html',\r\n styleUrls: ['./termsand-conditions.component.scss']\r\n})\r\nexport class TermsandConditionsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n Terms & Conditions of YK Mart\r\n

YK Mart operates the https://ykmart.in/ website, which provides the SERVICE.

\r\n\r\n This page is used to inform website visitors regarding our terms with the collection,\r\n use, and disclosure of Personal Information if anyone decided to use our Service, the\r\n YK Mart website.\r\n
\r\n Personal Information\r\n

\r\n As part of the registration process on the Site, YKMART may collect the following personally\r\n identifiable information about you: Name including Full Name, email address,\r\n mobile phone number and contact details, Postal code, address\r\n and information about the pages on the site you visit/access, the links you click on the site,\r\n the number of times you access the page and any such browsing information.\r\n

\r\n\r\n Account & Registration Obligations\r\n

\r\n All shoppers have to register and login for placing orders on the Site.\r\n You have to keep your account and registration details current and correct for communications\r\n related to your purchases from the site. By agreeing to the terms and conditions, the shopper\r\n agrees to receive promotional communication and newsletters upon registration\r\n

\r\n\r\n Pricing\r\n

\r\n All the products listed on the Site will be sold at MRP unless otherwise specified.\r\n The prices mentioned at the time of ordering will be the prices charged on the date of the\r\n delivery.\r\n Although prices of most of the products do not fluctuate on a daily basis but some of the\r\n commodities do change on a daily basis.\r\n

\r\n\r\n Return & Refunds\r\n

\r\n We have a \"no questions asked return and refund policy\" which entitles all our members to\r\n return the product at the time of delivery if due to some reason they are not satisfied\r\n with the quality or freshness of the product. We will take the returned product back with\r\n us and issue a credit note for the value of the return products which will be credited to\r\n your account on the Site. This can be used to pay your subsequent shopping bills.\r\n

\r\n\r\n You may not use the Site for any of the following purposes:\r\n

\r\n Disseminating any unlawful, harassing, libellous, abusive, threatening, harmful, vulgar, obscene, or otherwise objectionable material.\r\n Transmitting material that encourages conduct that constitutes a criminal offence or results in civil liability or otherwise breaches any relevant laws, regulations or code of practice.\r\n Gaining unauthorized access to other computer systems.\r\n Interfering with any other person's use or enjoyment of the Site.\r\n Breaching any applicable laws;\r\n Interfering or disrupting networks or web sites connected to the Site.\r\n\r\n Making, transmitting or storing electronic copies of materials protected by copyright without the permission of the owner.\r\n

\r\n\r\n Colours\r\n

\r\n We have made every effort to display the colours of our products that appear on the Website\r\n as accurately as possible. However, as the actual colours you see will depend on your monitor,\r\n we cannot guarantee that your monitor's display of any colour will be accurate.\r\n

\r\n\r\n Modification of Terms & Conditions of Service\r\n

\r\n YKMART may at any time modify the Terms & Conditions of Use of the Website without any\r\n prior notification to you. You can access the latest version of these Terms & Conditions\r\n at any given time on the Site. You should regularly review the Terms & Conditions on the Site.\r\n In the event the modified Terms & Conditions is not acceptable to you, you should discontinue\r\n using the Service. However, if you continue to use the Service you shall be deemed to have\r\n agreed to accept and abide by the modified Terms & Conditions of Use of this Site.\r\n

\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CartService } from 'src/app/service/cart.service';\r\nimport { WishlistService } from 'src/app/service/wishlist.service'\r\nimport { GeneralService } from 'src/app/service/general.service'\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\n@Component({\r\n selector: 'app-wishlist',\r\n templateUrl: './wishlist.component.html',\r\n styleUrls: ['./wishlist.component.scss'],\r\n providers: [MessageService]\r\n})\r\nexport class WishlistComponent implements OnInit {\r\n LoginDetails: any;\r\n Wishlistitmesforloginusers: any=[];\r\n wishlistIndex: any;\r\n cartItemList: any=[];\r\n selectedItemforCart: any=[];\r\n itemSize: any;\r\n ItemId: any;\r\n HomeURL: any;\r\n wishListItems: any = []\r\n\r\n constructor(public cartService: CartService, public http: HttpClient,\r\n public generalService: GeneralService, public router: Router,\r\n public wishlistService: WishlistService, public toast: MessageService) {\r\n this.LoginDetails = JSON.parse(localStorage.getItem(\"LoginDetails\"));\r\n this.wishlistService.getProducts().subscribe(res => {/*this is a service call for getting wishlist items*/\r\n this.wishListItems = res\r\n console.log(this.wishListItems)\r\n })\r\n this.cartService.getProducts().subscribe(res => {/*this is a service call for getting cart items*/\r\n this.cartItemList = res\r\n })\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {/* this service call is for getting Homeurl*/\r\n this.HomeURL = data.Webservice;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n /*\r\n Below method fires when the user clicks on add to cart page\r\n */\r\n movetoCart(item: any, index) {\r\n \r\n this.ItemId = 0;\r\n this.itemSize = \"\";\r\n // this.selectedItemforCart.push(item)\r\n this.selectedItemforCart.push({\r\n Productid: item.Productid, productname: item.productname, CategoryName: item.CategoryName,\r\n Image: item.Image, Price: item.Price, Pack: item.Pack, Quantity: item.Quantity,\r\n UserId: \"\"\r\n })\r\n if (this.cartItemList.length != 0 && this.cartItemList != \"\" && this.cartItemList != undefined && this.cartItemList != null) {\r\n for (var i = 0; i < this.cartItemList.length; i++) {\r\n if (this.cartItemList[i].Productid == this.selectedItemforCart[0].Productid) {//checking if the product is existing in the cartlist with same id\r\n if (this.cartItemList[i].Pack == this.selectedItemforCart[0].Pack) {//checking if the product is existing in the cartlist with same pack\r\n this.ItemId = this.cartItemList[i].Productid\r\n this.itemSize = this.cartItemList[i].Pack\r\n }\r\n }\r\n }\r\n if (this.itemSize == this.selectedItemforCart[0].Pack) { //if product with same size then we show toast msg like below\r\n this.toast.add({ severity: 'warn', summary: 'Warning', life: 1000, detail: 'Product already exist in cart' });\r\n this.wishlistService.removeWishlistItems(index)\r\n }\r\n else {\r\n this.cartService.addtoCart(this.selectedItemforCart[0]);\r\n this.insertCartItems(this.selectedItemforCart)\r\n this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Move to Cart Successfully' });\r\n // this.wishlistService.removeWishlistItems(index\r\n this.deleteFromwishList(index, item.WishlistId)\r\n }\r\n }\r\n else {\r\n this.cartService.addtoCart(this.selectedItemforCart[0]);\r\n this.insertCartItems(this.selectedItemforCart);\r\n // this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Move to Cart Successfully' });\r\n // this.wishlistService.removeWishlistItems(index)\r\n this.deleteFromwishList(index, item.WishlistId)\r\n }\r\n this.selectedItemforCart = []\r\n }\r\n\r\n /*\r\n Below method is called when the customer delete the product from the cart\r\n */\r\n deleteFromwishList(index, wishlistId) {\r\n debugger\r\n this.wishlistIndex = 0;\r\n this.wishlistIndex = index;\r\n let formData: FormData = new FormData();\r\n formData.append('wishListid', wishlistId);\r\n var url = \"/api/Products/DeleteWishlistItems\"\r\n // this.http.post(url, formData).pipe(map(res => res)).subscribe((data: any) => {\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data != \"\") {\r\n this.wishlistService.removeWishlistItems(this.wishlistIndex)\r\n // this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'product deleted successfully' });\r\n }\r\n });\r\n }\r\n\r\n /*\r\n Below method is called when the customer clicks on product it will navigating to product details page\r\n */\r\n navigatingToProduct(data) {\r\n debugger\r\n var prodName = \"\"; var prodarr = []\r\n var str = data.productname.split(\" \")//spliting the category name into string array where space occured\r\n for (let i = 0; i < str.length; i++) {\r\n prodName += \"_\" + str[i];\r\n }\r\n this.generalService.setProducts(prodarr);\r\n this.router.navigate(['/Product/' + prodName]);\r\n }\r\n\r\n /*\r\n Below method is for Inserting customer cart items\r\n */\r\n insertCartItems(cartItems) {\r\n debugger\r\n this.Wishlistitmesforloginusers = []\r\n this.Wishlistitmesforloginusers.push(cartItems)\r\n cartItems[0].UserId = String(this.LoginDetails.Id)\r\n var url = \"api/Products/Insert_Cart_Items\";\r\n var UploadFile = new FormData();\r\n UploadFile.append(\"Cartxml\", JSON.stringify(cartItems));\r\n this.generalService.PostData(url, UploadFile).then((data: any) => {\r\n if (data != null) { \r\n this.toast.add({ severity: 'success', summary: 'Success', life: 1000, detail: 'Added to Cart Successfully' });\r\n }\r\n })\r\n }\r\n\r\n }\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n Wishlist items({{wishListItems.length}})
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{item.productname}}-{{item.CategoryName}}-{{item.Pack}}.\r\n
\r\n
\r\n Price: ₹{{item.Price*item.Quantity}}.00\r\n
\r\n
\r\n Sold by: YK Laboratories\r\n
\r\n \r\n Delete\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-blank',\r\n templateUrl: './blank.component.html',\r\n styleUrls: ['./blank.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class BlankComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class NotFoundComponent {\r\n\r\n router: Router;\r\n \r\n constructor(router: Router) {\r\n this.router = router;\r\n }\r\n\r\n searchResult(): void {\r\n this.router.navigate(['/search']);\r\n }\r\n\r\n ngAfterViewInit(){\r\n document.getElementById('preloader').classList.add('hide'); \r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n

404

\r\n
Opps, it seems that this page does not exist.
\r\n

If you are sure it should, search for it.

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n Settings\r\n
\r\n
\r\n
Choose menu
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Choose menu type
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Choose theme skin
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Other theme options
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewEncapsulation, HostListener } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppSettings } from '../app.settings';\r\nimport { Settings } from '../app.settings.model';\r\nimport { EncryptionService } from '../service/encryption.service';\r\nimport { GeneralService } from '../service/general.service';\r\nimport { UserIdleService } from 'angular-user-idle';\r\n\r\n@Component({\r\n selector: 'app-pages',\r\n templateUrl: './pages.component.html',\r\n styleUrls: ['./pages.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PagesComponent implements OnInit {\r\n public showMenu:boolean = false;\r\n public showSetting:boolean = false;\r\n public menus = ['vertical', 'horizontal'];\r\n public menuOption:string;\r\n public menuTypes = ['default', 'compact', 'mini'];\r\n public menuTypeOption:string;\r\n signinvalue: any;\r\n Logindet: any;\r\n public settings: Settings;\r\n constructor(public userIdle: UserIdleService, public appSettings: AppSettings,\r\n public router: Router, public encryptionService: EncryptionService, public generalService: GeneralService, ) {\r\n this.settings = this.appSettings.settings;\r\n this.signinvalue = localStorage.getItem(\"keepsignin\");\r\n if (sessionStorage[\"skin\"]) {\r\n this.settings.theme.skin = sessionStorage[\"skin\"];\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n if (this.signinvalue != \"true\") {\r\n //Start watching for user inactivity.\r\n this.userIdle.startWatching();\r\n // Start watching when user idle is starting and reset if user action is there.\r\n this.userIdle.onTimerStart().subscribe(count => {\r\n var eventList = [\"click\", \"mouseover\", \"keydown\", \"DOMMouseScroll\", \"mousewheel\", \"mousedown\", \"touchstart\", \"touchmove\", \"scroll\", \"keyup\"];\r\n for (let event of eventList) {\r\n document.body.addEventListener(event, () => this.userIdle.resetTimer());\r\n }\r\n });\r\n // Start watch when time is up.\r\n this.userIdle.onTimeout().subscribe(() => {\r\n this.userIdle.stopWatching();\r\n localStorage.removeItem(\"LoginDetails\");\r\n localStorage.removeItem(\"keepsignin\");\r\n this.router.navigate(['/login']);\r\n this.generalService.ShowAlert('INFO', 'Your Session has been expired.', 'info');\r\n });\r\n }\r\n if(window.innerWidth <= 768){\r\n this.settings.theme.showMenu = false;\r\n this.settings.theme.sideChatIsHoverable = false;\r\n }\r\n this.showMenu = this.settings.theme.showMenu;\r\n this.menuOption = this.settings.theme.menu;\r\n this.menuTypeOption = this.settings.theme.menuType; \r\n }\r\n\r\n public chooseMenu(menu){\r\n this.settings.theme.menu = menu; \r\n this.router.navigate(['/']); \r\n }\r\n\r\n public chooseMenuType(menuType){\r\n this.settings.theme.menuType = menuType;\r\n jQuery('.menu-item-link').tooltip({\r\n sanitize: false,\r\n sanitizeFn: function (content) {\r\n return null;\r\n }\r\n });\r\n if(menuType=='mini'){\r\n jQuery('.menu-item-link').tooltip('enable');\r\n }else{\r\n jQuery('.menu-item-link').tooltip('disable');\r\n }\r\n }\r\n\r\n public changeTheme(theme){\r\n this.settings.theme.skin = theme;\r\n sessionStorage[\"skin\"] = theme; \r\n }\r\n \r\n ngAfterViewInit(){\r\n document.getElementById('preloader').classList.add('hide');\r\n }\r\n\r\n\r\n @HostListener('window:resize')\r\n public onWindowResize():void {\r\n let showMenu= !this._showMenu();\r\n\r\n if (this.showMenu !== showMenu) {\r\n this.showMenuStateChange(showMenu);\r\n }\r\n this.showMenu = showMenu;\r\n }\r\n\r\n public showMenuStateChange(showMenu:boolean):void {\r\n this.settings.theme.showMenu = showMenu;\r\n }\r\n\r\n private _showMenu():boolean {\r\n return window.innerWidth <= 768;\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SearchComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

Search results...

","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport Swal from 'sweetalert2';\r\nimport { Subject, BehaviorSubject } from 'rxjs';\r\n\r\n\r\n\r\nfunction _window(): any {\r\n return _window;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class CartService {\r\n\r\n get nativeWindow(): any {\r\n return _window();\r\n }\r\n\r\n public cartItemList: any = []\r\n public ordeDetails: any = []\r\n public relatedProductDetails:any=[]\r\n public prodctList = new BehaviorSubject([]);\r\n public orderList = new BehaviorSubject([]);\r\n public relatedProdList = new BehaviorSubject([]);\r\n\r\n constructor() { }\r\n\r\n getProducts() {\r\n return this.prodctList.asObservable();\r\n }\r\n setProducts(product: any) {\r\n this.cartItemList.push(...product);\r\n this.prodctList.next(product)\r\n }\r\n addtoCart(products: any) {\r\n debugger\r\n this.cartItemList.push(products)\r\n this.prodctList.next(this.cartItemList);\r\n this.getTotalPrice();\r\n }\r\n getTotalPrice() {\r\n let grandTotal = 0;\r\n this.cartItemList.map((a: any) => {\r\n grandTotal += a.MRp * 1;\r\n })\r\n return grandTotal;\r\n }\r\n\r\n removeCartItems(index: any) { \r\n this.cartItemList.splice(index, 1)\r\n this.prodctList.next(this.cartItemList);\r\n }\r\n\r\n removeAllcart() {\r\n this.cartItemList = [];\r\n this.prodctList.next(this.cartItemList);\r\n }\r\n\r\n showOrderdetails(orders: any) { \r\n this.ordeDetails = []\r\n this.ordeDetails.push(orders)\r\n this.orderList.next(this.ordeDetails)\r\n }\r\n getOrderNumber() {\r\n return this.orderList.asObservable();\r\n }\r\n\r\n setRelatedproductId(productId: any) {\r\n this.relatedProductDetails = []\r\n this.relatedProductDetails.push(productId)\r\n this.relatedProdList.next(this.relatedProductDetails)\r\n }\r\n getrelatedProdNumber() {\r\n return this.relatedProdList.asObservable();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EncryptionService {\r\n encryptionPassword: string = \"Gagri^2020\";\r\n\r\n encrypt(data) {\r\n if (data != null || data != undefined) {\r\n var conversionEncryptOutput = CryptoJS.AES.encrypt(data.trim(), this.encryptionPassword.trim()).toString();\r\n return conversionEncryptOutput;\r\n }\r\n }\r\n\r\n decrypt(data) {\r\n if (data != null || data != undefined) {\r\n var conversionDecryptOutput = CryptoJS.AES.decrypt(data.trim(), this.encryptionPassword.trim()).toString(CryptoJS.enc.Utf8);\r\n return conversionDecryptOutput;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport Swal from 'sweetalert2';\r\nimport { Subject, BehaviorSubject } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GeneralService {\r\n HomeURL: any;\r\n url: any;\r\n urlname: any;\r\n categoryId: any = []\r\n prodData:any=[]\r\n private client = new BehaviorSubject('');\r\n clientData = this.client.asObservable();\r\n public categoryIDarr = new BehaviorSubject([]);\r\n public productArr = new BehaviorSubject([]);\r\n\r\n constructor(public http: HttpClient) {\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n this.HomeURL = data.Webservice;\r\n });\r\n }\r\n\r\n getClientData(data: any) { \r\n this.client.next(data);\r\n }\r\n /*\r\n Below method is for getting category id from throug services\r\n */\r\n getCategoryid() {\r\n return this.categoryIDarr.asObservable();\r\n }\r\n /*\r\n Below method is for setting category id from throug services\r\n */\r\n setCategoryid(data: any) { \r\n this.categoryId=[]\r\n this.categoryId.push(...data)\r\n this.categoryIDarr.next(this.categoryId)\r\n }\r\n /**\r\n * clear category Id\r\n */\r\n clearCategoryid() {\r\n this.categoryId = []\r\n this.categoryIDarr.next(this.categoryId)\r\n }\r\n\r\n /*\r\n Below method is for getting Products from throug services\r\n */\r\n getProducts() { \r\n return this.productArr.asObservable();\r\n }\r\n\r\n /*\r\n Below method is for setting Products from throug services\r\n */\r\n setProducts(data: any) { \r\n this.prodData = []\r\n this.prodData.push(...data)\r\n this.productArr.next(this.prodData)\r\n }\r\n\r\n\r\n ShowAlert(title, text, type) {\r\n Swal.fire({\r\n title: title,\r\n html: text,\r\n //icon: type,\r\n confirmButtonText: 'Ok'\r\n })\r\n }\r\n ShowAlert1(title, text, type) {\r\n Swal.fire({\r\n title: title,\r\n html: text,\r\n //icon: type,\r\n confirmButtonText: 'Print',\r\n //confirmButtonText1: 'Cancel'\r\n })\r\n }\r\n //Global Method to retrieve data \r\n GetData(url) {\r\n return new Promise((resolve, reject) => {\r\n \r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n \r\n this.urlname = data.Webservice;\r\n this.url = this.urlname + url\r\n this.http.get(this.url).subscribe(data => {\r\n\r\n resolve(data)\r\n }, err => {\r\n reject(err)\r\n })\r\n }, err => {\r\n reject(err)\r\n })\r\n });\r\n }\r\n PostData(url, PostParam) {\r\n \r\n return new Promise((resolve, reject) => {\r\n \r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n \r\n this.urlname = data.Webservice;\r\n url = data.Webservice + url\r\n this.http.post(url, PostParam).subscribe(data => {\r\n \r\n resolve(data)\r\n }, err => {\r\n reject(err)\r\n })\r\n }, err => {\r\n reject(err)\r\n })\r\n });\r\n }\r\n PostData2(url, PostParam, PostParam2) {\r\n ;\r\n return new Promise((resolve, reject) => {\r\n this.http.get('../assets/WebService.json').subscribe((data: any) => {\r\n url = data.Webservice + url\r\n this.http.post(url, PostParam, PostParam2).subscribe(data => {\r\n resolve(data)\r\n }, err => {\r\n reject(err)\r\n })\r\n }, err => {\r\n reject(err)\r\n })\r\n });\r\n }\r\n}\r\n","// notification.service.ts\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NotificationService {\r\n requestPermission(): void {\r\n if ('Notification' in window) {\r\n Notification.requestPermission().then((permission) => {\r\n console.log('Notification permission:', permission);\r\n });\r\n }\r\n }\r\n\r\n showNotification(title: string, options?: NotificationOptions): void {\r\n if ('Notification' in window && Notification.permission === 'granted') {\r\n new Notification(title, options);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport Swal from 'sweetalert2';\r\nimport { Subject, BehaviorSubject } from 'rxjs';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WishlistService {\r\n public wishlistItem: any = []\r\n public prodctList = new BehaviorSubject([]);\r\n\r\n constructor() { }\r\n\r\n getProducts() {\r\n return this.prodctList.asObservable();\r\n }\r\n setProducts(product: any) {\r\n this.wishlistItem.push(product);\r\n this.prodctList.next(this.wishlistItem)\r\n }\r\n removeWishlistItems(index: any) { \r\n this.wishlistItem.splice(index, 1)\r\n this.prodctList.next(this.wishlistItem);\r\n }\r\n removeAllWishlistItems() {\r\n this.wishlistItem=[]\r\n this.prodctList.next(this.wishlistItem);\r\n }\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-applications',\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./applications.component.scss'],\r\n templateUrl: './applications.component.html'\r\n})\r\nexport class ApplicationsComponent implements OnInit { \r\n\r\n ngOnInit() {\r\n\r\n }\r\n}","
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
Applications
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
","import {Component, ViewEncapsulation, ViewChild, HostListener, Input, ElementRef} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-back-top',\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./back-top.component.scss'],\r\n template: `\r\n \r\n `\r\n})\r\nexport class BackTopComponent {\r\n\r\n @Input() position:number = 400;\r\n @Input() showSpeed:number = 500;\r\n @Input() moveSpeed:number = 700;\r\n\r\n @ViewChild('backTop') private _selector:ElementRef;\r\n\r\n ngAfterViewInit () {\r\n this._onWindowScroll();\r\n }\r\n\r\n @HostListener('click')\r\n _onClick():boolean {\r\n jQuery('html, body').animate({scrollTop:0}, {duration:this.moveSpeed});\r\n return false;\r\n }\r\n\r\n @HostListener('window:scroll')\r\n _onWindowScroll():void {\r\n let el = this._selector.nativeElement;\r\n window.scrollY > this.position ? jQuery(el).fadeIn(this.showSpeed) : jQuery(el).fadeOut(this.showSpeed);\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { ActivatedRoute, Router, ActivatedRouteSnapshot, UrlSegment, NavigationEnd } from \"@angular/router\"; \r\nimport { Title } from '@angular/platform-browser';\r\nimport { AppSettings } from '../../../app.settings';\r\nimport { Settings } from '../../../app.settings.model';\r\n\r\n@Component({\r\n selector: 'app-breadcrumb',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './breadcrumb.component.html'\r\n})\r\nexport class BreadcrumbComponent {\r\n public settings: Settings;\r\n public pageTitle:string;\r\n public breadcrumbs: {\r\n name: string;\r\n url: string\r\n }[] = [];\r\n\r\n constructor(public appSettings:AppSettings, \r\n public router: Router, \r\n public activatedRoute: ActivatedRoute, \r\n public title:Title) {\r\n \r\n this.settings = this.appSettings.settings;\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n this.breadcrumbs = []; \r\n this.parseRoute(this.router.routerState.snapshot.root); \r\n this.pageTitle = \"\";\r\n this.breadcrumbs.forEach(breadcrumb => {\r\n this.pageTitle += ' > ' + breadcrumb.name;\r\n }) \r\n this.title.setTitle(this.settings.name + this.pageTitle);\r\n }\r\n }) \r\n }\r\n\r\n parseRoute(node: ActivatedRouteSnapshot) { \r\n if (node.data['breadcrumb']) {\r\n if(node.url.length){\r\n let urlSegments: UrlSegment[] = [];\r\n node.pathFromRoot.forEach(routerState => {\r\n urlSegments = urlSegments.concat(routerState.url);\r\n });\r\n let url = urlSegments.map(urlSegment => {\r\n return urlSegment.path;\r\n }).join('/');\r\n this.breadcrumbs.push({\r\n name: node.data['breadcrumb'],\r\n url: '/' + url\r\n }) \r\n } \r\n }\r\n if (node.firstChild) {\r\n this.parseRoute(node.firstChild);\r\n }\r\n }\r\n\r\n public closeSubMenus(){\r\n let menu = document.querySelector(\"#menu0\"); \r\n if(menu){\r\n for (let i = 0; i < menu.children.length; i++) {\r\n let child = menu.children[i].children[1];\r\n if(child){ \r\n if(child.classList.contains('show')){ \r\n child.classList.remove('show');\r\n menu.children[i].children[0].classList.add('collapsed'); \r\n } \r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n// import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n// import { AppState } from \"../../../app.state\";\r\n\r\n// @Component({\r\n// selector: 'az-breadcrumb',\r\n// encapsulation: ViewEncapsulation.None,\r\n// styleUrls: ['./breadcrumb.component.scss'],\r\n// templateUrl: './breadcrumb.component.html'\r\n// })\r\n\r\n// export class BreadcrumbComponent {\r\n\r\n// public activePageTitle:string = '';\r\n\r\n// constructor(private _state:AppState){\r\n// this._state.subscribe('menu.activeLink', (activeLink) => {\r\n// if (activeLink) {\r\n// this.activePageTitle = activeLink;\r\n// }\r\n// });\r\n// }\r\n\r\n// public ngOnInit():void {\r\n// if (!this.activePageTitle) {\r\n// this.activePageTitle = 'dashboard';\r\n// }\r\n \r\n// }\r\n\r\n// }","
    \r\n
  1. \r\n Home\r\n
  2. \r\n
  3. \r\n {{breadcrumb.name}} \r\n {{breadcrumb.name}}\r\n
  4. \r\n
\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { IMultiSelectOption, IMultiSelectSettings, IMultiSelectTexts } from 'angular-2-dropdown-multiselect';\r\nimport { MenuService } from '../menu/menu.service';\r\n\r\n@Component({\r\n selector: 'app-favorites',\r\n templateUrl: './favorites.component.html',\r\n styleUrls: ['./favorites.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ MenuService ]\r\n})\r\nexport class FavoritesComponent {\r\n\r\n public favoriteModel: number[] = [];\r\n public favoriteSettings: IMultiSelectSettings = {\r\n enableSearch: true,\r\n checkedStyle: 'fontawesome',\r\n buttonClasses: 'btn btn-secondary btn-block',\r\n dynamicTitleMaxItems: 0,\r\n displayAllSelectedText: true\r\n };\r\n public favoriteTexts: IMultiSelectTexts = {\r\n checkAll: 'Select all',\r\n uncheckAll: 'Unselect all',\r\n checked: 'menu item selected',\r\n checkedPlural: 'menu items selected',\r\n searchPlaceholder: 'Find menu item...',\r\n defaultTitle: 'Select favorite menu items',\r\n allSelected: 'All selected',\r\n };\r\n public favoriteOptions: IMultiSelectOption[] = [];\r\n public menuItems:Array;\r\n public toggle:boolean;\r\n public favorites:Array = []; \r\n\r\n constructor(public menuService:MenuService, public translateService: TranslateService) { \r\n this.menuItems = this.menuService.getVerticalMenuItems().filter(menu => menu.routerLink != null || menu.href !=null); \r\n this.menuItems.forEach(item=>{\r\n let menu = { \r\n id: item.id, \r\n name: this.translateService.instant(item.title),\r\n routerLink: item.routerLink, \r\n href: item.href,\r\n icon: item.icon,\r\n target: item.target\r\n }\r\n this.favoriteOptions.push(menu);\r\n })\r\n if(sessionStorage[\"favorites\"]) {\r\n this.favorites = JSON.parse(sessionStorage.getItem(\"favorites\"));\r\n this.favorites.forEach(favorite => {\r\n this.favoriteModel.push(favorite.id);\r\n }) \r\n } \r\n }\r\n\r\n public onDropdownOpened(){\r\n this.toggle = true;\r\n }\r\n public onDropdownClosed(){\r\n this.toggle = false;\r\n }\r\n\r\n public onChange() {\r\n this.favorites.length = 0;\r\n this.favoriteModel.forEach(i => {\r\n let favorite = this.favoriteOptions.find(mail => mail.id === +i);\r\n this.favorites.push(favorite);\r\n }); \r\n sessionStorage.setItem(\"favorites\", JSON.stringify(this.favorites)); \r\n }\r\n\r\n\r\n}\r\n","
\r\n
    \r\n
  • Choose favorites
  • \r\n
\r\n
    0\" class=\"list-inline mb-0\">\r\n
  • \r\n \r\n \r\n
  • \r\n
\r\n \r\n \r\n
","
\r\n \r\n \r\n \r\n \r\n
","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppSettings } from 'src/app/app.settings';\r\nimport { MenuService } from '../menu/menu.service';\r\n\r\n@Component({\r\n selector: 'app-flags-menu',\r\n templateUrl: './flags-menu.component.html',\r\n styleUrls: ['./flags-menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FlagsMenuComponent implements OnInit {\r\n \r\n constructor(public translateService: TranslateService, public menuService:MenuService, public appSettings: AppSettings) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public changeLang(lang:string){ \r\n this.translateService.use(lang).subscribe(() => {\r\n let menuItems:any;\r\n let menu_wrapper:any;\r\n let menu = this.appSettings.settings.theme.menu;\r\n if (menu === 'vertical') {\r\n menuItems = this.menuService.getVerticalMenuItems(); \r\n menu_wrapper = document.getElementById('vertical-menu');\r\n if (menu_wrapper) {\r\n menu_wrapper.innerHTML = ''; \r\n } \r\n } \r\n if (menu === 'horizontal') {\r\n menuItems = this.menuService.getHorizontalMenuItems(); \r\n menu_wrapper = document.getElementById('horizontal-menu');\r\n if (menu_wrapper) {\r\n menu_wrapper.innerHTML = '';\r\n } \r\n } \r\n this.menuService.createMenu(menuItems, menu_wrapper, menu); \r\n let activeLink = this.menuService.getActiveLink(menuItems);\r\n this.menuService.setActiveLink(menuItems, activeLink); \r\n if (menu === 'vertical') {\r\n this.menuService.showActiveSubMenu(menuItems);\r\n }\r\n\r\n let menuType = this.appSettings.settings.theme.menuType;\r\n if(menuType=='mini'){\r\n jQuery('.menu-item-link').tooltip('enable');\r\n } else {\r\n jQuery('.menu-item-link').tooltip('disable');\r\n }\r\n });\r\n }\r\n\r\n public getLangText(lang){\r\n if(lang == 'de'){\r\n return 'German';\r\n }\r\n else if(lang == 'fr'){\r\n return 'French';\r\n }\r\n else if(lang == 'ru'){\r\n return 'Russian';\r\n }\r\n else if(lang == 'tr'){\r\n return 'Turkish';\r\n }\r\n else{\r\n return 'English';\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { AppSettings } from '../../../app.settings';\r\nimport { Settings } from '../../../app.settings.model';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n public settings: Settings;\r\n constructor(public appSettings:AppSettings) {\r\n this.settings = this.appSettings.settings;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","","import {Component, ViewEncapsulation, ViewChild, HostListener, ElementRef} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-fullscreen',\r\n encapsulation: ViewEncapsulation.None,\r\n template: `\r\n \r\n \r\n \r\n \r\n `\r\n})\r\nexport class FullScreenComponent { \r\n toggle:boolean = false;\r\n @ViewChild('expand') private expand:ElementRef;\r\n @ViewChild('compress') private compress:ElementRef; \r\n \r\n requestFullscreen(elem) {\r\n if (elem.requestFullscreen) {\r\n elem.requestFullscreen();\r\n } else if (elem.webkitRequestFullscreen) {\r\n elem.webkitRequestFullscreen();\r\n } else if (elem.mozRequestFullScreen) {\r\n elem.mozRequestFullScreen();\r\n } else if (elem.msRequestFullscreen) {\r\n elem.msRequestFullscreen();\r\n } else {\r\n console.log('Fullscreen API is not supported.');\r\n }\r\n };\r\n\r\n exitFullscreen() {\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen();\r\n } else if (document.webkitExitFullscreen) {\r\n document.webkitExitFullscreen();\r\n } else if (document.mozCancelFullScreen) {\r\n document.mozCancelFullScreen();\r\n } else if (document.msExitFullscreen) {\r\n document.msExitFullscreen();\r\n } else {\r\n console.log('Fullscreen API is not supported.');\r\n }\r\n };\r\n\r\n @HostListener('click') getFullscreen(){\r\n if(this.expand){\r\n this.requestFullscreen(document.documentElement);\r\n }\r\n if(this.compress){\r\n this.exitFullscreen();\r\n }\r\n }\r\n\r\n @HostListener('window:resize') onFullScreenChange(){\r\n let fullscreenElement = document.fullscreenElement || document.mozFullScreenElement ||\r\n document.webkitFullscreenElement || document.msFullscreenElement;\r\n if (fullscreenElement != null) {\r\n this.toggle = true;\r\n } else {\r\n this.toggle = false; \r\n }\r\n } \r\n\r\n}","import { Component, OnInit, ViewEncapsulation, HostListener } from '@angular/core';\r\nimport { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { AppSettings } from '../../../app.settings';\r\nimport { Settings } from '../../../app.settings.model';\r\nimport { MenuService } from '../menu/menu.service';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ MenuService ],\r\n animations: [\r\n trigger('showInfo', [\r\n state('1' , style({ transform: 'rotate(180deg)' })),\r\n state('0', style({ transform: 'rotate(0deg)' })),\r\n transition('1 => 0', animate('400ms')),\r\n transition('0 => 1', animate('400ms'))\r\n ])\r\n ]\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n public showHorizontalMenu:boolean = true; \r\n public showInfoContent:boolean = false;\r\n public settings: Settings;\r\n public menuItems:Array;\r\n constructor(public appSettings:AppSettings, public menuService:MenuService) {\r\n this.settings = this.appSettings.settings;\r\n this.menuItems = this.menuService.getHorizontalMenuItems();\r\n }\r\n \r\n ngOnInit() {\r\n if(window.innerWidth <= 768) \r\n this.showHorizontalMenu = false;\r\n }\r\n\r\n\r\n public closeSubMenus(){\r\n let menu = document.querySelector(\"#menu0\"); \r\n if(menu){\r\n for (let i = 0; i < menu.children.length; i++) {\r\n let child = menu.children[i].children[1];\r\n if(child){ \r\n if(child.classList.contains('show')){ \r\n child.classList.remove('show');\r\n menu.children[i].children[0].classList.add('collapsed'); \r\n } \r\n }\r\n }\r\n }\r\n }\r\n\r\n @HostListener('window:resize')\r\n public onWindowResize():void {\r\n if(window.innerWidth <= 768){\r\n this.showHorizontalMenu = false;\r\n } \r\n else{\r\n this.showHorizontalMenu = true;\r\n }\r\n }\r\n \r\n}\r\n","\r\n","import { Component, OnInit, ViewEncapsulation, ElementRef, Input } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { MenuService } from '../menu.service';\r\nimport { AppSettings } from '../../../../app.settings';\r\nimport { Settings } from '../../../../app.settings.model';\r\n\r\n@Component({\r\n selector: 'app-horizontal-menu',\r\n templateUrl: './horizontal-menu.component.html',\r\n styleUrls: ['./horizontal-menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ MenuService ]\r\n})\r\nexport class HorizontalMenuComponent implements OnInit {\r\n @Input('menuItems') menuItems;\r\n public settings: Settings;\r\n constructor(public appSettings:AppSettings, \r\n private menuService:MenuService, \r\n private router: Router, \r\n private elementRef:ElementRef) {\r\n \r\n this.settings = this.appSettings.settings;\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n window.scrollTo(0, 0);\r\n let activeLink = this.menuService.getActiveLink(this.menuItems);\r\n this.menuService.setActiveLink(this.menuItems, activeLink);\r\n jQuery('.tooltip').tooltip({\r\n sanitize: false,\r\n sanitizeFn: function (content) {\r\n return null;\r\n }\r\n }); \r\n jQuery('.tooltip').tooltip('hide'); \r\n } \r\n }); \r\n }\r\n\r\n ngOnInit() {\r\n let menu_wrapper = this.elementRef.nativeElement.children[0];\r\n this.menuService.createMenu(this.menuItems, menu_wrapper, 'horizontal'); \r\n\r\n if(this.settings.theme.menuType == 'mini'){\r\n jQuery('.menu-item-link').tooltip({\r\n sanitize: false,\r\n sanitizeFn: function (content) {\r\n return null;\r\n }\r\n });\r\n jQuery('.menu-item-link').tooltip(); \r\n }\r\n \r\n }\r\n\r\n ngAfterViewInit(){\r\n let activeLink = this.menuService.getActiveLink(this.menuItems);\r\n this.menuService.setActiveLink(this.menuItems, activeLink); \r\n } \r\n\r\n}","
\r\n","export class Menu {\r\n constructor(public id: number,\r\n public title: string,\r\n public routerLink: string,\r\n public href: string,\r\n public icon: string,\r\n public target: string,\r\n public hasSubMenu: boolean,\r\n public parentId: number) { }\r\n} ","import { Injectable, Renderer2 } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { Menu } from './menu.model';\r\nimport { verticalMenuItems } from './menu';\r\nimport { horizontalMenuItems } from './menu';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable()\r\nexport class MenuService {\r\n\r\n constructor(private location:Location, \r\n private renderer2:Renderer2,\r\n private router:Router,\r\n public translateService: TranslateService){ } \r\n\r\n\r\n public getVerticalMenuItems():Array {\r\n return verticalMenuItems;\r\n }\r\n\r\n public getHorizontalMenuItems():Array {\r\n return horizontalMenuItems;\r\n }\r\n\r\n public createMenu(menu:Array, nativeElement, type){ \r\n if(type=='vertical'){\r\n this.createVerticalMenu(menu, nativeElement);\r\n }\r\n if(type=='horizontal'){\r\n this.createHorizontalMenu(menu, nativeElement);\r\n }\r\n }\r\n\r\n public createVerticalMenu(menu:Array, nativeElement){ \r\n let menu0 = this.renderer2.createElement('div');\r\n this.renderer2.setAttribute(menu0, 'id', 'menu0');\r\n menu.forEach((menuItem) => {\r\n if(menuItem.parentId == 0){\r\n let subMenu = this.createVerticalMenuItem(menu, menuItem);\r\n this.renderer2.appendChild(menu0, subMenu);\r\n }\r\n });\r\n this.renderer2.appendChild(nativeElement, menu0); \r\n }\r\n\r\n public createHorizontalMenu(menu:Array, nativeElement){\r\n let nav = this.renderer2.createElement('div');\r\n this.renderer2.setAttribute(nav, 'id', 'navigation');\r\n let ul = this.renderer2.createElement('ul');\r\n this.renderer2.addClass(ul, 'menu');\r\n this.renderer2.appendChild(nav, ul);\r\n menu.forEach((menuItem) => {\r\n if(menuItem.parentId == 0){\r\n let subMenu = this.createHorizontalMenuItem(menu, menuItem);\r\n this.renderer2.appendChild(ul, subMenu);\r\n }\r\n });\r\n this.renderer2.appendChild(nativeElement, nav); \r\n }\r\n\r\n public createVerticalMenuItem(menu:Array, menuItem){\r\n let div = this.renderer2.createElement('div');\r\n this.renderer2.addClass(div, 'card'); \r\n this.renderer2.setAttribute(div, 'id', 'menu'+menuItem.id);\r\n let link = this.renderer2.createElement('a');\r\n this.renderer2.addClass(link, 'menu-item-link');\r\n this.renderer2.setAttribute(link, 'data-toggle', 'tooltip');\r\n this.renderer2.setAttribute(link, 'data-placement', 'right');\r\n this.renderer2.setAttribute(link, 'data-animation', 'false');\r\n this.renderer2.setAttribute(link, 'data-container', '.vertical-menu-tooltip-place'); \r\n this.renderer2.setAttribute(link, 'data-original-title', this.translateService.instant(menuItem.title));\r\n let icon = this.renderer2.createElement('i');\r\n this.renderer2.addClass(icon, 'fa');\r\n this.renderer2.addClass(icon, 'fa-'+menuItem.icon);\r\n this.renderer2.appendChild(link, icon);\r\n let span = this.renderer2.createElement('span');\r\n this.renderer2.addClass(span, 'menu-title');\r\n this.renderer2.appendChild(link, span);\r\n let menuText = this.renderer2.createText(this.translateService.instant(menuItem.title));\r\n this.renderer2.appendChild(span, menuText);\r\n this.renderer2.setAttribute(link, 'id', 'link'+menuItem.id);\r\n this.renderer2.addClass(link, 'transition');\r\n this.renderer2.appendChild(div, link);\r\n if(menuItem.routerLink){ \r\n this.renderer2.listen(link, \"click\", () => { \r\n this.router.navigate([menuItem.routerLink]);\r\n this.setActiveLink(menu,link);\r\n this.closeOtherSubMenus(div);\r\n });\r\n }\r\n if(menuItem.href){\r\n this.renderer2.setAttribute(link, 'href', menuItem.href);\r\n }\r\n if(menuItem.target){\r\n this.renderer2.setAttribute(link, 'target', menuItem.target);\r\n }\r\n if(menuItem.hasSubMenu){\r\n this.renderer2.addClass(link, 'collapsed'); \r\n let caret = this.renderer2.createElement('b');\r\n this.renderer2.addClass(caret, 'fa');\r\n this.renderer2.addClass(caret, 'fa-angle-up');\r\n this.renderer2.appendChild(link, caret);\r\n this.renderer2.setAttribute(link, 'data-toggle', 'collapse'); \r\n this.renderer2.setAttribute(link, 'href', '#collapse'+menuItem.id);\r\n let collapse = this.renderer2.createElement('div');\r\n this.renderer2.setAttribute(collapse, 'id', 'collapse'+menuItem.id);\r\n this.renderer2.setAttribute(collapse, 'data-parent', '#menu'+menuItem.parentId);\r\n this.renderer2.addClass(collapse, 'collapse');\r\n this.renderer2.appendChild(div, collapse); \r\n this.createSubMenu(menu, menuItem.id, collapse, 'vertical');\r\n }\r\n return div;\r\n }\r\n\r\n public createHorizontalMenuItem(menu:Array, menuItem){\r\n let li = this.renderer2.createElement('li');\r\n this.renderer2.addClass(li, 'menu-item');\r\n let link = this.renderer2.createElement('a');\r\n this.renderer2.addClass(link, 'menu-item-link');\r\n this.renderer2.setAttribute(link, 'data-toggle', 'tooltip');\r\n this.renderer2.setAttribute(link, 'data-placement', 'top');\r\n this.renderer2.setAttribute(link, 'data-animation', 'false');\r\n this.renderer2.setAttribute(link, 'data-container', '.horizontal-menu-tooltip-place'); \r\n this.renderer2.setAttribute(link, 'data-original-title', this.translateService.instant(menuItem.title));\r\n let icon = this.renderer2.createElement('i');\r\n this.renderer2.addClass(icon, 'fa');\r\n this.renderer2.addClass(icon, 'fa-'+menuItem.icon);\r\n this.renderer2.appendChild(link, icon);\r\n let span = this.renderer2.createElement('span');\r\n this.renderer2.addClass(span, 'menu-title');\r\n this.renderer2.appendChild(link, span);\r\n let menuText = this.renderer2.createText(this.translateService.instant(menuItem.title));\r\n this.renderer2.appendChild(span, menuText);\r\n this.renderer2.appendChild(li, link);\r\n this.renderer2.setAttribute(link, 'id', 'link'+menuItem.id);\r\n this.renderer2.addClass(link, 'transition');\r\n if(menuItem.routerLink){ \r\n this.renderer2.listen(link, \"click\", () => { \r\n this.router.navigate([menuItem.routerLink]);\r\n this.setActiveLink(menu, link);\r\n });\r\n }\r\n if(menuItem.href){\r\n this.renderer2.setAttribute(link, 'href', menuItem.href);\r\n }\r\n if(menuItem.target){\r\n this.renderer2.setAttribute(link, 'target', menuItem.target);\r\n }\r\n if(menuItem.hasSubMenu){\r\n this.renderer2.addClass(li, 'menu-item-has-children');\r\n let subMenu = this.renderer2.createElement('ul');\r\n this.renderer2.addClass(subMenu, 'sub-menu');\r\n this.renderer2.appendChild(li, subMenu);\r\n this.createSubMenu(menu, menuItem.id, subMenu, 'horizontal');\r\n }\r\n return li;\r\n }\r\n\r\n private createSubMenu(menu:Array, menuItemId, parentElement, type){\r\n let menus = menu.filter(item => item.parentId === menuItemId);\r\n menus.forEach((menuItem) => {\r\n let subMenu = null;\r\n if(type=='vertical'){\r\n subMenu = this.createVerticalMenuItem(menu, menuItem);\r\n }\r\n if(type=='horizontal'){\r\n subMenu = this.createHorizontalMenuItem(menu, menuItem);\r\n } \r\n this.renderer2.appendChild(parentElement, subMenu);\r\n });\r\n } \r\n\r\n private closeOtherSubMenus(elem){\r\n let children = (this.renderer2.parentNode(elem)).children;\r\n for (let i = 0; i < children.length; i++) {\r\n let child = this.renderer2.nextSibling(children[i].children[0]);\r\n if(child){\r\n this.renderer2.addClass(children[i].children[0], 'collapsed'); \r\n this.renderer2.removeClass(child, 'show'); \r\n }\r\n }\r\n }\r\n\r\n public getActiveLink(menu:Array){\r\n let url = this.location.path();\r\n let routerLink = (url) ? url : '/'; // url.substring(1, url.length);\r\n let activeMenuItem = menu.filter(item => item.routerLink === routerLink);\r\n if(activeMenuItem[0]){\r\n let activeLink = document.querySelector(\"#link\"+activeMenuItem[0].id);\r\n return activeLink;\r\n }\r\n return false;\r\n }\r\n\r\n public setActiveLink(menu:Array, link){\r\n if(link){\r\n menu.forEach((menuItem) => {\r\n let activeLink = document.querySelector(\"#link\"+menuItem.id);\r\n if(activeLink){\r\n if(activeLink.classList.contains('active-link')){\r\n activeLink.classList.remove('active-link');\r\n }\r\n } \r\n });\r\n this.renderer2.addClass(link, 'active-link'); \r\n } \r\n } \r\n\r\n public showActiveSubMenu(menu:Array){\r\n let url = this.location.path();\r\n let routerLink = url; //url.substring(1, url.length);\r\n let activeMenuItem = menu.filter(item => item.routerLink === routerLink);\r\n if(activeMenuItem[0]){\r\n let activeLink = document.querySelector(\"#link\"+activeMenuItem[0].id); \r\n let parent = this.renderer2.parentNode(activeLink);\r\n \r\n while (this.renderer2.parentNode(parent)){ \r\n parent = this.renderer2.parentNode(parent); \r\n if(parent.classList.contains('collapse')){\r\n let parentMenu = menu.filter(item => item.id === activeMenuItem[0].parentId); \r\n let activeParentLink = document.querySelector(\"#link\"+parentMenu[0].id);\r\n this.renderer2.removeClass(activeParentLink, 'collapsed');\r\n this.renderer2.addClass(parent, 'show'); \r\n }\r\n if(parent.classList.contains('menu-wrapper')){\r\n break;\r\n }\r\n }\r\n } \r\n }\r\n\r\n public addNewMenuItem(menu:Array, newMenuItem, type){\r\n menu.push(newMenuItem);\r\n if(newMenuItem.parentId != 0){\r\n let parentMenu = menu.filter(item => item.id === newMenuItem.parentId);\r\n if(parentMenu.length){\r\n if(!parentMenu[0].hasSubMenu){\r\n parentMenu[0].hasSubMenu = true;\r\n // parentMenu[0].routerLink = null;\r\n } \r\n } \r\n }\r\n let menu_wrapper = null;\r\n if(type=='vertical'){\r\n menu_wrapper = document.getElementById('vertical-menu');\r\n }\r\n if(type=='horizontal'){\r\n menu_wrapper = document.getElementById('horizontal-menu');\r\n }\r\n while (menu_wrapper.firstChild) {\r\n menu_wrapper.removeChild(menu_wrapper.firstChild);\r\n } \r\n this.createMenu(menu, menu_wrapper, type);\r\n } \r\n \r\n}","import { Menu } from './menu.model';\r\n \r\nexport const verticalMenuItems = [ \r\n new Menu(1, 'Dashboard', '/Dashboard', null, 'table', null, false, 0),\r\n new Menu(2, 'Products', 'Admin/Products', null, 'cube', null, false, 0),\r\n new Menu(3, 'Orders', 'Admin/Orders', null, 'address-card-o', null, false,0),\r\n new Menu(4, 'Offers', 'Admin/Offers', null, 'percent', null, false, 0),\r\n new Menu(5, 'Customer/Employee List', 'Admin/CustomerList', null, 'user-md', null, false, 0),\r\n new Menu(6, 'Blogs', 'Admin/Blogs', null, 'newspaper-o', null, false, 0),\r\n new Menu(7, 'Master Tables', '', null, 'table', null, true, 0),\r\n new Menu(8, 'Category Master', 'Admin/CategoryMaster', null, 'table', null, false, 7),\r\n new Menu(9, 'Goal Master', 'Admin/GoalMaster', null, 'table', null, false, 7),\r\n new Menu(10, 'Farming Produces Master', 'Admin/FarmingProduceMaster', null, 'table', null, false, 7),\r\n new Menu(11, 'Enquiries', 'Admin/EnquiryDetails', null, 'volume-control-phone', null, false, 0),\r\n new Menu(12, 'Sales Report', 'Admin/SalesReport', null, 'money', null, false, 0),\r\n new Menu(13, 'Farming Produces', 'Admin/FoarmingProduces', null, 'cube', null, false, 0),\r\n new Menu(14, 'Notifications', 'Admin/Notifications', null, 'cube', null, false, 0),\r\n new Menu(15, 'Courier Service', 'Admin/Courierservice', null, 'address-card-o', null, false, 7),\r\n new Menu(16, 'Referral Amount', 'Admin/Referrelamount', null, 'money', null, false, 0),\r\n \r\n //new Menu(5, 'Notifications', 'Admin/Notifications', null, 'laptop', null, false, 0),\r\n \r\n\r\n //new Menu (2, 'ADMIN_NAV.MEMBERSHIP', '/membership', null, 'users', null, false, 0), \r\n //new Menu (3, 'ADMIN_NAV.UI_FEATURES', null, null, 'laptop', null, true, 0), \r\n //new Menu (4, 'Buttons', '/ui/buttons', null, 'keyboard-o', null, false, 3), \r\n //new Menu (5, 'Cards', '/ui/cards', null, 'address-card-o', null, false, 3), \r\n //new Menu (6, 'Components', '/ui/components', null, 'creative-commons', null, false, 3),\r\n //new Menu (7, 'Icons', '/ui/icons', null, 'font-awesome', null, false, 3), \r\n //new Menu (8, 'List Group', '/ui/list-group', null, 'th-list', null, false, 3), \r\n //new Menu (9, 'Media Objects', '/ui/media-objects', null, 'object-group', null, false, 3), \r\n //new Menu (10, 'Tabs & Accordions', '/ui/tabs-accordions', null, 'server', null, false, 3),\r\n //new Menu (11, 'Typography', '/ui/typography', null, 'font', null, false, 3),\r\n //new Menu (15, 'ADMIN_NAV.DYNAMIC_MENU', '/dynamic-menu', null, 'list-ul', null, false, 0), \r\n //new Menu (16, 'ADMIN_NAV.MAILBOX', '/mailbox', null, 'envelope-o', null, false, 0),\r\n //new Menu (20, 'ADMIN_NAV.FORM_ELEMENTS', null, null, 'pencil-square-o', null, true, 0), \r\n //new Menu (21, 'Form Controls', '/form-elements/controls', null, 'check-square-o', null, false, 20),\r\n //new Menu (22, 'Form Layouts', '/form-elements/layouts', null, 'th-large', null, false, 20),\r\n //new Menu (24, 'Form Wizard', '/form-elements/wizard', null, 'magic', null, false, 20),\r\n //new Menu (25, 'Editor', '/form-elements/editor', null, 'pencil', null, false, 20),\r\n //new Menu (26, 'ADMIN_NAV.TABLES', null, null, 'table', null, true, 0),\r\n //new Menu (27, 'Basic Tables', '/tables/basic-tables', null, 'th', null, false, 26), \r\n //new Menu (28, 'Dynamic Tables', null, null, 'th-large', null, true, 26), \r\n //new Menu (30, 'NGX DataTable', '/tables/dynamic-tables/ngx', null, 'caret-right', null, false, 28), \r\n //new Menu (31, 'ADMIN_NAV.TOOLS', null, null, 'wrench', null, true, 0),\r\n //new Menu (32, 'Drag & Drop', '/tools/drag-drop', null, 'hand-paper-o', null, false, 31), \r\n //new Menu (33, 'Resizable', '/tools/resizable', null, 'expand', null, false, 31), \r\n //new Menu (34, 'Toaster', '/tools/toaster', null, 'bell-o', null, false, 31), \r\n //new Menu (40, 'ADMIN_NAV.PAGES', null, null, 'file-text-o', null, true, 0),\r\n //new Menu (43, 'LOGIN', '/login', null, 'sign-in', null, false, 40), \r\n //new Menu (44, 'REGISTER', '/register', null, 'registered', null, false, 40),\r\n //new Menu (45, 'ADMIN_NAV.BLANK', '/blank', null, 'file-o', null, false, 40),\r\n //new Menu (46, 'ADMIN_NAV.ERROR', '/pagenotfound', null, 'exclamation-circle', null, false, 40),\r\n //new Menu (47, 'Profile', null, null, 'user', null, true, 40),\r\n //new Menu (48, 'Projects', '/profile/projects', null, 'file-o', null, false, 47), \r\n //new Menu (49, 'User Info', '/profile/user-info', null, 'address-card-o', null, false, 47),\r\n //new Menu (50, 'ADMIN_NAV.CALENDAR', '/calendar', null, 'calendar', null, false, 0),\r\n //new Menu (66, 'ADMIN_NAV.MAPS', null, null, 'globe', null, true, 0),\r\n //new Menu (67, 'Google Maps', '/maps/googlemaps', null, 'map-marker', null, false, 66),\r\n //new Menu (68, 'Leaflet Maps', '/maps/leafletmaps', null, 'map-o', null, false, 66),\r\n //new Menu (70, 'ADMIN_NAV.CHARTS', null, null, 'area-chart', null, true, 0),\r\n //new Menu (71, 'Bar Charts', '/charts/bar', null, 'bar-chart', null, false, 70),\r\n //new Menu (72, 'Pie Charts', '/charts/pie', null, 'pie-chart', null, false, 70),\r\n //new Menu (73, 'Line Charts', '/charts/line', null, 'line-chart', null, false, 70),\r\n //new Menu (74, 'Bubble Charts', '/charts/bubble', null, 'comment-o', null, false, 70), \r\n //new Menu (140, 'Level 1', null, null, 'folder-open-o', null, true, 0),\r\n //new Menu (141, 'Level 2', null, null, 'folder-open-o', null, true, 140),\r\n //new Menu (142, 'Level 3', null, null, 'folder-open-o', null, true, 141),\r\n //new Menu (143, 'Level 4', null, null, 'folder-open-o', null, true, 142),\r\n //new Menu (144, 'Level 5', null, null, 'folder-o', null, false, 143),\r\n //new Menu (200, 'ADMIN_NAV.EXTERNAL_LINK', null, 'http://themeseason.com', 'external-link', '_blank', false, 0)\r\n]\r\n\r\nexport const horizontalMenuItems = [ \r\n //new Menu (1, 'ADMIN_NAV.DASHBOARD', '/', null, 'tachometer', null, false, 0),\r\n //new Menu (2, 'ADMIN_NAV.MEMBERSHIP', '/membership', null, 'users', null, false, 0), \r\n //new Menu (3, 'ADMIN_NAV.UI_FEATURES', null, null, 'laptop', null, true, 0), \r\n //new Menu (4, 'Buttons', '/ui/buttons', null, 'keyboard-o', null, false, 3), \r\n //new Menu (5, 'Cards', '/ui/cards', null, 'address-card-o', null, false, 3), \r\n //new Menu (6, 'Components', '/ui/components', null, 'creative-commons', null, false, 3),\r\n //new Menu (7, 'Icons', '/ui/icons', null, 'font-awesome', null, false, 3), \r\n //new Menu (8, 'List Group', '/ui/list-group', null, 'th-list', null, false, 3), \r\n //new Menu (9, 'Media Objects', '/ui/media-objects', null, 'object-group', null, false, 3), \r\n //new Menu (10, 'Tabs & Accordions', '/ui/tabs-accordions', null, 'server', null, false, 3),\r\n //new Menu (11, 'Typography', '/ui/typography', null, 'font', null, false, 3),\r\n //new Menu (31, 'ADMIN_NAV.TOOLS', null, null, 'wrench', null, true, 3),\r\n //new Menu (32, 'Drag & Drop', '/tools/drag-drop', null, 'hand-paper-o', null, false, 31), \r\n //new Menu (33, 'Resizable', '/tools/resizable', null, 'expand', null, false, 31), \r\n //new Menu (34, 'Toaster', '/tools/toaster', null, 'bell-o', null, false, 31), \r\n //new Menu (20, 'ADMIN_NAV.FORM_ELEMENTS', null, null, 'pencil-square-o', null, true, 0), \r\n //new Menu (21, 'Form Controls', '/form-elements/controls', null, 'check-square-o', null, false, 20),\r\n //new Menu (22, 'Form Layouts', '/form-elements/layouts', null, 'th-large', null, false, 20),\r\n //new Menu (24, 'Form Wizard', '/form-elements/wizard', null, 'magic', null, false, 20),\r\n //new Menu (25, 'Editor', '/form-elements/editor', null, 'pencil', null, false, 20),\r\n //new Menu (26, 'ADMIN_NAV.TABLES', null, null, 'table', null, true, 20),\r\n //new Menu (27, 'Basic Tables', '/tables/basic-tables', null, 'th', null, false, 26), \r\n //new Menu (28, 'Dynamic Tables', null, null, 'th-large', null, true, 26), \r\n //new Menu (30, 'NGX DataTable', '/tables/dynamic-tables/ngx', null, 'caret-right', null, false, 28), \r\n //new Menu (40, 'ADMIN_NAV.PAGES', null, null, 'file-text-o', null, true, 0),\r\n //new Menu (15, 'ADMIN_NAV.DYNAMIC_MENU', '/dynamic-menu', null, 'list-ul', null, false, 40), \r\n //new Menu (43, 'LOGIN', '/login', null, 'sign-in', null, false, 40), \r\n //new Menu (44, 'REGISTER', '/register', null, 'registered', null, false, 40),\r\n //new Menu (45, 'ADMIN_NAV.BLANK', '/blank', null, 'file-o', null, false, 40),\r\n //new Menu (46, 'ADMIN_NAV.ERROR', '/pagenotfound', null, 'exclamation-circle', null, false, 40),\r\n //new Menu (47, 'Profile', null, null, 'user', null, true, 40),\r\n //new Menu (48, 'Projects', '/profile/projects', null, 'file-o', null, false, 47), \r\n //new Menu (49, 'User Info', '/profile/user-info', null, 'address-card-o', null, false, 47),\r\n //new Menu (50, 'ADMIN_NAV.CALENDAR', '/calendar', null, 'calendar', null, false, 40),\r\n //new Menu (16, 'ADMIN_NAV.MAILBOX', '/mailbox', null, 'envelope-o', null, false, 40), \r\n //new Menu (200, 'ADMIN_NAV.EXTERNAL_LINK', null, 'http://themeseason.com', 'external-link', '_blank', false, 40),\r\n //new Menu (66, 'ADMIN_NAV.MAPS', null, null, 'globe', null, true, 0),\r\n //new Menu (67, 'Google Maps', '/maps/googlemaps', null, 'map-marker', null, false, 66),\r\n //new Menu (68, 'Leaflet Maps', '/maps/leafletmaps', null, 'map-o', null, false, 66),\r\n //new Menu (70, 'ADMIN_NAV.CHARTS', null, null, 'area-chart', null, true, 0),\r\n //new Menu (71, 'Bar Charts', '/charts/bar', null, 'bar-chart', null, false, 70),\r\n //new Menu (72, 'Pie Charts', '/charts/pie', null, 'pie-chart', null, false, 70),\r\n //new Menu (73, 'Line Charts', '/charts/line', null, 'line-chart', null, false, 70),\r\n //new Menu (74, 'Bubble Charts', '/charts/bubble', null, 'comment-o', null, false, 70)\r\n]\r\n","import { Component, OnInit, ViewEncapsulation, ElementRef, Input } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { MenuService } from '../menu.service';\r\nimport { AppSettings } from '../../../../app.settings';\r\nimport { Settings } from '../../../../app.settings.model';\r\n\r\n@Component({\r\n selector: 'app-vertical-menu',\r\n templateUrl: './vertical-menu.component.html',\r\n styleUrls: ['./vertical-menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ MenuService ]\r\n})\r\nexport class VerticalMenuComponent implements OnInit {\r\n @Input('menuItems') menuItems;\r\n public settings: Settings;\r\n constructor(public appSettings:AppSettings, \r\n private menuService:MenuService, \r\n private router: Router, \r\n private elementRef:ElementRef) {\r\n \r\n this.settings = this.appSettings.settings;\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n window.scrollTo(0, 0);\r\n let activeLink = this.menuService.getActiveLink(this.menuItems);\r\n this.menuService.setActiveLink(this.menuItems, activeLink);\r\n jQuery('.tooltip').tooltip({\r\n sanitize: false,\r\n sanitizeFn: function (content) {\r\n return null;\r\n }\r\n }); \r\n jQuery('.tooltip').tooltip('hide');\r\n if(window.innerWidth <= 768){\r\n this.settings.theme.showMenu = false; \r\n } \r\n } \r\n }); \r\n }\r\n \r\n ngOnInit() { \r\n let menu_wrapper = this.elementRef.nativeElement.children[0];\r\n this.menuService.createMenu(this.menuItems, menu_wrapper, 'vertical');\r\n \r\n if(this.settings.theme.menuType == 'mini'){\r\n jQuery('.menu-item-link').tooltip({\r\n sanitize: false,\r\n sanitizeFn: function (content) {\r\n return null;\r\n }\r\n });\r\n jQuery('.menu-item-link').tooltip();\r\n }\r\n \r\n }\r\n\r\n ngAfterViewInit(){\r\n this.menuService.showActiveSubMenu(this.menuItems);\r\n let activeLink = this.menuService.getActiveLink(this.menuItems);\r\n this.menuService.setActiveLink(this.menuItems, activeLink); \r\n } \r\n\r\n}","
","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MessagesService } from './messages.service';\r\nimport { GeneralService } from '../../../service/general.service';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { NotificationService } from '../../../service/notification.service';\r\n@Component({\r\n selector: 'app-messages',\r\n templateUrl: './messages.component.html',\r\n styleUrls: ['./messages.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ MessagesService ]\r\n})\r\nexport class MessagesComponent implements OnInit {\r\n Count: any;\r\n pendingBookingDetails: any;\r\n LoginDetails: any;\r\n public messages:Array;\r\n public files:Array;\r\n public meetings: Array;\r\n orderStatus: any = 1;\r\n ordersList: any = [];\r\n notificationCount: number;\r\n showDetails: boolean = false;\r\n oder: any;\r\n ordersList12: any[] = [];\r\n constructor(private messagesService: MessagesService, private notificationService: NotificationService,public generalService: GeneralService, public router: Router) {\r\n this.LoginDetails = JSON.parse(localStorage.getItem(\"LoginDetails\"));\r\n //================Condition for not allowed users without login=================//\r\n if (localStorage.getItem(\"LoginDetails\") == null) {\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n //this.messages = messagesService.getMessages();\r\n this.files = messagesService.getFiles();\r\n this.meetings = messagesService.getMeetings();\r\n \r\n }\r\n\r\n ngOnInit() {\r\n jQuery('#messagesTabs').on('click', '.nav-item a', function(){ \r\n setTimeout(() => jQuery(this).closest('.dropdown').addClass('show')); \r\n })\r\n this.getAllAdminOrders();\r\n }\r\n updateNotificationCount(count: number) {\r\n \r\n this.notificationCount = count;\r\n }\r\n\r\n\r\n\r\n // Assuming this.ordersList contains the list of orders\r\n\r\n showNotificationDetails() {\r\n if (this.notificationCount > 0) {\r\n // Toggle the visibility of the dropdown menu on each click\r\n this.showDetails = !this.showDetails;\r\n\r\n // If the dropdown is opened, you might want to reset the notification count\r\n if (this.showDetails) {\r\n this.notificationCount = 0;\r\n }\r\n }\r\n }\r\n\r\n getAllAdminOrders() {\r\n var arr = [];\r\n arr.push({\r\n TokenID: this.LoginDetails.Token,\r\n UserId: this.LoginDetails.Id\r\n });\r\n\r\n let formData: FormData = new FormData();\r\n formData.append('Param', JSON.stringify(arr));\r\n var url = \"/api/Products/Get_All_Orders\";\r\n\r\n this.generalService.PostData(url, formData).then((data: any) => {\r\n if (data !== \"\") {\r\n const todayDate = new Date(); // Get today's date\r\n\r\n // Filter orders that belong to today's date\r\n this.ordersList = data.filter((order: any) => {\r\n const orderDate = new Date(order.OrderDate); // Assuming OrderDate is a valid date string\r\n const orderDateOnly = orderDate.toISOString().split('T')[0]; // Get date part only\r\n\r\n const todayDateOnly = todayDate.toISOString().split('T')[0]; // Get today's date part\r\n\r\n return orderDateOnly === todayDateOnly;\r\n });\r\n\r\n // Update notification count after filtering orders\r\n this.updateNotificationCount(this.ordersList.length);\r\n\r\n // Call showNotification if you want to display a notification here\r\n }\r\n });\r\n }\r\n\r\n\r\n // Inside your component\r\n\r\n // Assuming 'ordersList' is an array of orders with 'OrderID' and 'showDetails' properties\r\n // Assuming 'ordersList' is initialized\r\n\r\n toggleBookingDetails(clickedOrder: any) {\r\n // Toggle the 'showDetails' property of the clicked order\r\n clickedOrder.showDetails = !clickedOrder.showDetails;\r\n\r\n // Clear other orders' 'showDetails' property\r\n this.ordersList12.forEach(order => {\r\n if (order !== clickedOrder) {\r\n order.showDetails = false;\r\n }\r\n });\r\n }\r\n\r\n\r\n //=========navigation while clicking on Booking details in toggle=======/\r\n setbookingDetails() {\r\n debugger\r\n this.router.navigate(['/Admin/Orders']);\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n \r\n \r\n 0\" class=\"badge badge-danger\">{{ notificationCount }}\r\n \r\n
\r\n
\r\n Order ID:
{{ order.OrderID }}
\r\n \r\n
\r\n
\r\n No new orders.\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n","import {Injectable} from '@angular/core'\r\n\r\n@Injectable()\r\nexport class MessagesService {\r\n\r\n private messages = [\r\n {\r\n name: 'ashley',\r\n text: 'After you get up and running, you can place Font Awesome icons just about...',\r\n time: '1 min ago'\r\n },\r\n {\r\n name: 'michael',\r\n text: 'You asked, Font Awesome delivers with 40 shiny new icons in version 4.2.',\r\n time: '2 hrs ago'\r\n },\r\n {\r\n name: 'julia',\r\n text: 'Want to request new icons? Here\\'s how. Need vectors or want to use on the...',\r\n time: '10 hrs ago'\r\n },\r\n {\r\n name: 'bruno',\r\n text: 'Explore your passions and discover new ones by getting involved. Stretch your...',\r\n time: '1 day ago'\r\n },\r\n {\r\n name: 'tereza',\r\n text: 'Get to know who we are - from the inside out. From our history and culture, to the...',\r\n time: '1 day ago'\r\n },\r\n {\r\n name: 'adam',\r\n text: 'Need some support to reach your goals? Apply for scholarships across a variety of...',\r\n time: '2 days ago'\r\n },\r\n {\r\n name: 'michael',\r\n text: 'Wrap the dropdown\\'s trigger and the dropdown menu within .dropdown, or...',\r\n time: '1 week ago'\r\n }\r\n ]; \r\n\r\n private files = [ \r\n {\r\n text:'startng.zip',\r\n size: '~7.2 MB',\r\n value: '47%',\r\n class: 'danger'\r\n },\r\n {\r\n text: 'documentation.pdf',\r\n size: '~14.6 MB',\r\n value: '33%',\r\n class: 'info'\r\n },\r\n {\r\n text: 'wallpaper.jpg',\r\n size: '~558 KB',\r\n value: '60%',\r\n class: 'success'\r\n },\r\n {\r\n text: 'letter.doc',\r\n size: '~57 KB',\r\n value: '80%',\r\n class: 'warning'\r\n },\r\n {\r\n text: 'azimuth.zip',\r\n size: '~10.2 MB',\r\n value: '55%',\r\n class: 'primary'\r\n },\r\n {\r\n text: 'contacts.xlsx',\r\n size: '~96 KB',\r\n value: '75%',\r\n class: 'info'\r\n }\r\n ];\r\n\r\n private meetings = [\r\n {\r\n day: '09',\r\n month: 'May',\r\n title: 'Meeting with Bruno',\r\n text: 'Fusce ut condimentum velit, quis egestas eros. Quisque sed condimentum neque.',\r\n color: 'danger'\r\n }, \r\n {\r\n day: '15',\r\n month: 'May',\r\n title: 'Training course',\r\n text: 'Fusce arcu tortor, tempor aliquam augue vel, consectetur vehicula lectus.',\r\n color: 'primary'\r\n },\r\n {\r\n day: '12',\r\n month: 'June',\r\n title: 'Dinner with Ashley',\r\n text: 'Curabitur rhoncus facilisis augue sed fringilla.',\r\n color: 'info'\r\n },\r\n {\r\n day: '14',\r\n month: 'June',\r\n title: 'Sport time',\r\n text: 'Vivamus tristique enim eros, ac ultricies sem ultrices vitae.',\r\n color: 'warning'\r\n },\r\n {\r\n day: '29',\r\n month: 'July',\r\n title: 'Birthday of Julia',\r\n text: 'Nam porttitor justo nec elit efficitur vestibulum.',\r\n color:'success'\r\n }\r\n ];\r\n\r\n public getMessages():Array {\r\n return this.messages;\r\n }\r\n\r\n public getFiles():Array {\r\n return this.files;\r\n }\r\n\r\n public getMeetings():Array {\r\n return this.meetings;\r\n } \r\n\r\n}","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { AppSettings } from '../../../app.settings';\r\nimport { Settings } from '../../../app.settings.model';\r\nimport { SideChatService } from './side-chat.service';\r\nimport { SideChat } from './side-chat.model';\r\n\r\n@Component({\r\n selector: 'app-side-chat',\r\n templateUrl: './side-chat.component.html',\r\n styleUrls: ['./side-chat.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ SideChatService ]\r\n})\r\nexport class SideChatComponent implements OnInit {\r\n public settings: Settings;\r\n public showHoverableChatItem: boolean = false;\r\n public showChatWindow: boolean = false;\r\n public chats: Array;\r\n public talks: Array;\r\n public interlocutor: string; \r\n public searchText: string;\r\n public newChatText: string = '';\r\n\r\n constructor(public appSettings:AppSettings, private sideChatService:SideChatService) { \r\n this.settings = this.appSettings.settings;\r\n this.chats = sideChatService.getChats();\r\n this.talks = this.sideChatService.getTalk();\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n public back(){\r\n this.showChatWindow = false\r\n this.talks.shift();\r\n this.talks.length = 2;\r\n }\r\n public getChat(chat){\r\n this.searchText = '';\r\n this.showChatWindow = true;\r\n this.interlocutor = chat.author; \r\n this.talks.forEach(item => {\r\n if(item.side == 'left'){\r\n item.image = chat.image;\r\n }\r\n });\r\n this.talks.unshift(chat); \r\n }\r\n\r\n public addChatItem($event) { \r\n if (($event.which === 1 || $event.which === 13) && this.newChatText.trim() != '') { \r\n this.talks.push(\r\n new SideChat(\r\n 'assets/img/users/user.jpg', \r\n 'Emilio Verdines', \r\n 'online', \r\n this.newChatText,\r\n new Date(), \r\n 'right')\r\n )\r\n this.newChatText = '';\r\n let chatContainer = document.querySelector('.chat-talk-list');\r\n setTimeout(() => {\r\n var nodes = chatContainer.querySelectorAll('.media');\r\n let newChatTextHeight = nodes[nodes.length- 1];\r\n chatContainer.scrollTop = chatContainer.scrollHeight + newChatTextHeight.clientHeight;\r\n }); \r\n }\r\n }\r\n\r\n}","
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
{{chat.author}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{chat.authorStatus}}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
{{interlocutor}}
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n {{talk.text}}\r\n {{talk.date | date:\"dd MMMM, yyyy 'at' HH:mm\"}} \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","export class SideChat {\r\n constructor(public image: string,\r\n public author: string,\r\n public authorStatus: string,\r\n public text: string,\r\n public date: Date,\r\n public side: string) { }\r\n} ","import { Injectable } from '@angular/core'\r\nimport { SideChat } from './side-chat.model';\r\n\r\nlet date = new Date(),\r\n day = date.getDate(),\r\n month = date.getMonth(),\r\n year = date.getFullYear(),\r\n hour = date.getHours(),\r\n minute = date.getMinutes();\r\n\r\nlet chats = [\r\n new SideChat(\r\n 'assets/img/profile/ashley.jpg',\r\n 'Ashley Ahlberg', \r\n 'Online',\r\n 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n new Date(year, month, day-2, hour, minute),\r\n 'left'\r\n ),\r\n new SideChat(\r\n 'assets/img/profile/bruno.jpg',\r\n 'Bruno Vespa',\r\n 'Do not disturb',\r\n 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n new Date(year, month, day-2, hour, minute),\r\n 'left'\r\n ),\r\n new SideChat(\r\n 'assets/img/avatars/avatar-3.png',\r\n 'Andy Warhol',\r\n 'Online',\r\n 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n new Date(year, month, day-2, hour, minute),\r\n 'left'\r\n ),\r\n new SideChat(\r\n 'assets/img/profile/julia.jpg',\r\n 'Julia Aniston',\r\n 'Away',\r\n 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n new Date(year, month, day-2, hour, minute),\r\n 'left'\r\n ),\r\n new SideChat(\r\n 'assets/img/profile/adam.jpg',\r\n 'Adam Sandler',\r\n 'Online',\r\n 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n new Date(year, month, day-2, hour, minute),\r\n 'left'\r\n ),\r\n new SideChat(\r\n 'assets/img/avatars/avatar-7.png',\r\n 'Lusia Manuel',\r\n 'Online',\r\n 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n new Date(year, month, day-2, hour, minute),\r\n 'left'\r\n ),\r\n new SideChat(\r\n 'assets/img/profile/tereza.jpg',\r\n 'Tereza Stiles',\r\n 'Offline',\r\n 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n new Date(year, month, day-2, hour, minute),\r\n 'left'\r\n ), \r\n new SideChat(\r\n 'assets/img/users/default-user.jpg',\r\n 'unknown',\r\n 'Offline',\r\n 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n new Date(year, month, day-2, hour, minute),\r\n 'left'\r\n ),\r\n new SideChat(\r\n 'assets/img/avatars/avatar-1.png',\r\n 'Jeremi Powell',\r\n 'Online',\r\n 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n new Date(year, month, day-2, hour, minute),\r\n 'left'\r\n ),\r\n new SideChat(\r\n 'assets/img/avatars/avatar-8.png',\r\n 'Calico Jack',\r\n 'Online',\r\n 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n new Date(year, month, day-2, hour, minute),\r\n 'left'\r\n ),\r\n new SideChat(\r\n 'assets/img/profile/michael.jpg',\r\n 'Michael Blair',\r\n 'Online',\r\n 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n new Date(year, month, day-2, hour, minute),\r\n 'left'\r\n ),\r\n new SideChat(\r\n 'assets/img/avatars/avatar-5.png',\r\n 'Michelle Ormond',\r\n 'Away',\r\n 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n new Date(year, month, day-2, hour, minute),\r\n 'left'\r\n ),\r\n new SideChat(\r\n 'assets/img/avatars/avatar-6.png',\r\n 'Sean Connery',\r\n 'Offline',\r\n 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n new Date(year, month, day-2, hour, minute),\r\n 'left'\r\n )\r\n]\r\n\r\nlet talks = [\r\n new SideChat(\r\n 'assets/img/users/user.jpg',\r\n 'Emilio Verdines', \r\n 'Online',\r\n 'Hi, StartNG is a fully responsive, organized folder structure, clean & customizable code, easy to use and much more...',\r\n new Date(year, month, day-2, hour, minute+2),\r\n 'right'\r\n ), \r\n new SideChat(\r\n 'assets/img/profile/ashley.jpg',\r\n 'Ashley Ahlberg', \r\n 'Online',\r\n 'Great, then I\\'ll definitely buy this theme. Thanks!',\r\n new Date(year, month, day-2, hour, minute+3),\r\n 'left'\r\n ),\r\n]\r\n\r\n@Injectable()\r\nexport class SideChatService {\r\n\r\n public getChats():Array {\r\n return chats;\r\n }\r\n\r\n public getTalk():Array {\r\n return talks;\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n// import {Injectable} from '@angular/core'\r\n\r\n// let date = new Date(),\r\n// day = date.getDate(),\r\n// month = date.getMonth(),\r\n// year = date.getFullYear(),\r\n// hour = date.getHours(),\r\n// minute = date.getMinutes();\r\n\r\n// @Injectable()\r\n// export class SideChatService {\r\n \r\n\r\n// private chats = [\r\n// {\r\n// image: 'assets/img/profile/ashley.jpg',\r\n// author: 'Ashley Ahlberg', \r\n// authorStatus: 'Online',\r\n// text: 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n// date: new Date(year, month, day-2, hour, minute),\r\n// time: '1 min ago'\r\n// },\r\n// {\r\n// image: 'assets/img/profile/bruno.jpg',\r\n// author: 'Bruno Vespa', \r\n// authorStatus: 'Do not disturb',\r\n// text: 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n// date: new Date(year, month, day-2, hour, minute),\r\n// time: '1 min ago'\r\n// },\r\n// {\r\n// image: 'assets/img/profile/julia.jpg',\r\n// author: 'Julia Aniston', \r\n// authorStatus: 'Away',\r\n// text: 'Hi, I\\'m looking for admin template with bootstrap 4. What do you think about StartNG Admin Template?',\r\n// date: new Date(year, month, day-2, hour, minute),\r\n// time: '1 min ago'\r\n// },\r\n// {\r\n// image: 'assets/img/users/default-user.jpg',\r\n// author: 'unknown',\r\n// authorStatus: 'Offline',\r\n// text: 'After you get up and running, you can place Font Awesome icons just about...',\r\n// time: '1 min ago'\r\n// },\r\n\r\n\r\n\r\n// // {\r\n// // image: 'michael',\r\n// // author: 'Michael Blair',\r\n// // text: 'You asked, Font Awesome delivers with 40 shiny new icons in version 4.2.',\r\n// // time: '2 hrs ago'\r\n// // },\r\n// // {\r\n// // image: 'julia',\r\n// // author: 'Julia Aniston',\r\n// // text: 'Want to request new icons? Here\\'s how. Need vectors or want to use on the...',\r\n// // time: '10 hrs ago'\r\n// // },\r\n// // {\r\n// // image: 'bruno',\r\n// // author: 'Bruno Vespa',\r\n// // text: 'Explore your passions and discover new ones by getting involved. Stretch your...',\r\n// // time: '1 day ago'\r\n// // },\r\n// // {\r\n// // image: 'tereza',\r\n// // author: 'Tereza Stiles',\r\n// // text: 'Get to know who we are - from the inside out. From our history and culture, to the...',\r\n// // time: '1 day ago'\r\n// // },\r\n// // {\r\n// // image: 'adam',\r\n// // author: 'Adam Sandler',\r\n// // text: 'Need some support to reach your goals? Apply for scholarships across a variety of...',\r\n// // time: '2 days ago'\r\n// // },\r\n\r\n \r\n// ]; \r\n// public getChats():Array {\r\n// return this.chats;\r\n// }\r\n\r\n// }","import { Component, OnInit, ViewEncapsulation, HostListener } from '@angular/core';\r\nimport { AppSettings } from '../../../app.settings';\r\nimport { Settings } from '../../../app.settings.model';\r\nimport { MenuService } from '../menu/menu.service';\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ MenuService ]\r\n})\r\nexport class SidebarComponent implements OnInit { \r\n public settings: Settings;\r\n public menuItems:Array;\r\n constructor(public appSettings:AppSettings, public menuService:MenuService) {\r\n this.settings = this.appSettings.settings;\r\n this.menuItems = this.menuService.getVerticalMenuItems();\r\n }\r\n\r\n ngOnInit() { \r\n if(sessionStorage[\"userMenuItems\"]) {\r\n let ids = JSON.parse(sessionStorage.getItem(\"userMenuItems\"));\r\n let newArr = [];\r\n ids.forEach(id => {\r\n let newMenuItem = this.menuItems.filter(mail => mail.id == id);\r\n newArr.push(newMenuItem[0]);\r\n });\r\n this.menuItems = newArr; \r\n }\r\n }\r\n\r\n public closeSubMenus(){\r\n let menu = document.querySelector(\"#menu0\");\r\n for (let i = 0; i < menu.children.length; i++) {\r\n let child = menu.children[i].children[1]; \r\n if(child){\r\n if(child.classList.contains('show')){\r\n child.classList.remove('show');\r\n menu.children[i].children[0].classList.add('collapsed'); \r\n } \r\n }\r\n }\r\n }\r\n\r\n\r\n}\r\n","
\r\n \r\n \r\n
\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user-menu',\r\n templateUrl: './user-menu.component.html',\r\n styleUrls: ['./user-menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UserMenuComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \"user-img\" \r\n

\r\n Emilio Verdines - Web Developer\r\n Member since May. 2016\r\n

\r\n
\r\n Profile\r\n Settings\r\n Lock screen\r\n Log out\r\n \r\n
\r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ProfilePicturePipe } from './profilePicture/profilePicture.pipe';\r\nimport { ChatPersonSearchPipe } from './search/chat-person-search.pipe';\r\nimport { UserSearchPipe } from './search/user-search.pipe';\r\nimport { TruncatePipe } from './truncate/truncate.pipe';\r\nimport { MailSearchPipe } from './search/mail-search.pipe';\r\nimport { SafePipe } from './search/safe-pipe.pipe';\r\n@NgModule({\r\n imports: [ \r\n CommonModule \r\n ],\r\n declarations: [\r\n ProfilePicturePipe,\r\n ChatPersonSearchPipe,\r\n UserSearchPipe,\r\n TruncatePipe,\r\n MailSearchPipe,\r\n SafePipe\r\n ],\r\n exports: [\r\n ProfilePicturePipe,\r\n ChatPersonSearchPipe,\r\n UserSearchPipe,\r\n TruncatePipe,\r\n MailSearchPipe,\r\n SafePipe\r\n ]\r\n})\r\nexport class PipesModule { }\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({name: 'profilePicture'})\r\nexport class ProfilePicturePipe implements PipeTransform {\r\n transform(input:string, ext = 'jpg'):string {\r\n return '../assets/img/profile/' + input + '.' + ext;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'ChatPersonSearchPipe' })\r\nexport class ChatPersonSearchPipe implements PipeTransform {\r\n transform(value, args?): Array {\r\n let searchText = new RegExp(args, 'ig');\r\n if (value) {\r\n return value.filter(message => {\r\n if (message.author) {\r\n return message.author.search(searchText) !== -1;\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'MailSearch'\r\n})\r\n\r\nexport class MailSearchPipe implements PipeTransform {\r\n transform(value, args?): Array {\r\n let searchText = new RegExp(args, 'ig');\r\n if (value) {\r\n return value.filter(mail => {\r\n if(mail.sender || mail.subject){\r\n if(mail.sender.search(searchText) !== -1 || mail.subject.search(searchText) !== -1){\r\n return true;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safe'\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n transform(url) {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'UserSearchPipe', pure: false })\r\nexport class UserSearchPipe implements PipeTransform {\r\n transform(value, args?): Array {\r\n let searchText = new RegExp(args, 'ig');\r\n if (value) {\r\n return value.filter(user => {\r\n if (user.profile.name) {\r\n return user.profile.name.search(searchText) !== -1;\r\n }\r\n else{\r\n return user.username.search(searchText) !== -1;\r\n }\r\n });\r\n }\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'truncate'\r\n})\r\nexport class TruncatePipe implements PipeTransform {\r\n transform(value: string, args?) : string {\r\n let limit = args > 0 ? parseInt(args) : 10;\r\n return value.length > limit ? value.substring(0, limit) + '...' : value;\r\n }\r\n}","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}