{"version":3,"sources":["webpack:///src/app/components/navigation-bar/navigation-bar.component.ts","webpack:///src/app/components/navigation-bar/navigation-bar.component.html","webpack:///src/app/components/header/header.component.ts","webpack:///src/app/components/header/header.component.html","webpack:///src/app/components/child-elements/provider-field/provider-field.component.ts","webpack:///src/app/components/child-elements/provider-field/provider-field.component.html","webpack:///src/app/components/history/history.component.html","webpack:///src/app/components/history/history.component.ts","webpack:///src/app/components/redirect/redirect.component.ts","webpack:///src/app/components/redirect/redirect.component.html","webpack:///src/app/components/provider/providers-home/providers-home.component.ts","webpack:///src/app/components/provider/providers-home/providers-home.component.html","webpack:///src/app/components/basket/basket.component.ts","webpack:///src/app/components/basket/basket.component.html","webpack:///src/environments/environment.ts","webpack:///src/app/models/provider-info.ts","webpack:///src/app/components/not-found/not-found.component.ts","webpack:///src/app/components/not-found/not-found.component.html","webpack:///src/app/util/common.ts","webpack:///src/app/components/provider/provider/provider.component.html","webpack:///src/app/components/provider/provider/provider.component.ts","webpack:///src/app/models/provider-item-inputs.ts","webpack:///src/app/components/popup/popup.component.ts","webpack:///src/app/components/popup/popup.component.html","webpack:///src/app/components/footer/footer.component.ts","webpack:///src/app/components/footer/footer.component.html","webpack:///src/app/components/child-elements/provider-info/provider-info.component.ts","webpack:///src/app/components/child-elements/provider-info/provider-info.component.html","webpack:///src/app/models/provider-input.ts","webpack:///src/app/util/lang.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/models/check-provider-data.ts","webpack:///src/app/util/constants.ts","webpack:///src/app/components/check-provider/check-provider.component.html","webpack:///src/app/components/check-provider/check-provider.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/models/provider-validation.ts","webpack:///src/app/components/provider/providers/providers.component.ts","webpack:///src/app/components/provider/providers/providers.component.html","webpack:///src/app/components/child-elements/modal/modal.component.ts","webpack:///src/app/components/child-elements/modal/modal.component.html","webpack:///src/app/components/child-elements/loading/loading.component.ts","webpack:///src/app/components/child-elements/loading/loading.component.html","webpack:///src/app/components/choose-abonent/choose-abonent.component.ts","webpack:///src/app/components/choose-abonent/choose-abonent.component.html","webpack:///src/app/models/cart-order.ts","webpack:///src/app/components/bread-crumbs/bread-crumbs.component.ts","webpack:///src/app/components/bread-crumbs/bread-crumbs.component.html","webpack:///src/app/components/child-elements/provider-item/provider-item.component.ts","webpack:///src/app/components/child-elements/provider-item/provider-item.component.html","webpack:///src/app/util/tools.ts","webpack:///src/app/services/payment.service.ts","webpack:///src/app/services/providers.service.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/app/models/cart-item.ts","webpack:///src/main.ts","webpack:///src/app/util/user.ts","webpack:///src/app/components/receipt/receipt.component.ts","webpack:///src/app/components/receipt/receipt.component.html","webpack:///$_lazy_route_resource lazy namespace object"],"names":["NavigationBarComponent","search","basket","history","selector","templateUrl","styleUrls","HeaderComponent","translate","lang","getCurrentLang","getRoute","Languages","display","code","use","setCurrentLang","ProviderFieldComponent","providerInput","form","onDropdownChange","HistoryComponent","paymentService","router","titleService","showModal","showLoading","getStatus","currentLang","emptyIcon","count","getOrdersWithItemsByDeviceUUID","getTranslations","get","subscribe","data","setTitle","TitleHistory","newTitle","url","window","open","guid","navigate","modalHistoryItem","location","reload","response","historyItems","RedirectComponent","providersService","activatedRoute","params","id","setValuesFromQueryParams","queryParams","items","amount","Object","entries","key","value","providerId","charAt","push","substring","length","checkProviderItemInputs","Status","ProvidersHomeComponent","providerService","getProviders","Providers","BasketComponent","environment","production","ProviderInfo","providerInfo","Name","BannerPath","InfoMessage","InfoMessageFields","JSON","parse","toString","infoMessageFields","TEXT","URL","URLText","NotFoundComponent","actionUrl","getHeaders","standardCase","headers","handleError","operation","result","error","log","message","console","ProviderComponent","errors","showPopup","group","getProviderInputs","then","getProviderInfo","messages","event","providerInputs","i","Keyboard","Id","Format","DefaultValue","forEach","setCurrency","toFormGroup","Value","popupMessages","item","popupMessage","wrongdata","back","formData","getRawValue","providerData","getDefaultLang","valid","showErrors","status","map","input","ForRequest","ProviderInputId","handleResult","ProviderItemInputs","PopupComponent","closed","target","className","show","isClosedToParent","emit","onBackgroundClickClose","onClose","onKeydownHandler","FooterComponent","year","Date","getFullYear","ProviderInfoComponent","ProviderInput","MaxLength","MinLength","PageOrder","Placeholder","Required","IsHidden","Dropdown","dropdown","name","Language","localStorage","getItem","updatePage","setItem","path","pathname","AppComponent","title","getLangFromUrl","setDefaultLang","pathName","substr","CheckProviderData","providerDetails","providerItemInputs","EMAIL_REGEXP","STRING_IS_INTEGER","CheckProviderComponent","buttonDisabled","includes","splitArray","split","amountFromRedirect","route","init","currency","getCurrency","getCommissions","commissions","setCommission","providerName","Debt","MinAmount","MaxAmount","RangeByCurrency","min","max","debt","filter","el","Currency","AmountStart","AmountEnd","Math","ceil","paymentProviderInputs","providerInputId","toFixed","getProviderDetails","itemResponse","validate","paymentProviderGUID","setValues","fromUrlCase","setAmount","err","commissionAmount","commission","Fixed","Percentage","PercentageMaxAmount","PercentageMinAmount","sessionData","getSessionData","curr","addCartItem","parseFloat","cartItemResponse","alert","cartItems","addCartOrderSync","cartOrderResponse","formUrl","FormUrl","HttpLoaderFactory","http","AppModule","forRoot","loader","provide","useFactory","deps","declarations","imports","providers","bootstrap","ProviderValidation","ProvidersComponent","metaService","ProviderDetails","homePageTitle","ogTitle","setMetaTags","providersName","addTag","content","ModalComponent","LoadingComponent","ChooseAbonentComponent","user","records","MultipleData","record","abonent","Items","Data","j","rowData","chooseAbonent","providerDetail","onSubmit","CartOrder","CardName","CartItems","Description","PaymentReceiveMethodId","CartItemGUID","BreadCrumbsComponent","deliminator","splitedPathname","breadcrumbs","pathId","currentPath","receipt","pay","getProviderTree","Array","index","label","createUrl","Map","values","navigationLength","events","pipe","generateBreadCrumbs","ProviderItemComponent","Provider","Leaf","GUID","getKeyAndValueFromForm","replace","checkProviderValidations","inputs","currenLang","validId","validValue","checkFormat","RegExp","pattern","test","state","getDate","duration","date","currentDay","days","UTC","getMonth","getHours","getMinutes","getSeconds","downloadPdf","pdfBase64","fileName","linkSource","downloadLink","document","createElement","href","download","click","routeName","PaymentService","cartItem","post","cartOrder","հistoryItem","tree","details","email","sendedMailResponse","providedIn","ProvidersService","provider","SessionData","ProviderGUID","paymentItem","routes","redirectTo","pathMatch","component","AppRoutingModule","exports","CartItem","bootstrapModule","createUUID","detectUser","userId","setUserId","getUserId","ReceiptComponent","printIcon","backIcon","sendMailIcon","getItemReceipt","createEmailForm","emailRegex","emailWrongFormat","validateEmail","sendReceiptToEmail","IsSuccess","emailSuccess","userEmail","PDF","print","onKeyUp","encapsulation","None","webpackEmptyAsyncContext","req","Promise","resolve","e","Error","keys","module"],"mappings":"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","file":"main-es5.js","sourcesContent":["import { faShoppingBasket, faSearchPlus, faHistory } from '@fortawesome/free-solid-svg-icons';\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-navigation-bar',\r\n templateUrl: './navigation-bar.component.html',\r\n styleUrls: ['./navigation-bar.component.scss']\r\n})\r\nexport class NavigationBarComponent implements OnInit {\r\n\r\n public search = faSearchPlus;\r\n public basket = faShoppingBasket;\r\n public history = faHistory;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
","import {Language} from './../../util/lang';\r\nimport {Component, OnInit} from '@angular/core';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {getRoute} from '../../util/tools';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss']\r\n})\r\n\r\nexport class HeaderComponent implements OnInit {\r\n public lang: string = Language.getCurrentLang();\r\n public getRoute = getRoute;\r\n\r\n public Languages: object[] = [\r\n {display: 'ՀԱՅ', code: 'hy'},\r\n {display: 'ENG', code: 'en'},\r\n {display: 'РУС', code: 'ru'}\r\n ];\r\n\r\n constructor(private translate: TranslateService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public changeLanuage(lang: string): void {\r\n this.translate.use(lang);\r\n Language.setCurrentLang(lang, true);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"logo_m\"\r\n\r\n
\r\n
\r\n
    \r\n
  • \r\n \"language\"\r\n
  • \r\n
  • \r\n
    \r\n \r\n \"language\"\r\n \r\n
    \r\n
      \r\n
    • {{ lang.display }}
    • \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 { ProviderInput } from './../../../models/provider-input';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-provider-field',\r\n templateUrl: './provider-field.component.html',\r\n styleUrls: ['./provider-field.component.scss']\r\n})\r\nexport class ProviderFieldComponent implements OnInit {\r\n\r\n @Input() providerInput: ProviderInput;\r\n @Input() form: FormGroup;\r\n @Input() onDropdownChange: Function;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","
\r\n \r\n\r\n 0; else elseBlock\">\r\n

{{ 'Title.TitleHistory' | translate }}

\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{historyItem.Items[0].ProviderName}}\r\n \r\n\r\n
{{itemInputs.InputName }}{{itemInputs.Value}}
{{ 'label.amount' | translate }}{{historyItem.Amount}}
{{ 'label.date' | translate }}{{historyItem.CreationDate | date:'dd-MM-yyyy'}}
{{ 'label.state' | translate }}{{getStatus(item.State)}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { HistoryItem } from './../../models/history';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { PaymentService } from './../../services/payment.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { getStatus } from 'src/app/util/tools';\r\nimport { setUserId } from 'src/app/util/user';\r\nimport { Language } from 'src/app/util/lang';\r\nimport { faBoxOpen, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-history',\r\n templateUrl: './history.component.html',\r\n styleUrls: ['./history.component.scss']\r\n})\r\nexport class HistoryComponent implements OnInit {\r\n\r\n public historyItems: HistoryItem[];\r\n public showModal: boolean = false;\r\n public showLoading: boolean = false;\r\n public modalHistoryItem: HistoryItem;\r\n public getStatus: Function = getStatus;\r\n public currentLang: string = Language.getCurrentLang();\r\n public emptyIcon: IconDefinition = faBoxOpen;\r\n private count: number = 2;\r\n\r\n constructor(private paymentService: PaymentService, private router: Router, private titleService: Title , private translate: TranslateService,\r\n\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getOrdersWithItemsByDeviceUUID();\r\n this.getTranslations();\r\n }\r\n\r\n public getTranslations() {\r\n this.translate.get('Title').subscribe((data) => {\r\n this.setTitle( data.TitleHistory);\r\n });\r\n }\r\n\r\n public setTitle(newTitle: string) {\r\n this.titleService.setTitle(newTitle);\r\n }\r\n\r\n public continuePayment(url: string): void {\r\n window.open(url, '_blank')\r\n };\r\n\r\n public getReceipt(guid: string): void {\r\n this.router.navigate([`receipt/${guid}`]);\r\n };\r\n\r\n public showMoreInfo(modalHistoryItem: HistoryItem): void {\r\n this.modalHistoryItem = modalHistoryItem;\r\n this.showModal = true;\r\n }\r\n\r\n public changeUserId(): void {\r\n setUserId();\r\n window.location.reload();\r\n }\r\n\r\n public updateHistory(): void {\r\n this.getOrdersWithItemsByDeviceUUID();\r\n }\r\n\r\n public async getOrdersWithItemsByDeviceUUID(): Promise {\r\n this.showLoading = true;\r\n this.paymentService.getOrdersWithItemsByDeviceUUID().subscribe(response => {\r\n if (response instanceof HttpErrorResponse) {\r\n // alert('Փորձեք մի փոքր ուշ');\r\n // this.router.navigate([`notfound`]);\r\n } else if (!response) {\r\n if (this.count != 0) {\r\n this.count--;\r\n this.getOrdersWithItemsByDeviceUUID();\r\n };\r\n } else {\r\n this.historyItems = response;\r\n };\r\n this.showLoading = false;\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ProvidersService } from 'src/app/services/providers.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ProviderItemInputs } from 'src/app/models/provider-item-inputs';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { ProviderDetails } from 'src/app/models/provider-details';\r\nimport {checkFormat} from '../../util/tools';\r\nimport {STRING_IS_INTEGER} from '../../util/constants';\r\n\r\n@Component({\r\n selector: 'app-redirect',\r\n templateUrl: './redirect.component.html',\r\n styleUrls: ['./redirect.component.scss']\r\n})\r\nexport class RedirectComponent implements OnInit {\r\n\r\n public guid: string;\r\n constructor(public providersService: ProvidersService, private router: Router, private activatedRoute: ActivatedRoute) { }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.params.subscribe(params => {\r\n this.guid = params.id;\r\n });\r\n this.setValuesFromQueryParams();\r\n }\r\n\r\n /// http://localhost:4200/redirect/06B9FD02-032D-4956-A0A3-A2ED9352C409?v3=1660010196100100&a=1000\r\n public setValuesFromQueryParams(): void {\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n const items: ProviderItemInputs[] = [];\r\n let amount;\r\n for (const [key, value] of Object.entries(params)) {\r\n const providerId = key;\r\n if (providerId.charAt(0) === 'v') {\r\n items.push(new ProviderItemInputs(providerId.substring(1), value));\r\n } else if (key === 'a'){\r\n amount = value;\r\n } else {\r\n this.router.navigate([`notfound`]);\r\n }\r\n }\r\n if (items.length > 0) {\r\n this.checkProviderItemInputs(items, amount);\r\n } else {\r\n this.router.navigate([`notfound`]);\r\n }\r\n });\r\n }\r\n\r\n public checkProviderItemInputs(items: ProviderItemInputs[], amount: string) {\r\n this.providersService.checkProviderItemInputs(items).subscribe(response => {\r\n if (response instanceof HttpErrorResponse || response.Status === 400) {\r\n this.router.navigate([`notfound`]);\r\n }\r\n else {\r\n if (amount && !checkFormat(amount, STRING_IS_INTEGER)){\r\n this.router.navigate([`pay/${this.guid}?${amount}`]);\r\n } else {\r\n this.router.navigate([`pay/${this.guid}`]);\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n","","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Provider } from './../../../models/provider';\r\nimport { ProvidersService } from './../../../services/providers.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-providers-home',\r\n templateUrl: './providers-home.component.html',\r\n styleUrls: ['./providers-home.component.scss']\r\n})\r\nexport class ProvidersHomeComponent implements OnInit {\r\n\r\n public Providers: Provider[];\r\n\r\n constructor(private providerService: ProvidersService, private router: Router, private activatedRoute: ActivatedRoute) { }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.params.subscribe(params => {\r\n const { id } = params;\r\n this.getProviders(id ? id : null);\r\n })\r\n }\r\n\r\n private getProviders(id: string | null) {\r\n this.providerService.getProviders(id).subscribe(response => {\r\n if (response instanceof HttpErrorResponse) {\r\n this.router.navigate(['notfound']);\r\n } else if (!response) {\r\n this.router.navigate(['providers']);\r\n } else {\r\n this.Providers = response;\r\n }\r\n });\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-basket',\r\n templateUrl: './basket.component.html',\r\n styleUrls: ['./basket.component.scss']\r\n})\r\nexport class BasketComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n

basket works!

\r\n
","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","export class ProviderInfo {\r\n public Name: string;\r\n public BannerPath: string;\r\n public InfoMessage: InfoMessageFields;\r\n constructor(providerInfo: ProviderInfo) {\r\n const { Name, BannerPath, InfoMessage } = providerInfo;\r\n this.Name = Name;\r\n this.BannerPath = BannerPath;\r\n this.InfoMessage = InfoMessage ? new InfoMessageFields(JSON.parse(InfoMessage.toString())) : null;\r\n }\r\n}\r\n\r\n\r\nclass InfoMessageFields {\r\n public TEXT: string;\r\n public URL: string;\r\n public URLText: string;\r\n constructor(infoMessageFields: InfoMessageFields) {\r\n const { TEXT, URL, URLText } = infoMessageFields;\r\n this.TEXT = TEXT;\r\n this.URL = URL;\r\n this.URLText = URLText;\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.scss']\r\n})\r\nexport class NotFoundComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n

404

\r\n

ERROR

\r\n
Page Not Found
\r\n
","import { Language } from './lang';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { getUserId } from './user';\r\n\r\nexport const actionUrl: string = \"https://publicservice.evoca.am/api/PaymentService\";\r\n\r\nexport function getHeaders(standardCase: boolean) {\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'X-Device': getUserId(),\r\n 'ServiceAuthToken': standardCase ? 'UTGZBQllANzpFY2dYNdi5POSVtwO3q7j' : 'e04d22dd-e8a8-4645-bd1c-977983281ad7',\r\n 'X-Language': Language.getCurrentLang()\r\n };\r\n return {\r\n headers: new HttpHeaders(headers)\r\n };\r\n};\r\n\r\nexport function handleError(operation = 'operation', result?: T) {\r\n return (error: any): Observable => {\r\n // log(`${operation} failed: ${error.message}`); /// todo comment for production\r\n result = error;\r\n return of(result as T);\r\n };\r\n}\r\n\r\nfunction log(message: string) {\r\n console.log(`errormessage: ${message}`);\r\n}\r\n","
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \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 { Language } from 'src/app/util/lang';\r\nimport { ProviderItemInputs } from './../../../models/provider-item-inputs';\r\nimport { ProviderInfo } from './../../../models/provider-info';\r\nimport { ProvidersService } from './../../../services/providers.service';\r\nimport { ProviderInput } from './../../../models/provider-input';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { getKeyAndValueFromForm, checkProviderValidations } from 'src/app/util/tools';\r\nimport { ProviderDetails } from 'src/app/models/provider-details';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Location } from '@angular/common';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n\r\n@Component({\r\n selector: 'app-provider',\r\n templateUrl: './provider.component.html',\r\n styleUrls: ['./provider.component.scss']\r\n})\r\nexport class ProviderComponent implements OnInit {\r\n\r\n public providerInput: ProviderInput[] = [];\r\n public providerInfo: ProviderInfo;\r\n public form: FormGroup;\r\n public items: ProviderItemInputs[] = [];\r\n public errors: ProviderItemInputs[] = [];\r\n public showPopup: boolean = false;\r\n public popupMessage: string;\r\n public popupMessages: ProviderItemInputs[];\r\n public group: any = {};\r\n public guid: string;\r\n public showLoading: boolean = false;\r\n public messages: any;\r\n constructor(\r\n public providersService: ProvidersService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n public location: Location,\r\n private translate: TranslateService,\r\n private titleService: Title\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.params.subscribe(params => {\r\n const { id } = params;\r\n this.getTranslations();\r\n this.getProviderInputs(id)\r\n .then(() => this.getProviderInfo(id))\r\n .catch();\r\n this.guid = id;\r\n })\r\n }\r\n\r\n public getTranslations() {\r\n this.translate.get('Messages').subscribe((data) => {\r\n this.messages = data;\r\n });\r\n }\r\n\r\n public onDropdownChange(event){\r\n\r\n }\r\n\r\n toFormGroup(providerInputs: ProviderInput[]) {\r\n for (let i = 0; i < providerInputs.length; i++) {\r\n if (providerInputs[i].Keyboard == \"dropdown\") {\r\n this.group[`input_${providerInputs[i].Id}`] = new FormControl( providerInputs[i].Format[0].value);\r\n }\r\n else {\r\n this.group[`input_${providerInputs[i].Id}`] = new FormControl(providerInputs[i].DefaultValue);\r\n }\r\n }\r\n return new FormGroup(this.group);\r\n }\r\n\r\n public async getProviderInputs(id: string): Promise {\r\n this.providersService.getProviderInputs(id).subscribe(response => {\r\n if (response instanceof HttpErrorResponse) {\r\n this.router.navigate([`notfound`]);\r\n } else if (!response) { /// in some case the operation status is ok, but data is null, api error, but handled here\r\n this.router.navigate([`notfound`]);///\r\n }\r\n else {\r\n response.forEach(i => {\r\n this.providerInput.push(new ProviderInput(i));\r\n });\r\n this.providersService.setCurrency(null);\r\n this.form = this.toFormGroup(this.providerInput);\r\n };\r\n });\r\n }\r\n\r\n public getProviderInfo(id: string): void {\r\n this.providersService.getProviderInfo(id).subscribe(response => {\r\n if (response instanceof HttpErrorResponse) {\r\n this.router.navigate([`notfound`]);\r\n }\r\n else {\r\n this.providerInfo = new ProviderInfo(response.Object);\r\n this.setTitle(this.providerInfo.Name);\r\n }\r\n })\r\n }\r\n\r\n public setTitle(newTitle: string) {\r\n this.titleService.setTitle(newTitle);\r\n }\r\n\r\n public showErrors(errors: ProviderItemInputs[]): void {\r\n let message: string = '';\r\n for (let i = 0; i < errors.length; i++) {\r\n message += ` ${errors[i].Value},`;\r\n }\r\n this.showPopup = true;\r\n this.popupMessages = errors;\r\n }\r\n\r\n public handleResult(item: ProviderDetails): void {\r\n const { Status } = item;\r\n const lang = Language.getCurrentLang();\r\n switch (Status) {\r\n case 200:\r\n this.router.navigate([`${lang}/pay/${this.guid}`]);\r\n break;\r\n case 300:\r\n this.router.navigate([`${lang}/chooseabonent/${this.guid}`]);\r\n break;\r\n default:\r\n this.popupMessage = this.messages.wrongdata;\r\n this.showPopup = true;\r\n break;\r\n }\r\n }\r\n\r\n\r\n public back(): void {\r\n this.location.back();\r\n }\r\n\r\n\r\n public onSubmit() {\r\n const formData = this.form.getRawValue();\r\n this.items = getKeyAndValueFromForm(formData);\r\n const providerData = checkProviderValidations(this.providerInput, this.items, this.translate.getDefaultLang());\r\n if (!providerData.valid) {\r\n this.showErrors(providerData.errors);\r\n } else {\r\n this.showLoading = true;\r\n this.providersService.checkProviderItemInputs(providerData.items).subscribe(response => {\r\n if (response instanceof HttpErrorResponse || response.status === 400) {\r\n this.popupMessage = this.messages.wrongdata;\r\n this.showPopup = true;\r\n }\r\n else {\r\n this.items.map(i => {\r\n this.providerInput.map(input => {\r\n if (input.ForRequest && input.Id.toString() == i.ProviderInputId) {\r\n this.providersService.setCurrency(i.Value);\r\n }\r\n });\r\n });\r\n this.handleResult(response);\r\n }\r\n this.showLoading = false;\r\n });\r\n }\r\n }\r\n}\r\n","export class ProviderItemInputs {\r\n public ProviderInputId: string;\r\n public Value: string | any;\r\n constructor(ProviderInputId: string, Value: string | any) {\r\n this.ProviderInputId = ProviderInputId;\r\n this.Value = Value ? Value : '';\r\n }\r\n}","import { Component, EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\r\nimport { ProviderItemInputs } from 'src/app/models/provider-item-inputs';\r\n\r\n@Component({\r\n selector: 'app-popup',\r\n templateUrl: './popup.component.html',\r\n styleUrls: ['./popup.component.scss']\r\n})\r\nexport class PopupComponent {\r\n\r\n constructor() { }\r\n\r\n @Input() show: boolean;\r\n @Input() message: string;\r\n @Input() messages: ProviderItemInputs[] = [];\r\n @Output() closed = new EventEmitter();\r\n\r\n public onBackgroundClickClose(event): void {\r\n const { id, className } = event.target;\r\n if (id == 'myModal' && className == 'modal') {\r\n this.show = false;\r\n this.isClosedToParent(this.show);\r\n }\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\r\n this.show = false;\r\n this.isClosedToParent(this.show);\r\n }\r\n\r\n public onClose(): void {\r\n this.show = false;\r\n this.isClosedToParent(this.show);\r\n }\r\n\r\n public isClosedToParent(value: boolean): void {\r\n this.messages = null\r\n this.closed.emit(value);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n ×\r\n

{{ 'Title.message' | translate }}

\r\n
\r\n
\r\n
{{message}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n {{item.Value}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n constructor() { }\r\n \r\n year: Number;\r\n\r\n ngOnInit(): void {\r\n this.year = new Date().getFullYear();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
    \r\n
  • \"evoca_logo\"\r\n\r\n
  • \r\n
  • {{ 'Footer.textAbout' | translate }}
  • \r\n
  • Copyright © 1990-{{year}} Evocabank
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • {{ 'Footer.address' | translate }}
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \"qr\"\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \"youtube\"\r\n\r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \"pinterest\"\r\n
    • \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ 'Footer.aboutWeb' | translate }}\r\n

\r\n
\r\n
\r\n
\r\n \"cb\"\r\n
\r\n
\r\n \"financial_systen_mediator\"\r\n
\r\n\r\n
\r\n \"abc_finance\"\r\n
\r\n\r\n
\r\n \"deposit_guarantee\"\r\n
\r\n\r\n
\r\n \"arca\"\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \"evoca_logo\"\r\n\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • {{ 'Footer.address' | translate }}
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \"youtube\"\r\n\r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
    \r\n
    \r\n
  • \r\n
    \r\n
    \"\"
    \r\n \r\n
    \r\n
  • \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • {{ 'Footer.textAbout' | translate }}
  • \r\n
  • Copyright © 1990-{{year}} Evocabank
  • \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n","import { ProviderInfo } from './../../../models/provider-info';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-provider-info',\r\n templateUrl: './provider-info.component.html',\r\n styleUrls: ['./provider-info.component.scss']\r\n})\r\nexport class ProviderInfoComponent implements OnInit {\r\n\r\n @Input() providerInfo: ProviderInfo;\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n\r\n}\r\n","
\r\n
\r\n

{{providerInfo.Name}}

\r\n
{{providerInfo.InfoMessage.TEXT}}\r\n {{providerInfo.InfoMessage.URLText}}\r\n
\r\n
\r\n
\r\n

{{providerInfo.Name}}

\r\n
\r\n
","export class ProviderInput {\r\n public BannerPath: String;\r\n public Format: String | Dropdown;\r\n public Id: Number;\r\n public Keyboard: String;\r\n public MaxLength: Number;\r\n public MinLength: Number;\r\n public Name: String;\r\n public PageOrder: Number;\r\n public Placeholder: String;\r\n public Required: Boolean;\r\n public ForRequest: Boolean;\r\n public IsHidden: Boolean;\r\n public DefaultValue: String;\r\n \r\n constructor(public providerInput: ProviderInput) {\r\n this.BannerPath = providerInput.BannerPath;\r\n this.Format = providerInput.Format;\r\n this.Id = providerInput.Id;\r\n this.Keyboard = providerInput.Keyboard;\r\n this.MaxLength = providerInput.MaxLength;\r\n this.MinLength = providerInput.MinLength;\r\n this.Name = providerInput.Name;\r\n this.PageOrder = providerInput.PageOrder;\r\n this.Placeholder = providerInput.Placeholder;\r\n this.Required = providerInput.Required;\r\n this.ForRequest = providerInput.ForRequest;\r\n this.IsHidden = providerInput.IsHidden;\r\n this.DefaultValue = providerInput.DefaultValue;\r\n if (this.Keyboard == 'dropdown') {\r\n this.Format = JSON.parse(this.Format.toString());\r\n } else if(this.Keyboard == null){\r\n this.Keyboard = 'text';\r\n }\r\n }\r\n}\r\n\r\nclass Dropdown {\r\n public name: String;\r\n public value: String;\r\n \r\n constructor(public dropdown: Dropdown) {\r\n this.name = dropdown.name;\r\n this.value = dropdown.value;\r\n }\r\n}","export class Language {\r\n\r\n public static getCurrentLang(): string {\r\n const lang = localStorage.getItem('payLang');\r\n return lang ? lang : 'hy';\r\n }\r\n\r\n public static setCurrentLang(lang: string, updatePage: boolean) {\r\n localStorage.setItem('payLang', lang);\r\n if (updatePage) {\r\n const path: string = '/' + lang + window.location.pathname.substring(3);\r\n window.location.pathname = path;\r\n }\r\n }\r\n}","import { Language } from './util/lang';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { getUserId, detectUser } from './util/user';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\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 implements OnInit {\r\n ngOnInit(): void {\r\n detectUser();\r\n }\r\n\r\n public getLangFromUrl(): void {\r\n const pathName = window.location.pathname;\r\n let lang;\r\n switch (pathName.substr(0, 3)) {\r\n case '/en':\r\n lang = 'en';\r\n break;\r\n case '/ru':\r\n lang = 'ru';\r\n break;\r\n default:\r\n lang = 'hy';\r\n break;\r\n }\r\n Language.setCurrentLang(lang, false);\r\n }\r\n\r\n title = 'PaymentServiceWeb';\r\n constructor(translate: TranslateService) {\r\n this.getLangFromUrl();\r\n translate.setDefaultLang(Language.getCurrentLang());\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n
\r\n","import { ProviderItemInputs } from './provider-item-inputs';\r\nimport { ProviderDetails } from 'src/app/models/provider-details';\r\n\r\nexport class CheckProviderData {\r\n public providerDetails: ProviderDetails;\r\n public providerItemInputs: ProviderItemInputs[];\r\n constructor(providerDetails: ProviderDetails, providerItemInputs: ProviderItemInputs[]) {\r\n this.providerDetails = providerDetails;\r\n this.providerItemInputs = providerItemInputs;\r\n }\r\n}","export const EMAIL_REGEXP: RegExp =\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\nexport const STRING_IS_INTEGER: RegExp = /^\\+?(0|[1-9]\\d*)$/;\r\n","
\r\n
\r\n

{{providerName}}

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
{{detail[0]}}{{detail[1]}}
\r\n
\r\n
\r\n \r\n \r\n

{{ 'label.commission' | translate }} {{commissionAmount}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { CartItems } from './../../models/cart-order';\r\nimport { CartItem } from './../../models/cart-item';\r\nimport { PaymentService } from './../../services/payment.service';\r\nimport { ProviderItemInputs } from './../../models/provider-item-inputs';\r\nimport { Commission } from './../../models/commission';\r\nimport { ProviderDetails } from 'src/app/models/provider-details';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ProvidersService } from 'src/app/services/providers.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { CartOrder } from 'src/app/models/cart-order';\r\nimport { PaymentProviderInputs } from 'src/app/models/paymentItem';\r\nimport { Language } from './../../util/lang';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-check-provider',\r\n templateUrl: './check-provider.component.html',\r\n styleUrls: ['./check-provider.component.scss']\r\n})\r\nexport class CheckProviderComponent implements OnInit {\r\n public guid: string;\r\n public showLoading: boolean = false;\r\n public providerDetails: ProviderDetails;\r\n public providerItemInputs: ProviderItemInputs[];\r\n public providerName: string;\r\n public commissions: Commission[];\r\n public form: FormGroup;\r\n public amount: number = 0;\r\n public commissionAmount: string;\r\n public formUrl: string;\r\n public buttonDisabled: boolean = false;\r\n public showPopup: boolean = false;\r\n public popupMessage: string;\r\n public popupMessages: ProviderItemInputs[];\r\n public amountFromRedirect: number;\r\n\r\n constructor(\r\n public providersService: ProvidersService,\r\n public paymentService: PaymentService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private translate: TranslateService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.params.subscribe((params) => {\r\n const { id } = params;\r\n let guid;\r\n if (id.includes('?')){\r\n const splitArray = id.split('?');\r\n guid = splitArray[0];\r\n this.amountFromRedirect = splitArray[1];\r\n }\r\n else {\r\n guid = id;\r\n }\r\n let path;\r\n this.activatedRoute.url.subscribe(route => {\r\n path = route[1].path;\r\n });\r\n this.init(guid, path);\r\n\r\n });\r\n }\r\n\r\n public async getCommissions(id): Promise {\r\n const currency = this.providersService.getCurrency() ? this.providersService.getCurrency() : 'AMD';\r\n this.providersService.getCommissions(id, currency).subscribe(response => {\r\n if (response instanceof HttpErrorResponse) {\r\n this.router.navigate([`${Language.getCurrentLang()}/provider/${this.guid}`]);\r\n } else {\r\n this.commissions = response;\r\n this.setCommission();\r\n }\r\n });\r\n }\r\n\r\n public async getProviderInfo(id): Promise {\r\n this.providersService.getProviderInfo(id).subscribe(response => {\r\n if (response instanceof HttpErrorResponse) {\r\n this.router.navigate([`${Language.getCurrentLang()}/provider/${this.guid}`]);\r\n }\r\n else {\r\n const { Name } = response.Object;\r\n this.providerName = Name;\r\n }\r\n });\r\n }\r\n\r\n public setAmount(): void {\r\n const currency = this.providersService.getCurrency();\r\n const { Debt, MinAmount, MaxAmount, RangeByCurrency } = this.providerDetails;\r\n let min;\r\n let max;\r\n let amount;\r\n const debt = Debt;\r\n if (currency && RangeByCurrency) {\r\n const { AmountStart, AmountEnd } = RangeByCurrency.filter(el => el.Currency == currency)[0];\r\n min = AmountStart;\r\n max = AmountEnd;\r\n } else {\r\n min = MinAmount;\r\n max = MaxAmount;\r\n }\r\n if (debt > MaxAmount) {\r\n amount = MaxAmount;\r\n } else if (debt < min) {\r\n amount = min;\r\n } else {\r\n amount = debt;\r\n }\r\n if (this.amountFromRedirect){\r\n this.amount = this.amountFromRedirect;\r\n } else {\r\n this.amount = Math.ceil(amount * 10) / 10;\r\n }\r\n }\r\n\r\n public validate(paymentProviderInputs: PaymentProviderInputs[]): ProviderItemInputs[] {\r\n const items: ProviderItemInputs[] = [];\r\n paymentProviderInputs.forEach(i => {\r\n if (i.providerInputId != 0) {\r\n items.push(new ProviderItemInputs(i.providerInputId.toFixed(), i.value))\r\n }\r\n });\r\n return items;\r\n }\r\n\r\n public async standardCase(id: string): Promise {\r\n const { providerDetails, providerItemInputs } = this.providersService.getProviderDetails();\r\n this.providerDetails = providerDetails;\r\n this.providerItemInputs = providerItemInputs;\r\n this.guid = id;\r\n if (!providerDetails) {\r\n this.router.navigate([`${Language.getCurrentLang()}/provider/${this.guid}`]);\r\n return;\r\n };\r\n }\r\n\r\n public async fromUrlCase(id: string) {\r\n this.providersService.getItem(id).subscribe(itemResponse => {\r\n if (itemResponse instanceof HttpErrorResponse || !itemResponse) {\r\n this.router.navigate([`${Language.getCurrentLang()}/notfound`]);\r\n } else {\r\n this.providerItemInputs = this.validate(itemResponse.paymentProviderInputs);\r\n this.guid = itemResponse.paymentProviderGUID;\r\n this.providersService.checkProviderItemInputs(this.providerItemInputs).subscribe(response => {\r\n if (response instanceof HttpErrorResponse || response.status === 400) {\r\n this.router.navigate([`${Language.getCurrentLang()}/notfound`]);\r\n }\r\n else {\r\n this.providerDetails = response;\r\n this.setValues();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n public init(id: string, path: string): void {\r\n if (id && path === `pay`) {\r\n this.standardCase(id).then(() => {\r\n this.setValues();\r\n });\r\n } else if (id && path === \"prepayment\") {\r\n this.fromUrlCase(id);\r\n }\r\n }\r\n\r\n public setValues(): void {\r\n this.getCommissions(this.guid).then(() => {\r\n this.getProviderInfo(this.guid);\r\n }).then(() => {\r\n this.setAmount();\r\n }).then(() => {\r\n this.form = new FormGroup({\r\n amount: new FormControl(this.amount)\r\n });\r\n }).catch((err) => { });\r\n }\r\n\r\n public setCommission(): void {\r\n const value = this.amount;\r\n let commissionAmount = 0;\r\n this.commissions.forEach((commission) => {\r\n const { AmountStart, AmountEnd, Fixed, Percentage, PercentageMaxAmount, PercentageMinAmount } = commission;\r\n if (value >= AmountStart && value <= AmountEnd) {\r\n if (Fixed > 0) {\r\n commissionAmount = Fixed;\r\n } else {\r\n commissionAmount = value * Percentage / 100;\r\n if (commissionAmount > PercentageMaxAmount) {\r\n commissionAmount = PercentageMaxAmount;\r\n } else if (commissionAmount < PercentageMinAmount) {\r\n commissionAmount = PercentageMinAmount;\r\n }\r\n }\r\n }\r\n });\r\n this.commissionAmount = commissionAmount.toFixed(1);\r\n }\r\n\r\n public onSubmit() {\r\n\r\n const currentLang = Language.getCurrentLang();\r\n const formData = this.form.getRawValue();\r\n const { amount } = formData;\r\n this.showLoading = true;\r\n const currency = this.providersService.getCurrency();\r\n const sessionData = this.providersService.getSessionData() ? this.providersService.getSessionData() : null;\r\n if (sessionData) this.providerItemInputs.push(sessionData);\r\n const { MinAmount, MaxAmount, RangeByCurrency } = this.providerDetails;\r\n let min;\r\n let max;\r\n if (currency && RangeByCurrency) {\r\n const { AmountStart, AmountEnd } = RangeByCurrency.filter(el => el.Currency == currency)[0];\r\n min = AmountStart;\r\n max = AmountEnd;\r\n } else {\r\n min = MinAmount;\r\n max = MaxAmount;\r\n }\r\n\r\n if (amount > max || amount < min) {\r\n const message = currentLang == \"en\" ? `Minimal value is ${min}, maximal value is ${max}` : (currentLang == 'hy' ?\r\n `Մինիմալ արժեքն է ${min}, առավելագույն արժեքն է ${max}` : `Mинимальное значение ${min}, максимальное значение значение ${max}`);\r\n this.popupMessage = message;\r\n this.showPopup = true;\r\n this.showLoading = false;\r\n }\r\n else {\r\n const curr = this.providersService.getCurrency() ? this.providersService.getCurrency() : 'AMD';\r\n this.paymentService.addCartItem(new CartItem(amount.toString(), parseFloat(this.commissionAmount), curr, this.guid, this.providerItemInputs))\r\n .subscribe(cartItemResponse => {\r\n if (cartItemResponse instanceof HttpErrorResponse) {\r\n alert('Փորձեք մի փոքր ուշ'); // todo\r\n this.showLoading = false;\r\n }\r\n else {\r\n const cartItems: CartItems[] = [];\r\n cartItems.push(new CartItems(cartItemResponse))\r\n this.paymentService.addCartOrderSync(new CartOrder(null, cartItems, 'Payment system', '1')).subscribe(cartOrderResponse => {\r\n if (cartOrderResponse instanceof HttpErrorResponse) {\r\n alert('Փորձեք մի փոքր ուշ'); // todo\r\n this.showLoading = false;\r\n }\r\n else {\r\n this.formUrl = cartOrderResponse.FormUrl;\r\n window.open(this.formUrl, \"_blank\");\r\n this.router.navigate([`${Language.getCurrentLang()}/paymenthistory`]);\r\n this.buttonDisabled = true;\r\n this.showLoading = false;\r\n };\r\n });\r\n };\r\n });\r\n };\r\n }\r\n\r\n public onKeyUp(event) {\r\n const { value } = event.target;\r\n this.amount = value;\r\n this.setCommission();\r\n }\r\n}\r\n","import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { BrowserModule, Meta, MetaDefinition} from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { FooterComponent } from './components/footer/footer.component';\r\n\r\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\r\nimport { ProvidersHomeComponent } from './components/provider/providers-home/providers-home.component';\r\nimport { ProvidersComponent } from './components/provider/providers/providers.component';\r\nimport { ProviderItemComponent } from './components/child-elements/provider-item/provider-item.component';\r\nimport { ProviderComponent } from './components/provider/provider/provider.component';\r\nimport { NotFoundComponent } from './components/not-found/not-found.component';\r\nimport { ProviderFieldComponent } from './components/child-elements/provider-field/provider-field.component';\r\n\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { NavigationBarComponent } from './components/navigation-bar/navigation-bar.component';\r\nimport { BasketComponent } from './components/basket/basket.component';\r\nimport { HistoryComponent } from './components/history/history.component';\r\nimport { LoadingComponent } from './components/child-elements/loading/loading.component';\r\nimport { ProviderInfoComponent } from './components/child-elements/provider-info/provider-info.component';\r\nimport { ChooseAbonentComponent } from './components/choose-abonent/choose-abonent.component';\r\nimport { CheckProviderComponent } from './components/check-provider/check-provider.component';\r\nimport { ReceiptComponent } from './components/receipt/receipt.component';\r\nimport { ModalComponent } from './components/child-elements/modal/modal.component';\r\nimport { RedirectComponent } from './components/redirect/redirect.component';\r\n\r\nimport {TranslateModule, TranslateLoader} from '@ngx-translate/core';\r\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\r\nimport { BreadCrumbsComponent } from './components/bread-crumbs/bread-crumbs.component';\r\nimport { PopupComponent } from './components/popup/popup.component';\r\n\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http);\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n ProvidersHomeComponent,\r\n ProvidersComponent,\r\n ProviderItemComponent,\r\n ProviderComponent,\r\n NotFoundComponent,\r\n ProviderFieldComponent,\r\n NavigationBarComponent,\r\n BasketComponent,\r\n HistoryComponent,\r\n LoadingComponent,\r\n ProviderInfoComponent,\r\n ChooseAbonentComponent,\r\n CheckProviderComponent,\r\n ReceiptComponent,\r\n ModalComponent,\r\n RedirectComponent,\r\n BreadCrumbsComponent,\r\n PopupComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n ReactiveFormsModule,\r\n FontAwesomeModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n })\r\n ],\r\n providers: [Meta],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { ProviderItemInputs } from './provider-item-inputs';\r\n\r\nexport class ProviderValidation {\r\n public items: ProviderItemInputs[];\r\n public errors: ProviderItemInputs[];\r\n public valid: boolean;\r\n constructor(items: ProviderItemInputs[], errors: ProviderItemInputs[]) {\r\n this.items = items;\r\n this.errors = errors;\r\n this.valid = errors.length > 0 ? false : true;\r\n }\r\n}","import { ActivatedRoute } from '@angular/router';\r\nimport { Meta, Title } from '@angular/platform-browser';\r\nimport { PaymentService } from 'src/app/services/payment.service';\r\nimport { Provider } from './../../../models/provider';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-providers',\r\n templateUrl: './providers.component.html',\r\n styleUrls: ['./providers.component.scss']\r\n})\r\nexport class ProvidersComponent implements OnInit {\r\n\r\n @Input() Providers: Provider[];\r\n public providersName: string;\r\n\r\n constructor(\r\n public paymentService: PaymentService,\r\n public titleService: Title,\r\n public activatedRoute: ActivatedRoute,\r\n private metaService: Meta,\r\n private translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.activatedRoute.params.subscribe(params => {\r\n let { id } = params;\r\n id = id ? id : \"NULL\";\r\n this.paymentService.ProviderDetails(id).subscribe(response => {\r\n this.translate.get('Title').subscribe(({ homePageTitle, ogTitle }) => {\r\n const title = id == \"NULL\" ? homePageTitle : response.Name;\r\n this.titleService.setTitle(title);\r\n this.setMetaTags(ogTitle);\r\n });\r\n this.providersName = response.Name;\r\n });\r\n });\r\n }\r\n\r\n public setMetaTags(ogTitle: string) {\r\n this.metaService.addTag({ name: \"og:title\", content: ogTitle });\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n \r\n

{{providersName}}

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

{{ 'Title.paymentTitle' | translate }}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input, EventEmitter, OnChanges, SimpleChanges, Output, HostListener } from '@angular/core';\r\nimport { HistoryItem } from 'src/app/models/history';\r\nimport { getStatus } from '../../../util/tools'\r\n\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss']\r\n})\r\nexport class ModalComponent {\r\n\r\n @Input() show: boolean;\r\n @Input() modalHistoryItem: HistoryItem;\r\n @Output() closed = new EventEmitter();\r\n public getStatus: Function = getStatus;\r\n\r\n public onBackgroundClickClose(event): void {\r\n const { id, className } = event.target;\r\n if (id == 'myModal' && className == 'modal') {\r\n this.show = false;\r\n this.isClosedToParent(this.show);\r\n }\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\r\n this.show = false;\r\n this.isClosedToParent(this.show);\r\n }\r\n\r\n public onClose(): void {\r\n this.show = false;\r\n this.isClosedToParent(this.show);\r\n }\r\n\r\n public isClosedToParent(value: boolean): void {\r\n this.closed.emit(value);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n ×\r\n

{{ 'label.moreInfo' | translate }}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ 'label.fullAmount' | translate }}\r\n \r\n {{modalHistoryItem.Amount}} {{modalHistoryItem.Currency}}\r\n
\r\n {{item.ProviderName}}\r\n \r\n {{item.UniqId}}\r\n
\r\n {{itemInputs.InputName}}\r\n \r\n {{itemInputs.Value}}\r\n
\r\n {{ 'label.amount' | translate }}\r\n \r\n {{item.Amount}} {{item.Currency}}\r\n
\r\n {{ 'label.commission' | translate }}\r\n \r\n {{item.Commission}} {{item.Currency}}\r\n
{{ 'label.date' | translate }}{{modalHistoryItem.CreationDate | date:'dd-MM-yyyy'}}
{{ 'label.state' | translate }}{{getStatus(item.State)}}
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loading',\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.scss']\r\n})\r\nexport class LoadingComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { ProvidersService } from './../../services/providers.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ProviderDetails } from 'src/app/models/provider-details';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { Language } from 'src/app/util/lang';\r\n\r\n\r\n@Component({\r\n selector: 'app-choose-abonent',\r\n templateUrl: './choose-abonent.component.html',\r\n styleUrls: ['./choose-abonent.component.scss']\r\n})\r\n\r\nexport class ChooseAbonentComponent implements OnInit {\r\n\r\n public providerDetail: ProviderDetails;\r\n public guid: string;\r\n public chooseAbonent: any; /// TODO to make a model \r\n public form: FormGroup;\r\n public showLoading: boolean = false;\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, private providersService: ProvidersService) { }\r\n\r\n ngOnInit(): void { // TODO CREATE METHODS\r\n this.showLoading == true;\r\n this.form = new FormGroup({\r\n user: new FormControl()\r\n });\r\n this.activatedRoute.params.subscribe(params => {\r\n const { id } = params;\r\n this.guid = id;\r\n })\r\n if (!this.providersService.getProviderDetails().providerDetails) {\r\n this.router.navigate([`${Language.getCurrentLang()}/provider/${this.guid}`]);\r\n }\r\n else {\r\n let records = this.providersService.getProviderDetails().providerDetails.MultipleData;\r\n let data = [];\r\n let record;\r\n for (let i = 0; i < records.length; ++i) {\r\n record = records[i];\r\n let abonent = { /// TODO too make a model\r\n Items: [],\r\n Data: []\r\n };\r\n let items = [];\r\n for (let j = 0; j < 4; ++j) {\r\n items.push({ ProviderInputId: record[j][0], Value: record[j][1] })\r\n }\r\n abonent.Items = items;\r\n let rowData = [];\r\n for (let j = 4; j < record.length; ++j) {\r\n rowData.push(record[j]);\r\n }\r\n abonent.Data = rowData;\r\n data.push(abonent);\r\n this.chooseAbonent = data;\r\n\r\n }\r\n if (this.chooseAbonent.length === 1) {\r\n this.showLoading == true;\r\n this.providersService.checkProviderItemInputs(this.chooseAbonent[0].Items).subscribe(response => {\r\n if (response instanceof HttpErrorResponse || response.status === 400) {\r\n alert('Փորձեք մի փոքր ուշ'); // todo\r\n }\r\n else {\r\n this.providerDetail = response;\r\n this.router.navigate([`${Language.getCurrentLang()}/pay/${this.guid}`]);\r\n };\r\n this.showLoading == false;\r\n\r\n });\r\n }\r\n }\r\n this.showLoading == false;\r\n }\r\n\r\n\r\n public onSubmit() {\r\n const formData = this.form.getRawValue();\r\n this.showLoading == true;\r\n const { user } = formData;\r\n if (!user) {\r\n alert('Ընտրեք բաժանորդ'); // todo\r\n } else {\r\n this.providersService.checkProviderItemInputs(user).subscribe(response => {\r\n if (response instanceof HttpErrorResponse || response.status === 400) {\r\n alert('Փորձեք մի փոքր ուշ'); // todo\r\n }\r\n else {\r\n this.providerDetail = response;\r\n this.router.navigate([`${Language.getCurrentLang()}/pay/${this.guid}`]);\r\n };\r\n });\r\n }\r\n this.showLoading == false;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{ 'Title.abonentTitle' | translate }}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","export class CartOrder {\r\n public CardName: string;\r\n public CartItems: CartItems[];\r\n public Description: string;\r\n public PaymentReceiveMethodId: string;\r\n constructor(CardName: string, CartItems: CartItems[], Description: string, PaymentReceiveMethodId: string) {\r\n this.CardName = CardName;\r\n this.CartItems = CartItems;\r\n this.Description = Description;\r\n this.PaymentReceiveMethodId = PaymentReceiveMethodId;\r\n }\r\n}\r\n\r\n\r\nexport class CartItems {\r\n public CartItemGUID: string;\r\n constructor(CartItemGUID: string) {\r\n this.CartItemGUID = CartItemGUID;\r\n }\r\n}","import { Language } from 'src/app/util/lang';\r\nimport { IBreadCrumb } from './../../interfaces/breadcrumb.interface';\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router, NavigationEnd } from \"@angular/router\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { Input } from \"@angular/core\";\r\nimport { Location } from \"@angular/common\";\r\nimport { PaymentService } from 'src/app/services/payment.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\n@Component({\r\n selector: \"app-bread-crumbs\",\r\n templateUrl: \"./bread-crumbs.component.html\",\r\n styleUrls: [\"./bread-crumbs.component.scss\"]\r\n})\r\nexport class BreadCrumbsComponent implements OnInit {\r\n @Input()\r\n public deliminator: string = \">\";\r\n public providerTree: any;\r\n public breadcrumbs: Array;\r\n public curretBreadCrumb: string;\r\n public currentPath: string;\r\n\r\n constructor(\r\n private router: Router,\r\n public location: Location,\r\n public paymentService: PaymentService,\r\n public translate: TranslateService\r\n ) { }\r\n\r\n public generateBreadCrumbs(): void {\r\n const pathname = this.location.path();\r\n const splitedPathname = pathname.substring(1).split('/');\r\n this.breadcrumbs = [];\r\n let path = splitedPathname[1];\r\n let pathId = splitedPathname[2] ? splitedPathname[2] : null;\r\n this.currentPath = path;\r\n const lang = Language.getCurrentLang();\r\n this.translate.get('Title').subscribe((data) => {\r\n const { TitleHistory, receipt, pay } = data;\r\n this.paymentService.getProviderTree(pathId).subscribe(response => {\r\n if (response instanceof Array) {\r\n response.forEach((item, index) => {\r\n this.breadcrumbs.push({\r\n label: item.Name,\r\n url: this.createUrl(path, item.Id, index, response.length)\r\n });\r\n });\r\n if (path == `paymenthistory`) {\r\n this.breadcrumbs.push({\r\n label: TitleHistory,\r\n url: 'paymenthistory'\r\n });\r\n }\r\n else if (path == `receipt`) {\r\n this.breadcrumbs.push({\r\n label: TitleHistory,\r\n url: 'paymenthistory'\r\n }, {\r\n label: receipt,\r\n url: `receipt/${pathId}`\r\n });\r\n }\r\n else if (path == `pay`) {\r\n this.breadcrumbs.push({\r\n label: pay,\r\n url: `pay/${pathId}`\r\n });\r\n };\r\n this.breadcrumbs = [...new Map(this.breadcrumbs.map(item => [item.label, item])).values()];\r\n };\r\n });\r\n });\r\n\r\n }\r\n\r\n public createUrl(path: string, Id: string, index: number, navigationLength): string {\r\n let url;\r\n const lang = Language.getCurrentLang();\r\n switch (path) {\r\n case `pay`: {\r\n if (++index == navigationLength) {\r\n url = `${lang}/provider/${Id}`;\r\n } else {\r\n url = `${lang}/providers/${Id ? Id : ''}`;\r\n }\r\n break;\r\n }\r\n case `provider`: {\r\n url = ++index == navigationLength ? `${lang}/provider/${Id}` : `${lang}/providers/${Id ? Id : ''}`;\r\n break;\r\n }\r\n default:\r\n {\r\n url = `${lang}/providers/${Id ? Id : ''}`;\r\n break;\r\n }\r\n }\r\n return url;\r\n }\r\n\r\n ngOnInit() {\r\n this.router.events\r\n .pipe(filter(event => event instanceof NavigationEnd))\r\n .subscribe(event => {\r\n this.generateBreadCrumbs();\r\n });\r\n }\r\n}\r\n","
1\">\r\n
\r\n \r\n
\r\n
","import { Language } from './../../../util/lang';\r\nimport { Router } from '@angular/router';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { Provider } from 'src/app/models/provider';\r\n\r\n@Component({\r\n selector: 'app-provider-item',\r\n templateUrl: './provider-item.component.html',\r\n styleUrls: ['./provider-item.component.scss']\r\n})\r\nexport class ProviderItemComponent implements OnInit {\r\n\r\n @Input() Provider: Provider;\r\n\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n navigateTo(Provider): void {\r\n const lang = Language.getCurrentLang();\r\n const { Leaf, GUID } = Provider;\r\n let path;\r\n if (Leaf == 0) {\r\n path = `${lang}/providers`;\r\n } else if (Leaf == 1) {\r\n path = `${lang}/provider`;\r\n }\r\n this.router.navigate([`${path}/${GUID}`]);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n

{{Provider.Name}}

\r\n
\r\n
","import { Language } from 'src/app/util/lang';\r\nimport { ProviderItemInputs } from '../models/provider-item-inputs';\r\nimport { ProviderInput } from '../models/provider-input';\r\nimport { ProviderValidation } from '../models/provider-validation';\r\n\r\nexport function getKeyAndValueFromForm(formData: any): any[] {\r\n let result = [];\r\n for (const [key, value] of Object.entries(formData)) {\r\n result.push(new ProviderItemInputs(key.replace('input_', ''), value));\r\n }\r\n return result;\r\n}\r\n\r\nexport function checkProviderValidations(providerInput: ProviderInput[], inputs: ProviderItemInputs[], currenLang: any): ProviderValidation {\r\n const items: ProviderItemInputs[] = [];\r\n const errors: ProviderItemInputs[] = [];\r\n for (let i = 0; i < providerInput.length; i++) {\r\n const { Id, Name, Format, MaxLength, MinLength, Required, ForRequest } = providerInput[i];\r\n let validId;\r\n let validValue;\r\n for (let j = 0; j < inputs.length; j++) {\r\n const { ProviderInputId, Value } = inputs[i];\r\n if (Id.toString() == ProviderInputId) {\r\n if (!ForRequest && Required && !Value) {\r\n const message = currenLang == 'en' ? `\"${Name}\" field is required` : (currenLang == 'hy' ?\r\n `<<${Name}>> դաշտը պարտադիր է` : `Поле \"${Name}\", обязательное для заполнения`);\r\n errors.push(new ProviderItemInputs(ProviderInputId, `${message}`));\r\n break;\r\n }\r\n\r\n if (!ForRequest && MinLength && Value.length < MinLength) {\r\n const message = currenLang == 'en' ? `\"${Name}\" minimal value is ${MinLength}` : (currenLang == 'hy' ?\r\n `<<${Name}>> նվազագույն արժեքն է ${MinLength}` : `\"${Name}\" минимальное значение ${MinLength}`);\r\n errors.push(new ProviderItemInputs(ProviderInputId, ` ${message}`));\r\n break;\r\n }\r\n\r\n if (!ForRequest && Format && providerInput[i].Keyboard != \"dropdown\" && checkFormat(Value, new RegExp(Format.toString()))) {\r\n const message = currenLang == \"en\" ? `\"${Name}\" incorrect data ${MaxLength}` : (currenLang == 'hy' ?\r\n `<<${Name}>> սխալ տվյալներ ${MaxLength}` : `\"${Name}\" неверные данные ${MaxLength}`);\r\n errors.push(new ProviderItemInputs(ProviderInputId, ` ${message} `));\r\n break;\r\n }\r\n validId = ProviderInputId;\r\n validValue = Value;\r\n }\r\n }\r\n items.push(new ProviderItemInputs(validId, validValue));\r\n }\r\n return new ProviderValidation(items, errors);\r\n}\r\n\r\nexport function checkFormat(value: string, pattern: RegExp) {\r\n return !new RegExp(pattern).test(value);\r\n}\r\n\r\n\r\nexport function getStatus(state: string): string {\r\n const currentLang = Language.getCurrentLang();\r\n let result: string;\r\n switch (state) {\r\n case '1':\r\n result = currentLang == 'en' ? 'New' : (currentLang == 'hy' ? 'Նոր' : 'Новая');\r\n break;\r\n case '2':\r\n case '3':\r\n result = currentLang == 'en' ? 'Processing' : (currentLang == 'hy' ? 'Մշակվում է' : 'Обрабатывается');\r\n break;\r\n case '4':\r\n result = currentLang == 'en' ? 'Payment Accepted' : (currentLang == 'hy' ? 'Վճարումը կատարված է' : 'Оплата завершена');\r\n break;\r\n case '5':\r\n result = currentLang == 'en' ? 'Payment Rejected' : (currentLang == 'hy' ? 'Վճարումը մերժված է' : 'Оплата откланена');\r\n result = 'Վճարումը մերժված է';\r\n break;\r\n default:\r\n result = currentLang == 'en' ? 'Processing' : (currentLang == 'hy' ? 'Մշակվում է' : 'Обрабатывается');\r\n break;\r\n }\r\n return result;\r\n}\r\n\r\nexport function getDate(duration: number | null): Date {\r\n const date = new Date();\r\n const currentDay = date.getDate();\r\n let days = duration ? currentDay - duration : currentDay;\r\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), days, date.getHours(), date.getMinutes(), date.getSeconds()));\r\n}\r\n\r\n\r\nexport function downloadPdf(pdfBase64, fileName) {\r\n const linkSource = `data:application/pdf;base64,${pdfBase64}`;\r\n const downloadLink = document.createElement('a');\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n}\r\n\r\nexport function getRoute(routeName: string): string {\r\n const lang = Language.getCurrentLang();\r\n return `/${lang}/${routeName}`;\r\n}\r\n\r\n","import { CartOrder } from './../models/cart-order';\r\nimport { CartItem } from './../models/cart-item';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { actionUrl, handleError, getHeaders } from '../util/common';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\nimport { HistoryItem } from '../models/history';\r\nimport { Receipt } from '../models/receipt';\r\nimport { getDate } from '../util/tools';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaymentService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n\r\n public addCartItem(cartItem: CartItem): Observable {\r\n const url = `${actionUrl}/AddCartItem`;\r\n return this.http.post(url, cartItem, getHeaders(true)).pipe(\r\n map(CartItemGUID => {\r\n return CartItemGUID;\r\n }),\r\n catchError(handleError(` not found`))\r\n );\r\n }\r\n\r\n public addCartOrderSync(cartOrder: CartOrder): Observable {\r\n const url = `${actionUrl}/addCartOrderSync`;\r\n return this.http.post(url, cartOrder, getHeaders(true)).pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n catchError(handleError(` not found`))\r\n );\r\n }\r\n\r\n public getOrdersWithItemsByDeviceUUID(): any {\r\n\r\n const url = `${actionUrl}/GetOrdersWithItemsByDeviceUUID`;\r\n return this.http.post(url,\r\n { \"StartDate\": getDate(7), \"EndDate\": getDate(null) }\r\n , getHeaders(true)).pipe(\r\n map(հistoryItem => {\r\n return հistoryItem;\r\n }),\r\n catchError(handleError(` not found`))\r\n );\r\n }\r\n\r\n public getItemReceipt(id: string): any {\r\n const url = `${actionUrl}/GetItemReceipt?Guid=${id}`;\r\n return this.http.get(url, getHeaders(true)).pipe(\r\n map(receipt => {\r\n return receipt;\r\n }),\r\n catchError(handleError(` not found`))\r\n );\r\n }\r\n\r\n\r\n public getProviderTree(id: string): Observable {\r\n const url = `${actionUrl}/GetProviderTree?Guid=${id}`;\r\n return this.http.get(url, getHeaders(true)).pipe(\r\n map(tree => {\r\n return tree;\r\n }),\r\n catchError(handleError(` not found`))\r\n );\r\n }\r\n\r\n public ProviderDetails(id: string): Observable {\r\n \r\n const url = `${actionUrl}/GetProviderDetails?Guid=${id}`;\r\n return this.http.get(url, getHeaders(true)).pipe(\r\n map(details => {\r\n return details;\r\n }),\r\n catchError(handleError(` not found`))\r\n );\r\n }\r\n\r\n public sendReceiptToEmail(id: string, email: string): Observable {\r\n const url = `${actionUrl}/SendReceiptEmail`;\r\n return this.http.post(url, {\r\n \"ItemGuid\": id,\r\n \"Email\": email,\r\n \"Lang\": \"hy\"\r\n }, getHeaders(true)).pipe(\r\n map(sendedMailResponse => {\r\n return sendedMailResponse;\r\n }),\r\n catchError(handleError(` not found`))\r\n );\r\n }\r\n}\r\n","import { PaymentItem } from './../models/paymentItem';\r\nimport { Commission } from './../models/commission';\r\nimport { CheckProviderData } from './../models/check-provider-data';\r\nimport { ProviderItemInputs } from './../models/provider-item-inputs';\r\nimport { ProviderInfo } from './../models/provider-info';\r\nimport { QueryResult } from './../models/query-result';\r\nimport { ProviderInput } from './../models/provider-input';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\nimport { actionUrl, handleError, getHeaders } from '../util/common';\r\nimport { Provider } from '../models/provider';\r\nimport { ProviderDetails } from '../models/provider-details';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProvidersService {\r\n constructor(private http: HttpClient) { }\r\n\r\n private providerDetail: ProviderDetails;\r\n private providerItemInputs: ProviderItemInputs[];\r\n private currency: string;\r\n private sessionData: ProviderItemInputs;\r\n\r\n public getProviders(id: string | null): Observable {\r\n const url = `${actionUrl}/getProviders`\r\n return this.http.post(url, { 'PaymentProviderGroupGUID': id }, getHeaders(true)).pipe(\r\n map(provider => provider),\r\n catchError(handleError(`id = ${id} not found`))\r\n );\r\n }\r\n\r\n public getProviderInputs(id: string): Observable {\r\n const url = `${actionUrl}/GetProviderInputs`\r\n return this.http.post(url, { 'ProviderGUID': id }, getHeaders(true)).pipe(\r\n map(providerInput => providerInput),\r\n catchError(handleError(`id = ${id} not found`))\r\n );\r\n }\r\n\r\n public getProviderInfo(id: string): Observable {\r\n const url = `${actionUrl}/GetProviderInfo/?guid=${id}`\r\n return this.http.get(url, getHeaders(true)).pipe(\r\n map(providerInfo => providerInfo),\r\n catchError(handleError(`id = ${id} not found`))\r\n );\r\n }\r\n\r\n public checkProviderItemInputs(providerItemInputs: ProviderItemInputs[]): Observable {\r\n const url = `${actionUrl}/CheckProviderItemInputs`;\r\n return this.http.post(url, { 'Items': providerItemInputs }, getHeaders(true)).pipe(\r\n map(providerDetails => {\r\n this.providerDetail = providerDetails;\r\n this.providerItemInputs = providerItemInputs;\r\n this.sessionData = providerDetails.SessionData ? new ProviderItemInputs(providerDetails.SessionData[0][0], providerDetails.SessionData[0][1]) : null;\r\n return providerDetails;\r\n }),\r\n catchError(handleError(` not found`))\r\n );\r\n }\r\n\r\n public getCommissions(id: string, currency: string): Observable {\r\n const url = `${actionUrl}/GetCommissions`\r\n return this.http.post(url, {\r\n ProviderGUID: id,\r\n Currency: currency\r\n }, getHeaders(true)).pipe(\r\n map(commission => commission),\r\n catchError(handleError(`id = ${id} not found`))\r\n );\r\n }\r\n\r\n public getItem(id: string): Observable {\r\n const url = `https://publicservice.evoca.am/api/CustomPayment/GetItem/${id}`\r\n return this.http.get(url, getHeaders(false)).pipe(\r\n map(paymentItem => paymentItem),\r\n catchError(handleError(`id = ${id} not found`))\r\n );\r\n }\r\n\r\n public setCurrency(currency: string) {\r\n this.currency = currency;\r\n }\r\n\r\n public getCurrency() {\r\n return this.currency;\r\n }\r\n\r\n public getProviderDetails(): CheckProviderData {\r\n return new CheckProviderData(this.providerDetail, this.providerItemInputs);\r\n }\r\n\r\n public getSessionData(): ProviderItemInputs {\r\n return this.sessionData;\r\n }\r\n}\r\n","import { RedirectComponent } from './components/redirect/redirect.component';\r\nimport { ReceiptComponent } from './components/receipt/receipt.component';\r\nimport { CheckProviderComponent } from './components/check-provider/check-provider.component';\r\nimport { ChooseAbonentComponent } from './components/choose-abonent/choose-abonent.component';\r\nimport { NotFoundComponent } from './components/not-found/not-found.component';\r\nimport { ProviderComponent } from './components/provider/provider/provider.component';\r\nimport { ProvidersHomeComponent } from './components/provider/providers-home/providers-home.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule, UrlMatcher } from '@angular/router';\r\nimport { BasketComponent } from './components/basket/basket.component';\r\nimport { HistoryComponent } from './components/history/history.component';\r\nimport { Language } from './util/lang';\r\n\r\n\r\nconst lang = Language.getCurrentLang();\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: `${lang}/providers`, pathMatch: 'full' },\r\n { path: `providers`, redirectTo: `hy/providers` },\r\n { path: `:lang/providers`, component: ProvidersHomeComponent },\r\n { path: `providers/:id`, redirectTo: `hy/providers/:id` },\r\n { path: `:lang/providers/:id`, component: ProvidersHomeComponent },\r\n { path: `provider/:id`, redirectTo: `hy/provider/:id` },\r\n { path: `:lang/provider/:id`, component: ProviderComponent },\r\n { path: `chooseabonent/:id`, redirectTo: `hy/chooseabonent/:id` },\r\n { path: `:lang/chooseabonent/:id`, component: ChooseAbonentComponent },\r\n { path: `prepayment/:id`,redirectTo: `hy/prepayment/:id` },\r\n { path: `:lang/prepayment/:id`, component: CheckProviderComponent },\r\n { path: `pay/:id`, redirectTo: `hy/pay/:id`},\r\n { path: `:lang/pay/:id`, component: CheckProviderComponent },\r\n { path: `redirect/:id`, redirectTo:`hy/redirect/:id` },\r\n { path: `:lang/redirect/:id`, component: RedirectComponent },\r\n { path: `paymenthistory`, redirectTo:`hy/paymenthistory`},\r\n { path: `:lang/paymenthistory`, component: HistoryComponent },\r\n { path: `receipt/:id`, redirectTo:`hy/receipt/:id`},\r\n { path: `:lang/receipt/:id`, component: ReceiptComponent },\r\n { path: `:lang/notfound`, component: NotFoundComponent },\r\n { path: '**', redirectTo: `hy/notfound` }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { ProviderItemInputs } from './provider-item-inputs';\r\nexport class CartItem {\r\n public amount: string;\r\n public commission: number;\r\n public currency: string;\r\n public paymentProviderGUID: string;\r\n public paymentProviderInputs: ProviderItemInputs[];\r\n\r\n constructor(amount: string, commission: number, currency: string, paymentProviderGUID: string, paymentProviderInputs: ProviderItemInputs[]) {\r\n this.amount = amount;\r\n this.commission = commission;\r\n this.currency = currency;\r\n this.paymentProviderGUID = paymentProviderGUID;\r\n this.paymentProviderInputs = paymentProviderInputs;\r\n }\r\n}","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","import { async } from '@angular/core/testing';\r\nimport * as uuid from 'uuid';\r\n\r\nfunction createUUID(): string {\r\n return uuid.v4();\r\n}\r\n\r\nexport function detectUser(): void {\r\n let userId = localStorage.getItem('userId');\r\n if (!userId) {\r\n setUserId();\r\n }\r\n}\r\n\r\nexport function getUserId(): string {\r\n return localStorage.getItem('userId');\r\n}\r\n\r\nexport function setUserId(): void {\r\n localStorage.setItem('userId', createUUID())\r\n}","import { Receipt } from './../../models/receipt';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { PaymentService } from 'src/app/services/payment.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { faPrint, IconDefinition, faArrowLeft, faEnvelope } from '@fortawesome/free-solid-svg-icons';\r\nimport { Location } from '@angular/common';\r\nimport { downloadPdf } from 'src/app/util/tools';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { checkFormat } from \"../../util/tools\"\r\nimport { EMAIL_REGEXP } from 'src/app/util/constants';\r\n\r\n\r\n@Component({\r\n selector: 'app-receipt',\r\n templateUrl: './receipt.component.html',\r\n styleUrls: ['./receipt.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ReceiptComponent implements OnInit {\r\n\r\n public receipt: Receipt;\r\n public printIcon: IconDefinition = faPrint;\r\n public backIcon: IconDefinition = faArrowLeft;\r\n public sendMailIcon: IconDefinition = faEnvelope;\r\n public form: FormGroup;\r\n public emailWrongFormat: boolean;\r\n public userEmail: string;\r\n public emailSuccess: boolean;\r\n public guid: string;\r\n\r\n constructor(public paymentService: PaymentService, private router: Router, private activatedRoute: ActivatedRoute, public location: Location) { }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.params.subscribe((params) => {\r\n const { id } = params;\r\n this.guid = id;\r\n this.getItemReceipt(id);\r\n });\r\n this.createEmailForm();\r\n }\r\n\r\n public createEmailForm(): void {\r\n this.form = new FormGroup({\r\n email: new FormControl()\r\n });\r\n }\r\n\r\n public validateEmail(value: string): void {\r\n const emailRegex = EMAIL_REGEXP;\r\n this.emailWrongFormat = checkFormat(value, emailRegex);\r\n }\r\n\r\n onKeyUp(event) {\r\n const { value } = event.target;\r\n this.validateEmail(value);\r\n }\r\n\r\n public onSubmit() {\r\n const { email } = this.form.getRawValue();\r\n this.validateEmail(email);\r\n if (!this.emailWrongFormat) {\r\n this.paymentService.sendReceiptToEmail(this.guid, email).subscribe(response => {\r\n const { IsSuccess } = response[0];\r\n this.emailSuccess = !(response instanceof HttpErrorResponse || !IsSuccess);\r\n this.userEmail = email;\r\n });\r\n }\r\n }\r\n\r\n public print(): void {\r\n const { PDF } = this.receipt;\r\n downloadPdf(PDF, 'Receipt');\r\n }\r\n\r\n public back(): void {\r\n this.location.back();\r\n }\r\n\r\n public getItemReceipt(id: string): void {\r\n this.paymentService.getItemReceipt(id).subscribe(response => {\r\n if (response instanceof HttpErrorResponse) {\r\n this.router.navigate(['notfound']);\r\n } else {\r\n this.receipt = response[0];\r\n }\r\n })\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","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 = \"zn8P\";"]}