{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/modules/authentication/models/sales-settings.ts","webpack:///src/app/modules/authentication/services/auth.service.ts","webpack:///src/app/modules/cart/components/navbar-cart/navbar-cart.component.ts","webpack:///src/app/modules/cart/components/navbar-cart/navbar-cart.component.html","webpack:///src/app/modules/cart/models/cart-summary.model.ts","webpack:///src/app/modules/cart/models/cart.model.ts","webpack:///src/app/modules/cart/models/payments.model.ts","webpack:///src/app/modules/cart/services/cart.service.ts","webpack:///src/app/modules/cart/services/sales-order.service.ts","webpack:///src/app/modules/order/components/orders.component.ts","webpack:///src/app/modules/order/components/orders.component.html","webpack:///src/app/modules/products/components/product-card/product-card.component.ts","webpack:///src/app/modules/products/components/product-card/product-card.component.html","webpack:///src/app/modules/products/components/product-modal/product-modal.component.ts","webpack:///src/app/modules/products/components/product-modal/product-modal.component.html","webpack:///src/app/modules/products/components/related-product/related-product.component.ts","webpack:///src/app/modules/products/components/related-product/related-product.component.html","webpack:///src/app/modules/products/models/category-filter.model.ts","webpack:///src/app/modules/products/services/category.service.ts","webpack:///src/app/modules/products/services/products.service.ts","webpack:///src/app/modules/search/components/search-result.component.ts","webpack:///src/app/modules/search/components/search-result.component.html","webpack:///src/app/shared/directives/mvc-partial.directive.ts","webpack:///src/app/shared/enums/document-attribute-type.ts","webpack:///src/app/shared/global/globals.ts","webpack:///src/app/shared/models/category-filter.model.ts","webpack:///src/app/shared/modules/material/material.module.ts","webpack:///src/app/shared/services/alert.service.ts","webpack:///src/app/shared/services/base.service.ts","webpack:///src/app/shared/services/http-helper.service.ts","webpack:///src/app/shared/services/mvc-html.service.ts","webpack:///src/app/shared/services/translator.service.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","routes","path","loadChildren","m","LayoutModule","AuthModule","AppRoutingModule","forRoot","initialNavigation","scrollPositionRestoration","imports","AppComponent","globalVariable","authService","translate","translateService","title","message","txtDir","loading","addLangs","lang","getSelectedLang","setDefaultLang","getTranslator","listen","generateTranslation","subscribe","res","i","LanguageId","arabicTranslation","Key","Value","englishTranslation","messaging","payload","console","log","soundfile","fire","toast","notification","text","body","position","showConfirmButton","timer","timerProgressBar","didOpen","addEventListener","stopTimer","resumeTimer","event","preventDefault","window","location","href","fcmOptions","link","audplay","Audio","play","selector","templateUrl","styleUrls","firebase","AppModule","withServerTransition","appId","config","tokenGetter","provide","useFactory","declarations","providers","bootstrap","localStorage","getItem","SalesSttings","AuthService","jwtHelper","httpHelperService","controllerName","controllerName2","controllerName4","zommController","urlGetList","urlGetAll","urlLogOut","controllerName3","isDeliveryInfoChanged","token","header","set","currentLang","isTokenExpired","model","_http","post","baseUrl","fcmToken","get","profileId","referenceId","referenceTypeId","imageUrl","headers","userId","deliveryInfoId","clear","userProfileModel","setItem","JSON","stringify","securityObject","parse","salesSttings","cashWay","deliveryInfoModel","removeItem","removeUserDefaultDeliveryInfoFromLocalStorage","setUserDefaultDeliveryInfoInLocalStorage","emit","sessionId","templateId","contentTypeId","contentId","responseType","providedIn","NavbarCartComponent","cartService","router","updateNavbarCart","isCartChanged","cart","getCartFromLocalStorage","items","item","Quantity","updateItemInCart","removeFromCart","CartSummary","couponValue","IsPromoCode","Cart","Payments","CartService","alertService","messageSource","isCartRemoved","product","find","x","generatedId","updateCartInLocalStorage","Array","Id","push","showSuccess","filter","addCartToLocalStorage","cartSummary","totalPrice","totalQuantity","totalDiscount","branchName","ItemPrice","SalesOrderService","isCouponChanged","salesOrder","salesOrderId","salesStatus","tableNumber","start","end","profileType","salesOrderDetailsId","quantity","orderId","cart_currency","cart_amount","cart_id","orderStatus","districtId","discountCoupon","removeCouponFromLocalStorage","setUserCouponInLocalStorage","deliveryPrice","removeDeliveryPriceFromLocalStorage","setUserDeliveryPriceInLocalStorage","orderDetailsId","price","categoryFilter","Start","End","Orderby","Dir","OrdersComponent","salesOrderService","activatedRoute","dialog","parseFloat","currentPage","selected","sliderOptions","rtl","css","margin","autoplay","dots","disablePrevious","disableNext","getUserProfileFromLocalStorage","ProfileTypeId","getOrdersBasedOnProfileType","total","getOrdersByProfileId","getOrderById","Object","values","len","length","SaleStatus","navigate","str","f","pageNumber","totalPage","getAllOrders","response","getMyOrders","Math","ceil","pagination","fill","map","getOrderByProfileId","updateOrderStatus","addInvoice","createSalesOrderAndInvoice","dialogMessage","actionMethod","openDialog","dialogRef","open","width","height","data","afterClosed","result","ProductCardComponent","mVCHTMLService","productService","selectedProduct","translation","addToCart","getView","document","getElementById","innerHTML","GetRequiredItemTypeAttribute","ItemTypeId","itemCount","productId","random","ProductModalComponent","_location","route","attributes","documentAttributeType","close","Message","getProductById","paramMap","params","getById","getItemTypeById","itemTypeId","ItemAttributeList","ItemType","ItemTypeAttributeList","ItemAttributeValue","getOrderDetails","orderDetails","deleteOderDetails","deleteOderByOrderId","back","ngOnInit","CancelOrder","DeleteOrderDetails","RelatedProductComponent","categoryService","CategorId","categoryId","getItems","getAllItemsByCategoryId","relatedProducts","ItemList","totalCount","TotalCount","PageSize","CategoryFilter","CategoryService","urlGetAllItemsByCategoryId","urlGetAllItems","urlGetMinMaxPrice","urlGetAllItemsByMaxPriceAndLatestDate","SearchValue","searchValue","maxPrice","latestDate","startPrice","endPrice","availability","ProductService","urlGetById","urlAddEvaluation","urlUpdateEvaluation","urlGetAllItemTypes","urlGetitemtypebyid","urlGetRequiredItemTypeAttribute","evaluation","SearchResultComponent","globalVariables","_categoryService","Arr","numberOfPages","endScroll","endScroll2","startScroll","invert","max","min","step","thumbLabel","value","round","sortBy","filterBy","siderImages","getDummyData","getMinMaxPrice","getItemBySearch","getAllItemsByMaxPriceAndLatestDate","itemsList","ImagePath","getAllItems","MaxPrice","scrollPosition","pageYOffset","windowSize","innerHeight","bodyHeight","offsetHeight","ScrollFromBottom","Filter","createComponentFactory","compiler","metadata","cmpClass","decoratedCmp","DynamicHtmlModule","compileModuleAndAllComponentsAsync","moduleWithComponentFactory","componentFactories","componentType","MvcPartialDirective","vcRef","http","html","url","cmpRef","destroy","compMetadata","template","factory","injector","fromResolvedProviders","parentInjector","createComponent","err","DocumentAttributeType","Globals","isPromoCode","currentUrl","headerTemplateId","headerContentTypeId","headerContentId","headerContetn","menuTemplateId","menuContentTypeId","menuContentId","footerTemplateId","footerContentTypeId","footerContentId","test","PageSettings","material","MaterialModule","AlertService","toastr","success","error","info","warning","BaseService","urlGetFirst","urlSave","urlDelete","urlGetAllLite","apiUrl","dataSourceModel","entity","errorHandler","HttpHelperService","MVCHTMLService","TranslatorService","SharedModule","environment","production","apiKey","authDomain","projectId","storageBucket","messagingSenderId","measurementId","bootstrapModule"],"mappings":"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","file":"main-es5.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(function() {\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 = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nconst routes: Routes = [\r\n { path: '', loadChildren: () => import('./layout/layout.module').then(m => m.LayoutModule) },\r\n { path: 'auth', loadChildren: () => import('./modules/authentication/auth.module').then(m => m.AuthModule) },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {\r\n initialNavigation: 'enabled',\r\n scrollPositionRestoration: 'enabled'\r\n })\r\n ],\r\n exports: [RouterModule]\r\n})\r\n\r\nexport class AppRoutingModule { }\r\n","import { Component, Inject } from '@angular/core'; \r\nimport { MVCHTMLService } from './shared/services/mvc-html.service'; \r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AuthService } from './modules/authentication/services/auth.service';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Globals } from './shared/global/globals';\r\nimport { TranslatorService } from './shared/services/translator.service';\r\nimport { environment } from \"../environments/environment\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'; \r\nimport { getMessaging, getToken, onMessage } from \"firebase/messaging\";\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\n\r\nexport class AppComponent {\r\n title = 'af-notification';\r\n message:any = null;\r\n list: any;\r\n arabicList:any;\r\n englishList:any;\r\n txtDir :string = 'ltr';\r\n public loading = false;\r\n////////////////////////////////////////////////////////\r\n constructor(private globalVariable:Globals,public authService: AuthService,public translate: TranslateService\r\n ,public translateService: TranslatorService) {\r\n translate.addLangs(['Arabic', 'English']);\r\n let lang = this.authService.getSelectedLang();\r\n if(lang != null){\r\n translate.setDefaultLang(lang);\r\n if(lang =='Arabic'){\r\n this.txtDir = 'rtl';\r\n }else{\r\n this.txtDir = 'ltr';\r\n }\r\n }else{\r\n translate.setDefaultLang('English');\r\n this.txtDir = 'ltr';\r\n }\r\n }\r\n////////////////////////////////////////////////////////\r\n ngOnInit(){ \r\n this.getTranslator();\r\n this.listen();\r\n } \r\n////////////////////////////////////////////////////////\r\n getTranslator(){\r\n debugger;\r\n this.authService.generateTranslation().subscribe(res => { \r\n debugger;\r\n for(let i of res){\r\n if(i.LanguageId =='1'){\r\n this.globalVariable.arabicTranslation[i.Key] = i.Value;\r\n }else{\r\n this.globalVariable.englishTranslation[i.Key] = i.Value;\r\n }\r\n }\r\n });\r\n } \r\n//////////////////////////////////////////////////\r\n listen() {\r\n const messaging = getMessaging();\r\n onMessage(messaging, (payload) => {\r\n console.log('Message received. ', payload);\r\n this.message=payload;\r\n var soundfile = \"https://ecommercetest.boniantech.com/khayraat/content/notificationSound/message-ringtone-magic.mp3\";\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\ttitle: payload.notification.title,\r\n\t\t\t\ttext: payload.notification.body,\r\n\t\t\t\tposition: 'bottom-start',\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 6000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\tdidOpen: (toast) => {\r\n\t\t\t\t toast.addEventListener('mouseenter', Swal.stopTimer)\r\n\t\t\t\t toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n toast.addEventListener('click', function (event) {\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t\twindow.location.href = payload.fcmOptions.link})\r\n\t\t\t\t var audplay = new Audio(soundfile);\r\n audplay.play();\r\n\t\t\t\t}\r\n\t\t\t });\r\n });\r\n }\r\n////////////////////////////////////////////\r\n// requestPermission() {\r\n// const messaging = getMessaging();\r\n// getToken(messaging).then(\r\n// (currentToken) => {\r\n// if (currentToken) {\r\n// this.setTokenSentToServer(currentToken);\r\n// this.saveToken(currentToken)\r\n// } else {\r\n// console.log('No registration token available. Request permission to generate one.');\r\n// }\r\n// }).catch((err) => {\r\n// console.log('An error occurred while retrieving token. ', err);\r\n// });\r\n// }\r\n//////////////////////////////////////////////////\r\n// setTokenSentToServer(token) {\r\n// window.localStorage.setItem('fcmToken', token);\r\n// }\r\n//////////////////////////////////////////////////\r\n// isTokenSentToServer() {\r\n// return window.localStorage.getItem('fcmToken');\r\n// }\r\n//////////////////////////////////////////////////\r\n// saveToken(currentToken){\r\n// this.authService.saveToken(currentToken).subscribe(res => { \r\n\r\n// });\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 { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule,inject } from '@angular/core';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { JwtModule } from \"@auth0/angular-jwt\";\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { SearchResultComponent } from './modules/search/components/search-result.component';\r\nimport { CategoryService } from './modules/products/services/category.service';\r\nimport { Payments } from './modules/cart/models/payments.model';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { OrdersComponent } from './modules/order/components/orders.component';\r\nimport { NgxLoadingModule } from 'ngx-loading';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatCarouselModule } from '@ngmodule/material-carousel';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { Globals } from './shared/global/globals';\r\nimport { OwlModule } from 'ngx-owl-carousel';\r\nimport { ServicesCalendarComponent } from './modules/services-calendar/components/services-calendar.component';\r\nimport { CalendarModule, DateAdapter } from 'angular-calendar';\r\nimport { adapterFactory } from 'angular-calendar/date-adapters/date-fns';\r\nimport { initializeApp } from \"firebase/app\";\r\nimport { environment } from 'src/environments/environment';\r\ninitializeApp(environment.firebase);\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n SearchResultComponent,\r\n OrdersComponent,\r\n ],\r\n imports: [\r\n OwlModule,\r\n TranslateModule.forRoot({\r\n }),\r\n MatCarouselModule.forRoot(),\r\n BrowserModule,\r\n NgxLoadingModule.forRoot({}),\r\n FormsModule,\r\n BrowserAnimationsModule,\r\n SharedModule,\r\n BrowserModule.withServerTransition({ appId: 'serverApp' }),\r\n AppRoutingModule,\r\n HttpClientModule,\r\n MatFormFieldModule,\r\n JwtModule.forRoot({\r\n config: {\r\n tokenGetter: tokenGetter\r\n }\r\n }),\r\n CalendarModule.forRoot({ provide: DateAdapter, useFactory: adapterFactory }),\r\n \r\n ],\r\n providers: [\r\n CategoryService,\r\n Payments,\r\n Globals\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n\r\nexport function tokenGetter() {\r\n return localStorage.getItem(\"jwt\");\r\n}\r\n","export class SalesSttings {\r\nAutomaticTax: number;\r\nDiscountTax: number;\r\nAutomaticDiscount:number;\r\n}","import { Injectable ,Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { LoginModel } from '../models/login.model';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { HttpHelperService } from '../../../shared/services/http-helper.service';\r\nimport { UserProfileModel } from '../models/user-profile.model';\r\nimport { ContactInfo } from '../models/contact-infoModel';\r\nimport { ChangePassword } from '../models/change-password';\r\nimport { DeliveryInformation } from '../../cart/models/delivery-information';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { SecurityObject } from '../models/security-object.model';\r\nimport { SalesSttings } from '../models/sales-settings';\r\nimport { CashWay } from '../models/cash-way';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthService {\r\n public token:string ;\r\n controllerName: string = 'ApiECommerceAccount';\r\n controllerName2: string = 'ApiECommerceSalesOrder';\r\n controllerName4: string = 'ApiECommerceInventory';\r\n zommController: string = 'ApiZoomMeeting';\r\n urlGetList = \"GenerateTranslationFiles\";\r\n urlGetAll = \"getallcategories\";\r\n urlLogOut = \"Logout\";\r\n controllerName3 = \"ApiTranslatorGenerator\";\r\n public header ;\r\n public lang ;\r\n public isDeliveryInfoChanged: EventEmitter = new EventEmitter();\r\n constructor(private jwtHelper: JwtHelperService, private httpHelperService: HttpHelperService) {\r\n if(localStorage.getItem(\"jwt\")){\r\n this.token = localStorage.getItem(\"jwt\");\r\n }else{\r\n this.token = \"9iZ8s/Z/3YEZONQl8t4qqYBfj7qLyg+MV5OLfNsG+YGYN722JHDavnFFkgJxyy11y0ErdwY5Upy8BHdUhmrm1WKccGrcok5uZcNk7dgxwpY1JeDNAKnIITzOG5fEBjUihnqFY/2IzC7kPF2sN0hryLU2nqX0hCpcRP54oOHazwhAtoAkuhWJ+uBJjUjmfFPyksRbdRVsRILnU18B7A0/6dN89VnAAXYAGMHoByvZ1JHU2zNKYp4XrYhshvMyGMAaX4BJ2BVUl8BPL2gBfLdxBVOYNtnQIvoSg3lLFHG4VxU5pL1jv7NAHd1Pz3l/IpsFOaS9Y7+zQB2xq1gM3RoZcC3jDHxg8tQpF5/5sHu3T0/Hekb6orO1YqkcstkCZFrZNz+RMOjFhXvRlc2r6VxnlqausGtF3rEG0ZXNq+lcZ5bCb2bAEzZp/dGVzavpXGeW0v7jjnqaTZbRlc2r6VxnlnlpHwLls0WTyRxFoJvR/8K5PtXZt2V6d/F6SVi8tZ42p3pHMsL8+3uIbIbzMhjAGhzcWOjZ+wTd23zxvWzYXRU76riB85AJi4czk0aVEL4fedvRIKSUtEJo55tHRNumRiXfotwsLiE5XEoAkB4S9cfqEEQCXAThf8tDAU8myx30t8Hqab01tl+bQH/e4KnAa2XBoDlrlEVkp8TRDmZLC9IUW53qM6ELE5ay+0U6z2dm1cffGJz/tQw4hUJNhXiLsTzzc/SYWmnLrGEz1zG7IjLqmNsRnOmviy3/G5BoV7W19QJow52/cHl0bzlbxIPFVaofgc2P8GRn6osV4JKRuHCWGIMNo9O46FSuQOPV+qedccD/0wAZByJ5uRShJdV/K3U3m4JInQ87UE0Fy6s7JJqcWebWSI6fPSCIkhBq3gbzZnTaZCb9EUEl3WUMKUm4OI5WSaLeOiDG3Ldc2CC0n1I=\";\r\n }\r\n this.header = new HttpHeaders().set(\r\n \"access-token\",\r\n this.token\r\n );\r\n var currentLang = localStorage.getItem(\"lang\");\r\n if(currentLang !=null){\r\n if(currentLang == \"Arabic\"){\r\n currentLang = \"1\";\r\n }else{\r\n currentLang = \"2\";\r\n }\r\n }\r\n this.lang = new HttpHeaders().set(\r\n \"language-id\",\r\n currentLang\r\n ); \r\n }\r\n/////////////////////////////////////////////////////////////////\r\n isUserAuthenticated() {\r\n let token: string = localStorage.getItem(\"jwt\");\r\n if (token && !this.jwtHelper.isTokenExpired(token)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n \r\n/////////////////////////////////////////////////////////////////\r\nlogin(model: LoginModel): any {\r\n return this.httpHelperService._http.post(`${this.httpHelperService.baseUrl}api/${this.controllerName}/LoginReturnToken`, model);\r\n}\r\n/////////////////////////////////////////////////////////////////\r\nsaveToken(fcmToken:string): any {\r\n return this.httpHelperService._http.get(`${this.httpHelperService.baseUrl}api/${this.controllerName}/UpdateFcmTokenToCurrentLogedUser?fcmToken=${fcmToken}`);\r\n}\r\n/////////////////////////////////////////////////////////////////\r\nloginByProfileId(profileId:number): any {\r\n return this.httpHelperService._http.get(`${this.httpHelperService.baseUrl}api/${this.controllerName}/LoginTableName?profileId=${profileId}`);\r\n}\r\n/////////////////////////////////////////////////////////////////\r\ndownloadImage(referenceId,referenceTypeId): any {\r\n return this.httpHelperService._http.get(`${this.httpHelperService.imageUrl}?referenceId=${referenceId}&referenceTypeId=${referenceTypeId}`, {headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getUserById(userId: number): any {\r\n return this.httpHelperService._http.get(`${this.httpHelperService.baseUrl}api/${this.controllerName}/GetUserProfileByUserId?id=${userId}`);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n register(model: UserProfileModel) {\r\n return this.httpHelperService._http.post(`${this.httpHelperService.baseUrl}api/${this.controllerName}/Registration`, model);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n changePasswordApi(model:ChangePassword){\r\n return this.httpHelperService._http.post(`${this.httpHelperService.baseUrl}api/${this.controllerName}/ChangePassword`, model);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getRegistrationLookUp(): any {\r\n return this.httpHelperService._http.get(`${this.httpHelperService.baseUrl}api/${this.controllerName}/GetRegistrationLookUp`);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n updateAccountInfo(model: UserProfileModel): any {\r\n return this.httpHelperService._http.post(`${this.httpHelperService.baseUrl}api/${this.controllerName}/UpdateContactInfo`,model);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n addDeliveryInformation(model: ContactInfo): any {\r\n return this.httpHelperService._http.post(`${this.httpHelperService.baseUrl}api/${this.controllerName}/AddDeliveryInformation`,model);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n updateDefaultDeliveryInformation(model: ContactInfo): any {\r\n return this.httpHelperService._http.post(`${this.httpHelperService.baseUrl}api/${this.controllerName}/UpdateDefaultDeliveryInformation`,model);\r\n }\r\n///////////////////////////////////////////////////////////////// \r\n deleteDeliveryInformation(deliveryInfoId: number): any {\r\n return this.httpHelperService._http.delete(`${this.httpHelperService.baseUrl}api/${this.controllerName}/DeleteDeliveryInformation?deliveryInfoId=${deliveryInfoId}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getDelievryInformationByProfileId(profileId: number): any {\r\n return this.httpHelperService._http.get(`${this.httpHelperService.baseUrl}api/${this.controllerName}/GetDelievryInformatioByProfileId?profileId=${profileId}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getSalesSttings(): any {\r\n // return this.httpHelperService._http.get(`${this.httpHelperService.baseUrl}api/${this.controllerName2}/GetTaxAndDiscount`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getCashWay(): any {\r\n return this.httpHelperService._http.get(`${this.httpHelperService.baseUrl}api/${this.controllerName2}/GetAvailablePaymentMethod`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n clearLocalStorage() {\r\n localStorage.clear();\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n setUserProfileInLocalStorage(userProfileModel: UserProfileModel) {\r\n localStorage.setItem('userProfile', JSON.stringify(userProfileModel));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n setUserSecurityObjectInLocalStorage(securityObject: SecurityObject) {\r\n localStorage.setItem('securityObject', JSON.stringify(securityObject));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getSelectedLang():string {\r\n return localStorage.getItem('lang');\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getUserSecurityObjectFRomLocalStorage(): SecurityObject {\r\n return JSON.parse(localStorage.getItem('securityObject'));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n setSalesSttingsInLocalStorage(salesSttings: SalesSttings) {\r\n localStorage.setItem('salesSttings', JSON.stringify(salesSttings));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getSalesSttingsFRomLocalStorage(): SalesSttings {\r\n return JSON.parse(localStorage.getItem('salesSttings'));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n setCashWayInLocalStorage(cashWay: CashWay) {\r\n localStorage.setItem('cashWay', JSON.stringify(cashWay));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getCashWayFRomLocalStorage(): CashWay {\r\n return JSON.parse(localStorage.getItem('cashWay'));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n setUserDefaultDeliveryInfoInLocalStorage(deliveryInfoModel: DeliveryInformation) {\r\n localStorage.setItem('DeliveryInformation', JSON.stringify(deliveryInfoModel));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public removeUserDefaultDeliveryInfoFromLocalStorage(): any {\r\n localStorage.removeItem('DeliveryInformation');\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getUserDefaultDeliveryInfoFromLocalStorage(): DeliveryInformation {\r\n return JSON.parse(localStorage.getItem('DeliveryInformation'));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n updateUserDefaultDeliveryInfoInLocalStorage(deliveryInfoModel: DeliveryInformation) {\r\n this.removeUserDefaultDeliveryInfoFromLocalStorage();\r\n this.setUserDefaultDeliveryInfoInLocalStorage(deliveryInfoModel);\r\n this.isDeliveryInfoChanged.emit(true);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getUserProfileFromLocalStorage(): UserProfileModel {\r\n return JSON.parse(localStorage.getItem('userProfile'));\r\n }\r\n///////////////////////////////////////////////////////////////// \r\nzommMetting(sessionId:number): any {\r\n return this.httpHelperService._http.get(`${this.httpHelperService.baseUrl}api/${this.zommController}/GetViewModel?SessionId=${sessionId}`,{headers:this.header});\r\n}\r\n/////////////////////////////////////////////////////////////////\r\ngetHomeContent(): any {\r\n return this.httpHelperService._http.get(`${this.httpHelperService.baseUrl}api/ApiEcommerceCms/GetHomePageContent?Start=-1&End=0&searchValue=&orderby=&dir=`,{headers:this.header});\r\n}\r\n/////////////////////////////////////////////////////////////////\r\ngetSpecificSection(templateId,contentTypeId,contentId): any {\r\n return this.httpHelperService._http.get(`${this.httpHelperService.baseUrl}/home/MainSections?templateId=${templateId}&ContentTypeId=${contentTypeId}&contentId=${contentId}`,{headers:this.lang,responseType: 'text' });\r\n}\r\n/////////////////////////////////////////////////////////////////\r\ngenerateTranslation(): any { \r\n return this.httpHelperService._http.get(`${this.httpHelperService.baseUrl}api/${this.controllerName3}/${this.urlGetList}`,{headers:this.header});\r\n}\r\n////////////////////////////////////////////////////////////////\r\ngetAllCategories(): any{\r\n return this.httpHelperService._http.get(this.httpHelperService.baseUrl + 'api/' + this.controllerName4 + '/' + this.urlGetAll + '?Start=0&End=32&orderby=&dir=',{headers:this.header});\r\n}\r\n////////////////////////////////////////////////////////////////\r\nlogout(): any{\r\n return this.httpHelperService._http.get(this.httpHelperService.baseUrl + 'api/' + this.controllerName + '/' + this.urlLogOut);\r\n}\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpHelperService } from 'src/app/shared/services/http-helper.service';\r\nimport { Item } from '../../../../modules/products/models/products.model';\r\nimport { CartService } from '../../services/cart.service';\r\n@Component({\r\n selector: 'app-navbar-cart',\r\n templateUrl: './navbar-cart.component.html',\r\n styleUrls: ['./navbar-cart.component.scss']\r\n})\r\nexport class NavbarCartComponent implements OnInit {\r\n\r\n items: Array;\r\n/////////////////////////////////////////////////////////////////\r\n constructor(private cartService: CartService, private router: Router, public httpHelperService:HttpHelperService ) { }\r\n/////////////////////////////////////////////////////////////////\r\n ngOnInit(): void {\r\n this.updateNavbarCart();\r\n this.cartService.isCartChanged.subscribe(res => {\r\n if (res) {\r\n this.updateNavbarCart();\r\n }\r\n });\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n private updateNavbarCart() {\r\n let cart = this.cartService.getCartFromLocalStorage();\r\n if (cart) {\r\n this.items = cart.items;\r\n }\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public increaseQuantity(item: Item) {\r\n item.Quantity++;\r\n this.cartService.updateItemInCart(item);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public decreaseQuantity(item: Item) {\r\n if (item.Quantity > 1) {\r\n item.Quantity--;\r\n this.cartService.updateItemInCart(item);\r\n }\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public removeItem(item: Item) {\r\n this.cartService.removeFromCart(item);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n // public selectProduct(product: Item) {\r\n // let url = this.router.url;\r\n // if (url.includes(\"product-details\")) {\r\n // this.selectedProduct.emit(product);//To Display Item from related products\r\n // window.scroll(0, 0);//Scroll to top\r\n // }\r\n // else {\r\n // this.router.navigate(['/products/product-details/' + product.Id]);\r\n // }\r\n // }\r\n}\r\n","
\r\n\r\n
\r\n \r\n \r\n {{item.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\nexport class CartSummary {\r\n totalQuantity: number;\r\n totalPrice: number;\r\n branchName: string;\r\n totalDiscount: number;\r\n TotalNet:number;\r\n couponValue:number = 0;\r\n IsPromoCode:boolean = false;\r\n}","import { Item } from '../../products/models/products.model';\r\n\r\nexport class Cart {\r\n items: Array;\r\n}","export class Payments{\r\n profile_id:56750;\r\n tran_type:\"sale\";\r\n tran_class:\"ecom\";\r\n cart_id:\"4244b9fd-c7e9-4f16-8d3c-4fe7bf6c48ca\";\r\n cart_description:\"Dummy Order 35925502061445345\"; \r\n cart_currency:\"EGP\"; \r\n cart_amount:1; \r\n callback: \"https://3.131.229.146:44390/api/savePaymentInfo\"; \r\n return: \"https://15.185.175.247/file\"; \r\n customer_details:{\r\n name: \"John Smith\",\r\n email: \"jsmith@gmail.com\",\r\n street1: \"404, 11th st, void\",\r\n city: \"Dubai\",\r\n state: \"DU\",\r\n country: \"AE\"\r\n } ;\r\n framed: true;\r\n hide_shipping: true;\r\n }\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { AlertService } from '../../../shared/services/alert.service';\r\nimport { Item } from '../../products/models/products.model';\r\nimport { CartSummary } from '../models/cart-summary.model';\r\nimport { Cart } from '../models/cart.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CartService {\r\n private messageSource = new BehaviorSubject(\"default message\");\r\n\r\n public isCartChanged: EventEmitter = new EventEmitter();\r\n public isCartRemoved: EventEmitter = new EventEmitter();\r\n/////////////////////////////////////////////////////////////////\r\n constructor(private alertService: AlertService) { }\r\n/////////////////////////////////////////////////////////////////\r\n public updateItemInCart(product: Item) {\r\n let cart: Cart = this.getCartFromLocalStorage();\r\n cart.items.find(x => x.generatedId == product.generatedId).Quantity = product.Quantity;//If this product is selected \r\n this.updateCartInLocalStorage(cart);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public addToCart(product: Item) {\r\n let cart: Cart = this.getCartFromLocalStorage();\r\n if (cart == null) {\r\n cart = new Cart();\r\n cart.items = new Array();\r\n }\r\n let item = cart.items.find(x => x.Id == product.Id);\r\n product.Quantity = 1;\r\n cart.items.push(product);\r\n this.updateCartInLocalStorage(cart);\r\n this.alertService.showSuccess(\"You have added item successfully\", \"Success\");\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public removeFromCart(product: Item) {\r\n let cart: Cart = this.getCartFromLocalStorage();\r\n cart.items = cart.items.filter(x => x.generatedId != product.generatedId);\r\n this.updateCartInLocalStorage(cart);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public addCartToLocalStorage(cart: Cart) {\r\n localStorage.setItem(\"cart\", JSON.stringify(cart))\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public getCartFromLocalStorage(): Cart {\r\n return JSON.parse(localStorage.getItem(\"cart\"));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public removeCartFromLocalStorage(): any {\r\n localStorage.removeItem('cart');\r\n this.isCartRemoved.emit(true);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public updateCartInLocalStorage(cart: Cart) {\r\n // this.removeCartFromLocalStorage();\r\n this.addCartToLocalStorage(cart);\r\n this.isCartChanged.emit(true);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public getCartSammry(): CartSummary {\r\n let cart = this.getCartFromLocalStorage();\r\n let cartSummary = new CartSummary();\r\n if (cart) {\r\n var items = cart.items\r\n cartSummary.totalPrice = 0;\r\n cartSummary.totalQuantity = 0;\r\n cartSummary.totalDiscount = 15;\r\n cartSummary.branchName = \"Badr City\";\r\n for (let item of items) {\r\n cartSummary.totalPrice += (item.ItemPrice * item.Quantity);\r\n cartSummary.totalQuantity += item.Quantity;\r\n }\r\n }\r\n return cartSummary;\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../../../shared/services/base.service';\r\nimport { SalesOrder } from '../models/sales-order.model';\r\nimport { UserProfileModel } from '../../authentication/models/user-profile.model';\r\nimport { DiscountCoupon } from '../models/discount-coupon';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { DeliveryPrice } from '../models/delivery-price';\r\nimport { CategoryFilter } from '../../products/models/category-filter.model';\r\nimport { HttpHeaders } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class SalesOrderService extends BaseService {\r\n public isCouponChanged: EventEmitter = new EventEmitter();\r\n public isDeliveryInfoChanged: EventEmitter = new EventEmitter();\r\n controllerName = \"ApiECommerceSalesOrder\";\r\n controllerName2 = \"ApiECommerceAccount\";\r\n/////////////////////////////////////////////////////////////////\r\n public header = new HttpHeaders().set(\r\n \"access-token\",\r\n localStorage.getItem(\"jwt\")\r\n );\r\n/////////////////////////////////////////////////////////////////\r\n createCustomer(salesOrder: SalesOrder) {\r\n return this._http.post(`${this.baseUrl}Api/${this.controllerName}/AddCustomer`, salesOrder,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n createSalesOrder(salesOrder: SalesOrder) {\r\n return this._http.post(`${this.baseUrl}Api/${this.controllerName}/AddSalesOrder`, salesOrder,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n createSalesOrderAndInvoice(salesOrderId: number) {\r\n return this._http.post(`${this.baseUrl}Api/${this.controllerName}/AddSalesInoviceWhenCash?salesOrderId=${salesOrderId}`, salesOrderId,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getOrderByProfileId(salesStatus : number,tableNumber : number,start : number,end:number) {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/GetOrderByProfileId?start=${start}&end=${end}&salesStatus=${salesStatus}&tableNumber=${tableNumber}`,{headers:this.header});\r\n\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getAllOrders(salesStatus : number,tableNumber : number,profileType:number,start : number,end:number) {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/GetAllOrders?start=${start}&end=${end}&salesStatus=${salesStatus}&tableNumber=${tableNumber}&profileType=${profileType}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getOrderDetails(salesOrderId: number) {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/GetSalesOrderDetailsBySalesOrderId?salesOrderId=${salesOrderId}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n updateOrderDetailsQuantity(salesOrderDetailsId: number , quantity:any) {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/UpdateOrderDetailsQuantity?orderDetailsId=${salesOrderDetailsId}&quantity=${quantity}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n updateOrderPrice(salesOrder :SalesOrder, orderId:any) {\r\n return this._http.post(`${this.baseUrl}api/${this.controllerName}/UpdateOrderPrice?orderId=${orderId}`,salesOrder,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n payment(cart_currency : string,cart_amount : number,cart_id: number ,userProfileModel: UserProfileModel) {\r\n return this._http.post(`${this.baseUrl}api/${this.controllerName}/PaymentRequest?cartCurrency=${cart_currency}&cartAmount=${cart_amount}&cartId=${cart_id}`,userProfileModel,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n updateOrderStatus(orderId : number,orderStatus : number) {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/UpdateOrderStatus?orderId=${orderId}&orderStatus=${orderStatus}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getOrderById(salesStatus : number,tableNumber : number,userId: number) {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/GetOrderById?salesStatus=${salesStatus}&tableNumber=${tableNumber}&salesOrderId=${userId}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n paymentStatus(profileId:number,userId:number) {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/GetPaymentStatus?profileId=${profileId}&userId=${userId}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getOrderDetailsArribute(salesOrderDetailsId: number) {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/GetSalesOrderDetailsDynamicAttribute?salesOrderDetailsId=${salesOrderDetailsId}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getdeliveryPrice(districtId: number) {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/GetDeliveryPrice?districtId=${districtId}`);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getCoupon(code: number) {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/GetCoupon?code=${code}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n setUserCouponInLocalStorage(discountCoupon: DiscountCoupon) {\r\n localStorage.setItem('DiscountCoupon', JSON.stringify(discountCoupon));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public removeCouponFromLocalStorage(): any {\r\n localStorage.removeItem('DiscountCoupon');\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getUserCouponFromLocalStorage(): number {\r\n return JSON.parse(localStorage.getItem('DiscountCoupon'));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n updateUserCouponInLocalStorage(discountCoupon: DiscountCoupon) {\r\n this.removeCouponFromLocalStorage();\r\n this.setUserCouponInLocalStorage(discountCoupon);\r\n this.isCouponChanged.emit(true);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n setUserDeliveryPriceInLocalStorage(deliveryPrice: DeliveryPrice) {\r\n localStorage.setItem('DeliveryPrice', JSON.stringify(deliveryPrice));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public removeDeliveryPriceFromLocalStorage(): any {\r\n localStorage.removeItem('DeliveryPrice');\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getUserDeliveryPriceFromLocalStorage(): DeliveryPrice {\r\n return JSON.parse(localStorage.getItem('DeliveryPrice'));\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n updateUserDeliveryPriceInLocalStorage(deliveryPrice: DeliveryPrice) {\r\n this.removeDeliveryPriceFromLocalStorage();\r\n this.setUserDeliveryPriceInLocalStorage(deliveryPrice);\r\n this.isDeliveryInfoChanged.emit(true);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n deleteOderDetails(orderId: number,orderDetailsId : number,price : number) {\r\n return this._http.delete(`${this.baseUrl}api/${this.controllerName}/DeleteOderDetails?orderId=${orderId}&orderDetailsId=${orderDetailsId}&price=${price}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n deleteOderByOrderId(orderId: number) {\r\n return this._http.delete(`${this.baseUrl}api/${this.controllerName}/DeleteOderByOrderId?orderId=${orderId}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getAllCustomers(categoryFilter: CategoryFilter) {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName2}/GetCustomersAndTables?start=${categoryFilter.Start}&end=${categoryFilter.End}&searchvalue=&orderby=${categoryFilter.Orderby}&dir=${categoryFilter.Dir}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { OrderStatus } from 'src/app/shared/enums/order-status';\nimport { SalesSttings } from '../../authentication/models/sales-settings';\nimport { UserProfileModel } from '../../authentication/models/user-profile.model';\nimport { AuthService } from '../../authentication/services/auth.service';\nimport { SalesOrderService } from '../../cart/services/sales-order.service';\nimport { Header } from '../../home/models/header.model';\nimport { ProductModalComponent } from '../../products/components/product-modal/product-modal.component';\nimport * as $ from 'jquery';\n\n@Component({\n selector: 'app-orders',\n templateUrl: './orders.component.html',\n styleUrls: ['./orders.component.scss']\n})\nexport class OrdersComponent implements OnInit {\n public getMyOrders:any;\n public loading = false;\n public pagination;\n public totalPage;\n public parse = parseFloat;\n public orderDetails ;\n public salesStatus = null;\n public tableNumber;\n public dialogMessage;\n public actionMethod;\n public myservice : any;\n public disablePrevious ;\n public disableNext ;\n public salesSttings = new SalesSttings();\n public autoTax:any;\n public discountTax:any;\n public autoDiscount:any\n public currentPage = 1;\n public selected : number = 1;\n public permission ;\n public userProfileModel : UserProfileModel;\n public orderStatusEnum : OrderStatus;\n public siderImages: Header[];\n public sliderOptions: any;\n public profileType : any;\n public start = 0;\n public end =10;\n/////////////////////////////////////////////////////////////////\n constructor(private authService: AuthService,\n private salesOrderService:SalesOrderService,private router: Router,private activatedRoute:ActivatedRoute,public dialog: MatDialog) { }\n/////////////////////////////////////////////////////////////////\n ngOnInit(): void {\n this.sliderOptions = {\n items: 1,\n rtl: ($('html').css('direction') === 'rtl') ? true : false,\n margin: 10,\n autoplay: true,\n dots: false\n }\n this.disablePrevious = true;\n this.disableNext = false;\n this.userProfileModel = this.authService.getUserProfileFromLocalStorage();\n this.profileType = this.userProfileModel.ProfileTypeId ;\n this.getOrdersBasedOnProfileType(0,10);\n }\n/////////////////////////////////////////////////////////////////\n getOrderId(orderId,orderStatus,total){\n this.getOrdersByProfileId(null,null,0,10);\n this.salesOrderService.getOrderById(null,null,orderId).subscribe(res=>{\n let keys = Object.keys(res);\n let values = Object.values(res);\n let len = keys.length;\n for (let i = 0; i < len; i++){\n if(values[i].SaleStatus){ \n this.router.navigate(['/order/order-details/'+orderId + '/'+values[i].SaleStatus+'/'+total]);\n }\n }\n });\n }\n/////////////////////////////////////////////////////////////////\n filter(str : any,f:any){\n if(f == 4){\n this.salesStatus = str;\n }else{\n this.tableNumber = str;\n }\n this.getOrdersBasedOnProfileType(0,10);\n }\n/////////////////////////////////////////////////////////////////\n previouspagination(){\n this.disableNext = false;\n if(this.currentPage !=1 ){\n var pageNumber = this.currentPage - 1;\n if(pageNumber !=1){\n this.disablePrevious=false;\n }else{\n this.disablePrevious= true;\n }\n this.start = ((pageNumber -1) * 10 ) + 1;\n this.end = pageNumber * 10;\n this.getOrdersBasedOnProfileType(this.start,this.end);\n this.currentPage = this.currentPage - 1;\n }\n }\n/////////////////////////////////////////////////////////////////\n nextpagination(){\n this.disablePrevious=false;\n if(this.currentPage != this.totalPage ){\n var pageNumber = this.currentPage + 1;\n if(pageNumber !=this.totalPage){\n this.disableNext = false;\n }else{\n this.disableNext = true;\n }\n this.start = ((pageNumber -1) * 10 ) + 1;\n this.end = pageNumber * 10;\n this.getOrdersBasedOnProfileType(this.start,this.end);\n this.currentPage = this.currentPage + 1;\n }\n }\n/////////////////////////////////////////////////////////////////\n paginationChange(pageNumber){\n debugger;\n this.currentPage = pageNumber;\n if(pageNumber ==1){\n this.disablePrevious=true;\n this.disableNext =false;\n }else if(pageNumber == this.totalPage){\n this.disablePrevious=false;\n this.disableNext =true;\n }else{\n this.disablePrevious= false;\n this.disableNext =false;\n }\n this.start = ((pageNumber -1) * 10 ) + 1;\n this.end = pageNumber * 10;\n this.getOrdersBasedOnProfileType(this.start,this.end);\n }\n /////////////////////////////////////////////////////////////////\n getAllOrders(salesStatus,tableNumber,profileType,end,start){\n this.salesOrderService.getAllOrders(salesStatus,tableNumber,profileType,end,start).subscribe(response => {\n this.getMyOrders = response;\n this.totalPage = Math.ceil(this.getMyOrders.length/10);\n this.pagination = Math.ceil(this.getMyOrders.length/10);\n this.pagination = Array(this.pagination).fill(this.pagination).map((x,i)=>i);\n });\n }\n/////////////////////////////////////////////////////////////////\n// Get Order By Profile Id 🙂\n getOrdersByProfileId(salesStatus,tableNumber,end,start){\n //this.loading = true;\n this.salesOrderService.getOrderByProfileId(salesStatus,tableNumber,end,start).subscribe(response => {\n this.getMyOrders = response;\n this.totalPage = Math.ceil(this.getMyOrders.length/10);\n this.pagination = Math.ceil(this.getMyOrders.length/10);\n console.log(this.getMyOrders);\n this.pagination = Array(this.pagination).fill(this.pagination).map((x,i)=>i);\n // this.loading = false;\n });\n }\n/////////////////////////////////////////////////////////////////\n//Update Order status By Order Id 😕\n orderStatusUpdate(orderStatus,orderId){\n this.salesOrderService.getOrderById(null,null,orderId).subscribe(res=>{\n let keys = Object.keys(res);\n let values = Object.values(res);\n let len = keys.length;\n for (let i = 0; i < len; i++){\n if(values[i].SaleStatus != 2){ \n this.salesOrderService.updateOrderStatus(orderId,orderStatus).subscribe(response => {\n this.getOrdersBasedOnProfileType(0,10);\n if(orderStatus == 9){\n this.addInvoice(orderId);\n }\n });\n }else{\n this.getOrdersBasedOnProfileType(0,10);\n }\n }\n });\n }\n/////////////////////////////////////////////////////////////////\n private addInvoice(salesOrderId: number) { \n this.salesOrderService.createSalesOrderAndInvoice(salesOrderId).subscribe(res => {\n })\n}\n/////////////////////////////////////////////////////////////////\n// Open Dialog To Confirm Or Rollback Order Cancel 😀\n CancelOrder(orderId,orderStatus){\n this.dialogMessage = \"Do You Want Cancel Order?\";\n this.actionMethod = \"Cancel\";\n this.openDialog(orderId,orderStatus);\n }\n/////////////////////////////////////////////////////////////////\n //Open Dialog 😐\n openDialog(orderId,orderStatus): void {\n const dialogRef = this.dialog.open(ProductModalComponent ,{\n width: '350px',\n height:' 165px',\n data:{message:this.dialogMessage,actionMethod:this.actionMethod,orderId:orderId,orderStatus:orderStatus}\n });\n dialogRef.afterClosed().subscribe(result => {\n this.getOrdersByProfileId(null,null,0,10);\n });\n }\n/////////////////////////////////////////////////////////////////\ngetOrdersBasedOnProfileType(start,end){\n if( this.profileType == 46){//chef\n this.getAllOrders(this.salesStatus,null,this.profileType,start,end);\n }else if( this.profileType == 29){//casher\n this.getAllOrders(this.salesStatus,null,null,start,end);\n }else{\n this.getOrdersByProfileId(this.salesStatus,null,start,end);\n }\n}\n/////////////////////////////////////////////////////////////////\n}","\n
\n
\n
\n \n
\n
\n
\n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n code
\n \n
\n CreationTime
\n \n
\n Net Price
\n \n
\n Profile Name
\n \n
\n SaleStatus
\n \n
...
{{order.Id}} {{order.CreationTime}} {{order.Total}} {{order.ProfileName}} \n \n \n \n \n
\n \n
\n \n
","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { Item } from '../../models/Products.model';\r\nimport { ProductService } from '../../services/products.service';\r\nimport { MVCHTMLService } from 'src/app/shared/services/mvc-html.service';\r\nimport { Router } from '@angular/router';\r\nimport { CartService } from '../../../../modules/cart/services/cart.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ProductModalComponent } from '../product-modal/product-modal.component';\r\nimport { HttpHelperService } from '../../../../shared/services/http-helper.service';\r\nimport { ItemTypeAttribute } from '../../models/ItemTypeAttribute.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AuthService } from 'src/app/modules/authentication/services/auth.service';\r\nimport { Globals } from 'src/app/shared/global/globals';\r\n\r\n@Component({\r\n selector: 'app-product-card',\r\n templateUrl: './product-card.component.html',\r\n styleUrls: ['./product-card.component.scss']\r\n})\r\nexport class ProductCardComponent implements OnInit {\r\n @Input() item: Item;\r\n @Output() selectedProduct: EventEmitter = new EventEmitter();\r\n itemTypeAttribute:ItemTypeAttribute;\r\n public itemCount:number;\r\n public currentLang;\r\n public txtDir ='ltr';\r\n public translation;\r\n/////////////////////////////////////////////////////////////////\r\n constructor(public globalVariable:Globals,private mVCHTMLService: MVCHTMLService,public translate: TranslateService,public authService: AuthService,\r\n private router: Router,\r\n private cartService: CartService,\r\n public httpHelperService:HttpHelperService,private productService: ProductService,\r\n public dialog: MatDialog) {\r\n translate.addLangs(['Arabic', 'English']);\r\n let lang = this.authService.getSelectedLang();\r\n this.translation = this.globalVariable.englishTranslation;\r\n if(lang != null){\r\n this.currentLang = lang;\r\n if(lang == 'Arabic'){\r\n this.txtDir='rtl';\r\n this.translation = this.globalVariable.arabicTranslation;\r\n }else{\r\n this.txtDir='ltr';\r\n this.translation = this.globalVariable.englishTranslation;\r\n }\r\n }else{\r\n this.currentLang = 'English';\r\n this.translation = this.globalVariable.englishTranslation;\r\n this.txtDir='ltr';\r\n }\r\n translate.setDefaultLang(this.currentLang);\r\n }\r\n///////////////////////////////////////////////////////////////// \r\n ngOnInit(): void {\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public addToCart(product: Item) {\r\n this.cartService.addToCart(product);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getView() {\r\n this.mVCHTMLService.getView().subscribe(res => {\r\n document.getElementById('view').innerHTML = res;\r\n });\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public selectProduct(product: Item) {\r\n // let url = this.router.url;\r\n // if (url.includes(\"product-details\")) {\r\n // this.selectedProduct.emit(product);//To Display Item from related products\r\n // window.scroll(0, 0);//Scroll to top\r\n // }\r\n // else {\r\n this.router.navigate(['/products/product-details/' + product.Id]);\r\n // }\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n openDialog(product: Item): void {\r\n this.productService.GetRequiredItemTypeAttribute(product.ItemTypeId).subscribe(res => {\r\n this.itemCount = res;\r\n if(this.itemCount !=null){\r\n const dialogRef = this.dialog.open(ProductModalComponent, {\r\n width: '300px',\r\n height: '400px',\r\n data: { productId: product.Id }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n });\r\n }else{\r\n product.generatedId = Math.ceil( Math.random() * 100);\r\n this.cartService.addToCart(product);\r\n }\r\n });\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.ItemName}}

\r\n

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

\r\n

{{item.ItemPrice}} EGP

\r\n {{translation['Add To Card']}} \r\n
\r\n
\r\n\r\n","import { Component, Inject, OnInit, ɵConsole } from '@angular/core';\r\nimport { Item } from '../../models/products.model';\r\nimport { ProductService } from '../../services/products.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CartService } from 'src/app/modules/cart/services/cart.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DocumentAttributeType } from '../../../../shared/enums/document-attribute-type';\r\nimport { SalesOrderService } from 'src/app/modules/cart/services/sales-order.service';\r\nimport { UserProfileModel } from 'src/app/modules/authentication/models/user-profile.model';\r\nimport { AuthService } from 'src/app/modules/authentication/services/auth.service';\r\nimport {Location} from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-product-modal',\r\n templateUrl: './product-modal.component.html',\r\n styleUrls: ['./product-modal.component.scss']\r\n})\r\n\r\nexport class ProductModalComponent implements OnInit {\r\n public orderDetailsAttributeValue ;\r\n public product: Item;\r\n public Message;\r\n public orderDetails ;\r\n public orderId;\r\n public price;\r\n public orderDetailsId ;\r\n public orderStatus;\r\n public salesOrder : any = [];\r\n public loading = false;\r\n public getMyOrders:any;\r\n public userProfileModel: UserProfileModel;\r\n public attributes: any = {};\r\n public documentAttributeType = DocumentAttributeType;\r\n/////////////////////////////////////////////////////////////////\r\n constructor(private _location: Location,private router: Router,private salesOrderService:SalesOrderService,private productService: ProductService,private authService:AuthService,\r\n private route: ActivatedRoute,\r\n private cartService: CartService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n/////////////////////////////////////////////////////////////////\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n ngOnInit(): void {\r\n this.userProfileModel = this.authService.getUserProfileFromLocalStorage();\r\n if(this.data){\r\n this.Message = this.data.message;\r\n this.orderDetailsId = this.data.orderDetailsId;\r\n this.orderId = this.data.orderId;\r\n this.price = this.data.price;\r\n if(this.data.productId){\r\n this.getProductById(this.data.productId);\r\n } \r\n }\r\n this.route.paramMap.subscribe(params => { \r\n this.getOrdersByProfileId(null,null,this.userProfileModel.ProfileTypeId);\r\n }); \r\n }\r\n/////////////////////////////////////////////////////////////////\r\n private getProductById(id: number) {\r\n this.productService.getById(id).subscribe(res => {\r\n this.product = res;\r\n this.getItemTypeById(this.product.ItemTypeId);\r\n });\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n private getItemTypeById(itemTypeId: number) {\r\n itemTypeId = this.product.ItemTypeId;\r\n this.productService.getItemTypeById(itemTypeId).subscribe(res => {\r\n this.product.ItemAttributeList = res.ItemType.ItemTypeAttributeList;\r\n });\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public onSelectProduct(event: Item) {\r\n this.product = event;\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public addToCart(product: Item) {\r\n this.product.ItemAttributeValue = this.attributes;\r\n this.product.generatedId = Math.ceil( Math.random() * 100);\r\n this.cartService.addToCart(product);\r\n this.close();\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getOrdersByProfileId(salesStatus,tableNumber,profileType){\r\n this.loading = true;\r\n if(this.userProfileModel.ProfileTypeId == 10){\r\n this.salesOrderService.getOrderByProfileId(salesStatus,tableNumber,0,10).subscribe(response => {\r\n this.getMyOrders = response;\r\n this.loading = false;\r\n });\r\n }else{\r\n this.salesOrderService.getAllOrders(salesStatus,tableNumber,profileType,0,10).subscribe(res=>{\r\n this.getMyOrders = res;\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n CancelOrder(orderId,orderStatus,salesStatus,tableNumber,profileType){\r\n debugger;\r\n this.salesOrderService.getOrderById(salesStatus,tableNumber,orderId).subscribe(res=>{\r\n let keys = Object.keys(res);\r\n let values = Object.values(res);\r\n let len = keys.length;\r\n for (let i = 0; i < len; i++){\r\n if(values[i].SaleStatus < 5 ){ //still not recieved by casher ...\r\n this.salesOrderService.updateOrderStatus(orderId,orderStatus).subscribe(response => {\r\n this.getOrdersByProfileId(null,null,profileType);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n DeleteOrderDetails(){\r\n this.salesOrderService.getOrderDetails(this.orderId).subscribe(response => {\r\n this.orderDetails = response;\r\n this.salesOrderService.deleteOderDetails(this.orderId,this.orderDetailsId,this.price).subscribe(response => {\r\n if(this.orderDetails.length <= 1){\r\n this.salesOrderService.deleteOderByOrderId(this.orderId).subscribe(response => {});\r\n this._location.back();\r\n }else{\r\n this.router.navigate(['/order/order-details/'+this.orderId + '/'+this.data.orderStatus+'/'+this.price]);\r\n this.ngOnInit();\r\n }\r\n });\r\n });\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n confirmAction(){\r\n debugger;\r\n if(this.data){\r\n if(this.data.actionMethod == \"Cancel\"){\r\n this.CancelOrder(this.data.orderId,this.data.orderStatus,null,null,this.userProfileModel.ProfileTypeId);\r\n this.close();\r\n }\r\n if(this.data.actionMethod == \"Delete\"){\r\n this.DeleteOrderDetails();\r\n this.close();\r\n }\r\n }\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n cancelAction(){\r\n this.close();\r\n }\r\n///////////////////////////////////////////////////////////////// \r\n}","
\r\n

{{product.ItemName}}

\r\n
\r\n\r\n
\r\n \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.ItemTypeAttributeName}}\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n {{item.ItemTypeAttributeName}}\r\n \r\n \r\n {{itemType.ItemTypeAttributeItemName}}\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 To Card \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

{{Message}}

\r\n
\r\n
\r\n Ok\r\n \r\n
\r\n\r\n
\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output, ɵConsole } from '@angular/core';\r\nimport { Item } from '../../models/products.model';\r\nimport { ProductService } from '../../services/products.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CategoryService } from '../../services/category.service';\r\nimport { CategoryFilter } from '../../models/category-filter.model';\r\nimport { AuthService } from 'src/app/modules/authentication/services/auth.service';\r\nimport { Globals } from 'src/app/shared/global/globals';\r\n\r\n@Component({\r\n selector: 'app-related-product',\r\n templateUrl: './related-product.component.html',\r\n styleUrls: ['./related-product.component.scss']\r\n})\r\nexport class RelatedProductComponent implements OnInit {\r\n public currentLang;\r\n public txtDir ='ltr';\r\n public translation;\r\n public relatedProducts: Item[];\r\n @Input() categoryId: number;\r\n categoryFilter: CategoryFilter = new CategoryFilter();\r\n totalCount: number;\r\n @Output() selectedProduct: EventEmitter = new EventEmitter();\r\n/////////////////////////////////////////////////////////////////\r\n constructor(public globalVariable:Globals,private authService: AuthService, private categoryService: CategoryService) { }\r\n/////////////////////////////////////////////////////////////////\r\n ngOnInit(): void {\r\n this.categoryFilter.CategorId = this.categoryId;\r\n this.categoryFilter.Start = 0;\r\n this.categoryFilter.End = 3;\r\n this.getItems();\r\n let lang = this.authService.getSelectedLang();\r\n this.translation = this.globalVariable.englishTranslation;\r\n if(lang != null){\r\n this.currentLang = lang;\r\n if(lang == 'Arabic'){\r\n this.txtDir='rtl';\r\n this.translation = this.globalVariable.arabicTranslation;\r\n }else{\r\n this.txtDir='ltr';\r\n this.translation = this.globalVariable.englishTranslation;\r\n }\r\n }else{\r\n this.currentLang = 'English';\r\n this.translation = this.globalVariable.englishTranslation;\r\n this.txtDir='ltr';\r\n }\r\n this\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getItems(): void {\r\n this.categoryService.getAllItemsByCategoryId(this.categoryFilter).subscribe(res => {\r\n this.relatedProducts = res.ItemList;\r\n this.totalCount = res.TotalCount;\r\n });\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n onScroll() {\r\n if (this.categoryFilter.End < this.totalCount) {\r\n this.categoryFilter.Start = 1;\r\n this.categoryFilter.End = this.categoryFilter.End + this.categoryFilter.PageSize;\r\n this.getItems();\r\n }\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n public selectProduct(product: Item) {\r\n this.selectedProduct.emit(product);\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\t \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { PageSettings } from '../../../shared/models/category-filter.model';\r\n\r\nexport class CategoryFilter extends PageSettings {\r\n CategorId: number;\r\n}\r\n\r\n\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, from } from 'rxjs';\r\nimport { catchError } from 'rxjs/internal/operators/catchError';\r\nimport { Category } from '../models/category.model';\r\nimport { BaseService } from '../../../shared/services/base.service';\r\nimport { CategoryFilter } from '../models/category-filter.model';\r\n\r\n@Injectable()\r\nexport class CategoryService extends BaseService {\r\n\r\n \r\n controllerName: string = \"ApiECommerceInventory\";\r\n urlGetAll = \"getallcategories\"\r\n urlGetAllItemsByCategoryId = \"getallitemsbycategoryid\";\r\n urlGetAllItems = \"GetAllItems\";\r\n urlGetMinMaxPrice = \"GetMinMaxPrice\";\r\n urlGetAllItemsByMaxPriceAndLatestDate= \"GetAllItemsByMaxPriceAndLatestDate\";\r\n filter= \"Filter\";\r\n ////////////////////////////////////////////////////////////////////////////////////\r\n public header = new HttpHeaders().set(\r\n \"access-token\",this.token\r\n );\r\n/////////////////////////////////////////////////////////////////\r\n getAllItemsByCategoryId(categoryFilter: CategoryFilter): any {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/${this.urlGetAllItemsByCategoryId}?categoryid=${categoryFilter.CategorId}&start=${categoryFilter.Start}&end=${categoryFilter.End}&searchvalue=&orderby=&dir=`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getAllItems(categoryFilter: CategoryFilter): any {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/${this.urlGetAllItems}?start=${categoryFilter.Start}&end=${categoryFilter.End}&searchvalue=${categoryFilter.SearchValue}&orderby=&dir=`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\ngetMinMaxPrice(searchValue : string,categoryId :number): any {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/${this.urlGetMinMaxPrice}?searchValue=${searchValue}&categoryId=${categoryId}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getAllItemsByMaxPriceAndLatestDate(categoryFilter: CategoryFilter,maxPrice:number,latestDate:Date): any {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/${this.urlGetAllItemsByMaxPriceAndLatestDate}?start=${categoryFilter.Start}&end=${categoryFilter.End}&searchvalue=${categoryFilter.SearchValue}&orderby=&dir=&maxPrice=${maxPrice}&latestDate=${latestDate}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\nFilter(categoryFilter: CategoryFilter,startPrice:number,endPrice:number,availability:boolean):any{\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/${this.filter}?start=${categoryFilter.Start}&end=${categoryFilter.End}&nameSearchValue=${categoryFilter.SearchValue}&orderby=${categoryFilter.Orderby}&dir=${categoryFilter.Dir}&categoryId=${categoryFilter.CategorId}&startPrice=${startPrice}&endPrice=${endPrice}&availability=${availability}`,{headers:this.header});\r\n}\r\n\r\n}","import { HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseService } from '../../../shared/services/base.service';\r\nimport { Evaluation } from '../models/evaluation.model';\r\n\r\n@Injectable()\r\nexport class ProductService extends BaseService {\r\n controllerName = \"ApiECommerceInventory\";\r\n urlGetById = \"GetItemById\";\r\n urlAddEvaluation = \"AddEvaluation\";\r\n urlUpdateEvaluation = \"UpdateEvaluation\";\r\n urlGetAllItemTypes = \"GetAllItemTypes\";\r\n urlGetitemtypebyid = \"GetItemTypeById\";\r\n urlGetRequiredItemTypeAttribute = \"GetRequiredItemTypeAttribute\";\r\n/////////////////////////////////////////////////////////////////\r\npublic header = new HttpHeaders().set(\r\n \"access-token\",\r\n localStorage.getItem(\"jwt\")\r\n);\r\n/////////////////////////////////////////////////////////////////\r\n getById(id: number): any {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/${this.urlGetById}?itemId=${id}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getAllItemTypes(): any {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/${this.urlGetAllItemTypes}?Start=-1&End=0&searchValue=&orderby=&dir=`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n getItemTypeById(itemTypeId: number): any {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/${this.urlGetitemtypebyid}?id=${itemTypeId}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\n GetRequiredItemTypeAttribute(itemTypeId: number): any {\r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/${this.urlGetRequiredItemTypeAttribute}?itemTypeId=${itemTypeId}`,{headers:this.header});\r\n }\r\n/////////////////////////////////////////////////////////////////\r\nAddEvaluation(evaluation: Evaluation): any {\r\n return this._http.post(`${this.baseUrl}api/${this.controllerName}/${this.urlAddEvaluation}`,evaluation,{headers:this.header});\r\n}\r\n/////////////////////////////////////////////////////////////////\r\nUpdateEvaluation(evaluation: Evaluation): any {\r\n return this._http.post(`${this.baseUrl}api/${this.controllerName}/${this.urlUpdateEvaluation}`,evaluation,{headers:this.header});\r\n}\r\n\r\n}","import { HostListener, Component, OnInit } from '@angular/core';\nimport {Router,ActivatedRoute} from \"@angular/router\" ;\nimport { CategoryFilter } from '../../products/models/category-filter.model';\nimport { CategoryService } from '../../products/services/category.service';\nimport { Item } from '../../products/models/Products.model';\nimport { NgForm } from '@angular/forms';\nimport { Header } from '../../home/models/header.model';\nimport * as $ from 'jquery';\nimport { AuthService } from '../../authentication/services/auth.service';\nimport { Globals } from 'src/app/shared/global/globals';\n\n@Component({\n selector: 'app-search-result',\n templateUrl: './search-result.component.html',\n styleUrls: ['./search-result.component.scss']\n})\nexport class SearchResultComponent implements OnInit {\npublic searchValue;\npublic endPrice;\npublic sortBy;\npublic filterBy;\npublic siderImages: Header[];\npublic sliderOptions: any;\npublic searchresult;\npublic categoryIdOfRelatedProduct;\nArr = Array;\nscroll:any;\nnumberOfPages:number = 0;\nitemsList: Item[];\nrelatedProduct: Item[];\ntotalCount: number = 0;\nendScroll :number =10;\nendScroll2 :number =20;\nstartScroll :number =0;\ncategoryFilter: CategoryFilter = new CategoryFilter();\npublic loading = false;\ninvert = false;\nmax = null;\nmin = 0;\nstep = 1;\nthumbLabel = false;\nvalue = 0;\nmaxPrice:number;\nlatestDate = null ;\npublic translation;\npublic currentLang;\npublic txtDir ='ltr';\nformatLabel(value: number) {\n if (value >= 1000) {\n return Math.round(value / 1000) + 'k';\n }\n this.value = value;\n return value;\n}\n/////////////////////////////////////////////////////////////////\n constructor(public globalVariables:Globals,private authService: AuthService,private _categoryService: CategoryService,private router: Router,private activatedRoute: ActivatedRoute) { \n this.endScroll = 10;\n this.startScroll = 0;\n let lang = this.authService.getSelectedLang();\n this.translation = this.globalVariables.englishTranslation;\n if(lang != null){\n this.currentLang = lang;\n if(lang == 'Arabic'){\n this.txtDir='rtl';\n this.translation = this.globalVariables.arabicTranslation;\n }else{\n this.txtDir='ltr';\n this.translation = this.globalVariables.englishTranslation;\n }\n }else{\n this.currentLang = 'English';\n this.translation = this.globalVariables.englishTranslation;\n this.txtDir='ltr';\n }\n }\n/////////////////////////////////////////////////////////////////\n ngOnInit(): void {\n this.sortBy = 0;// no sort selected ...\n this.filterBy = false;\n this.endPrice = null;\n this.siderImages = this.getDummyData();\n this.sliderOptions = {\n items: 1,\n rtl: ($('html').css('direction') === 'rtl') ? true : false,\n margin: 10,\n autoplay: true,\n dots: false\n }\n this.activatedRoute.paramMap.subscribe(params => { \n this.searchValue= params.get('searchValue'); \n this.getMinMaxPrice(this.searchValue,null);\n this.siderImages = this.getDummyData();\n this.sliderOptions = {\n items: 1,\n rtl: ($('html').css('direction') === 'rtl') ? true : false,\n margin: 10,\n autoplay: true,\n dots: false\n }\n });\n this.getItemBySearch(this.startScroll,this.endScroll,this.searchValue);\n }\n/////////////////////////////////////////////////////////////////\n sliderOnChange(maxPrice : number,latestDate){\n if(maxPrice == null){\n maxPrice = this.maxPrice;\n }else{\n this.maxPrice = maxPrice;\n }\n if(latestDate == null){\n latestDate = this.latestDate;\n }else{\n this.latestDate = latestDate;\n }\n this.loading = true;\n this.categoryFilter.Start =0;\n this.categoryFilter.End =10;\n this._categoryService.getAllItemsByMaxPriceAndLatestDate(this.categoryFilter,maxPrice,latestDate).subscribe(res => {\n this.loading = false;\n this.itemsList = res.ItemList;\n this.totalCount = res.TotalCount; \n this.numberOfPages = Math.ceil(res.TotalCount/10);\n });\n }\n/////////////////////////////////////////////////////////////////\ngetDummyData(): Header[] {\n return [\n { Id: 3, ImagePath: \"images/2_bf8b8fd06e0ac00186a7bf9f5833447069b9e860d8a8c2c4197b78087f1159f7.png\",title:\"\" }\n ]\n}\n/////////////////////////////////////////////////////////////////\n public getItemBySearch(startScroll,endScroll,searchValue) {\n this.loading = true;\n this.categoryFilter.Start = startScroll;\n this.categoryFilter.End = endScroll;\n this.categoryFilter.SearchValue = searchValue;\n this._categoryService.getAllItems(this.categoryFilter).subscribe(res => {\n this.loading = false;\n this.itemsList = res.ItemList;\n this.totalCount = res.TotalCount; \n this.numberOfPages = Math.ceil(res.TotalCount/10);\n // for(let i of this.itemsList){\n // this.categoryIdOfRelatedProduct = i.CategoryId;\n // }\n this.categoryFilter.Start = 0;\n this.categoryFilter.End = 3;\n // if(this.totalCount ==0){\n // this.categoryFilter.CategorId = null;\n // }else{\n // this.categoryFilter.CategorId = this.categoryIdOfRelatedProduct;\n // }\n // this._categoryService.getAllItemsByCategoryId(this.categoryFilter).subscribe(res=>{\n // this.relatedProduct = res.ItemList;\n // });\n });\n }\n/////////////////////////////////////////////////////////////////\n public getMinMaxPrice(searchValue,categoryId){\n this._categoryService.getMinMaxPrice(searchValue,categoryId).subscribe(res =>{\n this.max= res.MaxPrice;\n });\n }\n\n///////////////////////////////////////////////////////////////// \n @HostListener(\"window:scroll\", [\"$event\"])\n onWindowScroll() {\n var scrollPosition = window.pageYOffset;\n var windowSize = window.innerHeight;\n var bodyHeight = document.body.offsetHeight;\n var ScrollFromBottom = Math.max(bodyHeight - (scrollPosition + windowSize), 0);\n var total = Math.ceil(this.totalCount / 10) * 10;\n if(ScrollFromBottom < 400){\n if(this.endScroll <= total ){\n this.endScroll += 10 ;\n this.getItemBySearch(this.startScroll,this.endScroll,this.searchValue);\n }\n }\n }\n/////////////////////////////////////////////////////////////////\nSortBy(sortBy:any){\n this.sortBy = sortBy;\n if(this.sortBy != 0){\n if(this.sortBy == 1){//Price Low To Hight ...\n this.categoryFilter.Orderby = \"ItemPrice\";\n this.categoryFilter.Dir = \"ASC\";\n }else if(this.sortBy == 2){//Price Hight To Low ...\n this.categoryFilter.Dir = \"DESC\";\n }else if(this.sortBy == 3){//Most Receent...\n this.categoryFilter.Orderby = \"CreationTime\";\n this.categoryFilter.Dir = \"DESC\";\n }else if(this.sortBy == 4){\n this.categoryFilter.Orderby = \"mostordered\";\n }\n this._categoryService.Filter(this.categoryFilter,0,this.endPrice,false).subscribe(res => {\n this.itemsList = res.ItemList;\n }\n );\n }\n \n}\n/////////////////////////////////////////////////////////////////\nFilterBy(filterBy:any){\nif(filterBy == 1){\n this.filterBy = true;\n}else{\n this.filterBy = false;\n}\nthis._categoryService.Filter(this.categoryFilter,0,this.endPrice,this.filterBy).subscribe(res => {\n this.itemsList = res.ItemList;\n }\n);\n}\n/////////////////////////////////////////////////////////////////\nupdateEndPrice(event) {\nthis.endPrice = event.value;\nthis._categoryService.Filter(this.categoryFilter,0,this.endPrice,false).subscribe(res => {\n this.itemsList = res.ItemList;\n }\n);\n}\n/////////////////////////////////////////////////////////////////\n onSubmit(f: NgForm) {\n }\n/////////////////////////////////////////////////////////////////\n}\n","\n
\n
\n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n\n
\n
\n
\n
\n \n \n \n
\n \n
\n
\n
\t \n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n \n \n
\n
\n
\n","import {\r\n Component,\r\n Directive,\r\n NgModule,\r\n Input,\r\n ViewContainerRef,\r\n Compiler,\r\n ComponentFactory,\r\n ModuleWithComponentFactories,\r\n ComponentRef,\r\n ReflectiveInjector, OnInit, OnDestroy\r\n} from '@angular/core';\r\n\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport {Http} from \"@angular/http\";\r\nexport function createComponentFactory(compiler: Compiler, metadata: Component): Promise> {\r\n const cmpClass = class DynamicComponent { };\r\n const decoratedCmp = Component(metadata)(cmpClass);\r\n\r\n @NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n declarations: [\r\n // decoratedCmp\r\n ],\r\n \r\n })\r\n class DynamicHtmlModule { }\r\n\r\n return compiler.compileModuleAndAllComponentsAsync(DynamicHtmlModule)\r\n .then((moduleWithComponentFactory: ModuleWithComponentFactories) => {\r\n return moduleWithComponentFactory.componentFactories.find(x => x.componentType === decoratedCmp);\r\n });\r\n}\r\n\r\n@Directive({ selector: 'mvc-partial' })\r\nexport class MvcPartialDirective implements OnInit, OnDestroy {\r\n html: any = '

';\r\n @Input() url: string;\r\n cmpRef: ComponentRef;\r\n\r\n constructor(private vcRef: ViewContainerRef, private compiler: Compiler, private http: Http) { }\r\n\r\n ngOnInit() {\r\n this.http.get(this.url)\r\n // .map(res => res.text())\r\n .subscribe(\r\n (html) => {\r\n this.html = html;\r\n if (!html) return;\r\n\r\n if (this.cmpRef) {\r\n this.cmpRef.destroy();\r\n }\r\n\r\n const compMetadata = new Component({\r\n selector: 'dynamic-html',\r\n template: this.html,\r\n });\r\n\r\n createComponentFactory(this.compiler, compMetadata)\r\n .then(factory => {\r\n const injector = ReflectiveInjector.fromResolvedProviders([], this.vcRef.parentInjector);\r\n this.cmpRef = this.vcRef.createComponent(factory, 0, injector, []);\r\n });\r\n },\r\n err => console.log(err),\r\n () => console.log('MvcPartial complete')\r\n );\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.cmpRef) {\r\n this.cmpRef.destroy();\r\n }\r\n }\r\n}","\r\nexport enum DocumentAttributeType {\r\n Text = 1,\r\n Number = 2,\r\n Date = 3,\r\n Attachment = 4,\r\n DropDownList = 5,\r\n Textarea = 6,\r\n HTMLTextEditor = 7\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class Globals {\r\n couponValue: number =0;\r\n isPromoCode : boolean = false;\r\n englishTranslation: any = {};\r\n arabicTranslation: any = {};\r\n currentUrl:string = '';\r\n headerTemplateId: any = null;\r\n headerContentTypeId: number = null;\r\n headerContentId: number = null;\r\n headerContetn:string = null;\r\n menuTemplateId : number = null;\r\n menuContentTypeId : number = null;\r\n menuContentId : number = null;\r\n footerTemplateId : number = null;\r\n footerContentTypeId : number = null;\r\n footerContentId : number = null;\r\n test : any = {};\r\n}","export class PageSettings {\r\n Start: number;\r\n End: number = 0;\r\n PageSize: number = 10;\r\n SearchValue: string=\"\";\r\n Orderby: string = \"\";\r\n Dir: string = \"\"\r\n}\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport {A11yModule} from '@angular/cdk/a11y';\r\nimport {DragDropModule} from '@angular/cdk/drag-drop';\r\nimport {PortalModule} from '@angular/cdk/portal';\r\nimport {ScrollingModule} from '@angular/cdk/scrolling';\r\nimport {CdkStepperModule} from '@angular/cdk/stepper';\r\nimport {CdkTableModule} from '@angular/cdk/table';\r\nimport {CdkTreeModule} from '@angular/cdk/tree';\r\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\r\nimport {MatBadgeModule} from '@angular/material/badge';\r\nimport {MatBottomSheetModule} from '@angular/material/bottom-sheet';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\r\nimport {MatCardModule} from '@angular/material/card';\r\nimport {MatCheckboxModule} from '@angular/material/checkbox';\r\nimport {MatChipsModule} from '@angular/material/chips';\r\nimport {MatStepperModule} from '@angular/material/stepper';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatDialogModule} from '@angular/material/dialog';\r\nimport {MatDividerModule} from '@angular/material/divider';\r\nimport {MatExpansionModule} from '@angular/material/expansion';\r\nimport {MatGridListModule} from '@angular/material/grid-list';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MatInputModule} from '@angular/material/input';\r\nimport {MatListModule} from '@angular/material/list';\r\nimport {MatMenuModule} from '@angular/material/menu';\r\nimport {MatNativeDateModule, MatRippleModule} from '@angular/material/core';\r\nimport {MatPaginatorModule} from '@angular/material/paginator';\r\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\r\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\r\nimport {MatRadioModule} from '@angular/material/radio';\r\nimport {MatSelectModule} from '@angular/material/select';\r\nimport {MatSidenavModule} from '@angular/material/sidenav';\r\nimport {MatSliderModule} from '@angular/material/slider';\r\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\r\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\r\nimport {MatSortModule} from '@angular/material/sort';\r\nimport {MatTableModule} from '@angular/material/table';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport {MatToolbarModule} from '@angular/material/toolbar';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport {MatTreeModule} from '@angular/material/tree';\r\nimport { MatFormFieldModule} from '@angular/material/form-field';\r\n\r\n\r\nconst material = [\r\n A11yModule,\r\n DragDropModule,\r\n PortalModule,\r\n ScrollingModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatRippleModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n MatFormFieldModule]\r\n\r\n@NgModule({\r\n imports: [material],\r\n exports: [material]\r\n})\r\nexport class MaterialModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable()\r\nexport class AlertService {\r\n\r\n constructor(private toastr: ToastrService) { }\r\n\r\n showSuccess(message: string, title: string) {\r\n this.toastr.success(message, title);\r\n }\r\n\r\n showError(message: string, title: string) {\r\n this.toastr.error(message, title);\r\n }\r\n\r\n showInfo(message: string, title: string) {\r\n this.toastr.info(message, title);\r\n }\r\n\r\n showWarnning(message: string, title: string) {\r\n this.toastr.warning(message, title);\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from '../../../environments/environment';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, from } from 'rxjs';\r\nimport { catchError } from 'rxjs/internal/operators/catchError';\r\n\r\n@Injectable(\r\n { providedIn: 'root' }\r\n)\r\nexport class BaseService {\r\n baseUrl: string = \"\";\r\n urlGetAll = \"GetAll\";\r\n urlGetById = \"GetById\";\r\n urlGetFirst = \"GetFirst\";\r\n urlSave = \"Save\";\r\n urlDelete = \"Delete\";\r\n urlGetAllLite = \"GetAllLite\";\r\n controllerName: string = \"\";\r\n public token;\r\n public header;\r\n/////////////////////////////////////////////////////////////////\r\n constructor(public _http: HttpClient,) {\r\n this.baseUrl = environment.apiUrl;\r\n if(localStorage.getItem(\"jwt\")){\r\n this.token = localStorage.getItem(\"jwt\");\r\n }\r\n this.header = new HttpHeaders().set(\r\n \"access-token\",\r\n this.token\r\n );\r\n }\r\n\r\n/////////////////////////////////////////////////////////////////\r\n getAll(dataSourceModel?,): any {\r\n if (dataSourceModel)\r\n return this._http.post(this.baseUrl + 'api/' + this.controllerName + '/' + this.urlGetAll, dataSourceModel,{headers:this.header});\r\n else\r\n return this._http.get(this.baseUrl + 'api/' + this.controllerName + '/' + this.urlGetAll + '?Start=0&End=32&orderby=&dir=',{headers:this.header});\r\n }\r\n\r\n getFirst(): any {\r\n return this._http.get(this.baseUrl + 'api/' + this.controllerName + '/' + this.urlGetFirst,{headers:this.header});\r\n }\r\n\r\n getAllLite(): any {\r\n return this._http.get(this.baseUrl + 'api/' + this.controllerName + '/' + this.urlGetAllLite,{headers:this.header});\r\n }\r\n\r\n getById(id: number): any {\r\n return this._http.get(this.baseUrl + \"api/\" + this.controllerName + '/' + this.urlGetById + '/' + id,{headers:this.header});\r\n }\r\n\r\n save(entity) {\r\n return this._http.post(`${this.baseUrl}api/${this.controllerName}/${this.urlSave}/`, entity);\r\n }\r\n\r\n delete(id) {\r\n return this._http.delete(this.baseUrl + \"api/\" + this.controllerName + \"/\" + this.urlDelete + \"/\" + id,{headers:this.header});\r\n }\r\n\r\n deleteFarm(id) {\r\n this._http.delete(this.baseUrl + \"api/\" + this.controllerName + \"/\" + this.urlDelete + \"/\" + id)\r\n .subscribe((response: Response) => {\r\n return response;\r\n })\r\n , catchError(this.errorHandler);\r\n }\r\n\r\n errorHandler(error: Response) {\r\n return Observable.throw(error);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../environments/environment';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class HttpHelperService {\r\n baseUrl: string = \"\";\r\n imageUrl: string;\r\n constructor(public _http: HttpClient) {\r\n this.baseUrl = environment.apiUrl;\r\n this.imageUrl = environment.imageUrl;\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { environment } from '../../../environments/environment';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\n@Injectable(\r\n)\r\nexport class MVCHTMLService {\r\n baseUrl: string = \"\";\r\n\r\n constructor(public _http: HttpClient) {\r\n this.baseUrl = environment.apiUrl;\r\n }\r\n\r\n getView(): any {\r\n return this._http.get(`${this.baseUrl}Stuffs/MvcStuff2`, { responseType: 'text' });\r\n }\r\n \r\n}","import { BaseService } from './base.service';\r\n \r\n\r\nexport class TranslatorService extends BaseService {\r\n controllerName = \"ApiTranslatorGenerator\";\r\n urlGetList = \"GenerateTranslationFiles\";\r\n generateTranslation(): any { \r\n return this._http.get(`${this.baseUrl}api/${this.controllerName}/${this.urlGetList}`);\r\n }\r\n \r\n}","import { NgModule } from '@angular/core';\r\nimport { NavbarCartComponent } from '../modules/cart/components/navbar-cart/navbar-cart.component';\r\nimport { MaterialModule } from './modules/material/material.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RelatedProductComponent } from '../modules/products/components/related-product/related-product.component';\r\nimport { ProductCardComponent } from '../modules/products/components/product-card/product-card.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MvcPartialDirective } from './directives/mvc-partial.directive';\r\nimport { MVCHTMLService } from './services/mvc-html.service';\r\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\nimport { TranslatorService } from './services/translator.service';\r\n\r\nimport { HttpHelperService } from './services/http-helper.service';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { AlertService } from './services/alert.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n NavbarCartComponent,\r\n RelatedProductComponent,\r\n ProductCardComponent,\r\n MvcPartialDirective,\r\n \r\n ],\r\n\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n RouterModule,\r\n HttpClientModule,\r\n FormsModule,\r\n InfiniteScrollModule,\r\n ToastrModule.forRoot(), // ToastrModule added\r\n \r\n\r\n\r\n ],\r\n\r\n exports: [\r\n MaterialModule,\r\n CommonModule,\r\n NavbarCartComponent,\r\n RelatedProductComponent,\r\n ProductCardComponent,\r\n RouterModule,\r\n HttpClientModule,\r\n FormsModule,\r\n MvcPartialDirective,\r\n InfiniteScrollModule,\r\n TranslateModule,\r\n ToastrModule\r\n ],\r\n\r\n providers: [\r\n MVCHTMLService,\r\n TranslatorService,\r\n HttpHelperService,\r\n AlertService\r\n ]\r\n\r\n})\r\nexport class SharedModule { }\r\n\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 firebase: {\r\n apiKey: \"AIzaSyBQ-NtNXv3MTglWU9YYBwSDs9W9NJ7YXY0\",\r\n authDomain: \"asp-mvc-19036.firebaseapp.com\",\r\n projectId: \"asp-mvc-19036\",\r\n storageBucket: \"asp-mvc-19036.appspot.com\",\r\n messagingSenderId: \"212018074716\",\r\n appId: \"1:212018074716:web:f0253f4157b7674e0e8299\",\r\n measurementId: \"G-6EBT9QPRGG\",\r\n },\r\n // appUrl :\"http://192.168.1.58:4200/\",\r\n apiUrl : window['_api_domain'] + \"/\" ,\r\n // apiUrl:\"http://ecommercedev.boniantech.com/khayraat/\", \r\n // apiUrl: \"http://localhost:65121/\"\r\n // apiUrl: \"https://localhost/boniantech.ECommerce.presentation/\",\r\n //apiUrl: \"https://ecommerce.boniantech.com/\",\r\n imageUrl:\"http://erp.boniantech.com/\" + window['saasName'] + \"/Api/ApiAttachment/DownloadFile\",\r\n //imageUrl:\"http://erpdev.boniantech.com/tamara-agri/Api/ApiAttachment/DownloadFile\",\r\n //apiUrl: \"http://localhost/boniantech.ECommerce.presentation/\"\r\n //apiUrl: \"https://test.boniantech.com/erp/\"\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/dist/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\ndocument.addEventListener('DOMContentLoaded', () => {\n platformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\n });\r\n"]}