{"version":3,"file":"forexCreateCtrl.js","sourceRoot":"","sources":["../../../../src/modules/controllers/forex/forexCreateCtrl.ts"],"names":[],"mappings":"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","sourcesContent":["module controllers {\r\n export module forex {\r\n\r\n interface IForexCreateScope extends ng.IScope {\r\n }\r\n\r\n interface IForexCreateParams extends ng.ui.IStateParamsService {\r\n }\r\n\r\n export class forexCreateCtrl {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n '$rootScope',\r\n 'generalService',\r\n '$q',\r\n '$anchorScroll',\r\n '$uibModal',\r\n 'bsLoadingOverlayService',\r\n '$stateParams',\r\n 'entityService',\r\n '$state',\r\n '$timeout',\r\n '$transitions',\r\n 'classificationValueService',\r\n 'documentRepositoryService',\r\n 'lookupService',\r\n \"supplierService\",\r\n \"localeService\",\r\n 'forexService',\r\n \"customerService\",\r\n \"paymentMethodService\",\r\n \"counterService\",\r\n 'currencyService',\r\n 'bankService'\r\n ];\r\n\r\n breadCrumbDesc: string;\r\n selectedTab: number = 0;\r\n\r\n disableForexTab: boolean = false;\r\n disableAllocationTab: boolean = false;\r\n\r\n fecId: number = 0;\r\n\r\n ownerEntityId: number = 0;\r\n entityList: Array;\r\n\r\n loadPromises: ng.IPromise[];\r\n\r\n forexCounterId: number = 0;\r\n forexCounterList: Array;\r\n isCustomForexNumber: boolean = false;\r\n forexCounterNumber: string = \"\";\r\n\r\n createForexDefault : interfaces.forex.IForexCreateDefaults;\r\n\r\n typeModel: interfaces.applicationcore.IDropdownModel;\r\n forexContractTypeModel : interfaces.applicationcore.IDropdownModel;\r\n bankModel : interfaces.applicationcore.IDropdownModel;\r\n maturityTypeModel: interfaces.applicationcore.IDropdownModel;\r\n \r\n ContractAmount: number = 0;\r\n AmountAllocated: number = 0;\r\n AmountUnallocated: number = 0;\r\n\r\n currencyModel: interfaces.applicationcore.IDropdownModel;\r\n maturityStartDate: moment.Moment;\r\n maturityEndDate: moment.Moment;\r\n\r\n maturityTypeModelList: interfaces.applicationcore.IDropdownModel[] = [];\r\n\r\n maturityStartDateOpen: boolean = false;\r\n maturityEndDateOpen: boolean = false;\r\n \r\n disableAllocations: boolean = false;\r\n\r\n IsLoading: boolean = false;\r\n\r\n ShowAllocationsGrid: boolean = false;\r\n\r\n AllocationList: interfaces.forex.IForexAllocation[] = [];\r\n selectedAllocation : uiGrid.IGridRow;\r\n selectedAllocationEntity: interfaces.forex.IForexAllocation;\r\n selectedRowIndex: number = 0;\r\n\r\n apiAllocationList: uiGrid.IGridApi;\r\n\r\n DisableNextButton: boolean = false;\r\n\r\n\r\n constructor(\r\n private $scope: IForexCreateScope,\r\n private $rootScope: interfaces.applicationcore.IRootScope,\r\n private generalService: interfaces.applicationcore.IGeneralService,\r\n private $q: ng.IQService,\r\n private $anchorScroll: ng.IAnchorScrollService,\r\n private $uibModal: ng.ui.bootstrap.IModalService,\r\n private bsLoadingOverlayService,\r\n private $stateParams: IForexCreateParams,\r\n private entityService: interfaces.applicationcore.IEntityService,\r\n private $state: ng.ui.IStateService,\r\n private $timeout: ng.ITimeoutService,\r\n public $transitions: ng.ui.core.ITransition,\r\n private classificationValueService: interfaces.applicationcore.IClassificationValueService,\r\n public documentRepositoryService: interfaces.documentManagement.IDocumentRepositoryService,\r\n public lookupService: interfaces.applicationcore.ILookupService,\r\n private supplierService: interfaces.master.ISupplierService,\r\n private localeService: interfaces.applicationcore.ILocaleService,\r\n private forexService: interfaces.forex.IForexService,\r\n private customerService: interfaces.master.ICustomerService,\r\n public paymentMethodService: services.master.paymentMethodService,\r\n private counterService: interfaces.master.ICounterService,\r\n private currencyService: interfaces.applicationcore.ICurrencyService,\r\n public bankService: interfaces.master.IBankService,\r\n ) {\r\n\r\n this.breadCrumbDesc = \"Create Forex Contract\";\r\n\r\n //Get Entities Data\r\n this.loadPromises = [];\r\n\r\n //We need to load the Entities and the Current Entity First\r\n //Current Entity can be either the active Entity the user is working on --> New Payment\r\n //OR Current Entity will be the OwnerEntity of the Payment --> Existing Payment\r\n\r\n this.loadPromises.push(this.loadEntities());\r\n this.loadPromises.push(this.getCurrentEntity());\r\n\r\n\r\n bsLoadingOverlayService.wrap({\r\n referenceId: 'create.payment'\r\n }, () => {\r\n return $q.all(this.loadPromises).then((data) => {\r\n //Now we can load the rest of the Controls, after determining which is the CurrentEntity\r\n\r\n this.loadControls();\r\n });\r\n });\r\n\r\n\r\n }\r\n\r\n GetEnabled(){\r\n\r\n\r\n var valid : boolean = !!(this.ownerEntityId && this.typeModel && this.currencyModel && this.bankModel && this.ContractAmount)\r\n\r\n\r\n if (!this.typeModel)\r\n {\r\n valid = false;\r\n return valid;\r\n }\r\n \r\n\r\n\r\n if (this.typeModel.Id === 466 || this.typeModel.Id === 467)\r\n valid = valid && !!this.forexContractTypeModel && !!this.maturityTypeModel\r\n\r\n if (this.isCustomForexNumber && this.forexCounterNumber === \"\")\r\n valid = false;\r\n\r\n if (!this.isCustomForexNumber && this.forexCounterId===0)\r\n valid = false;\r\n \r\n return valid; \r\n }\r\n\r\n loadControls() {\r\n\r\n this.loadPromises = [];\r\n\r\n\r\n this.loadPromises.push(this.loadForexCounter());\r\n this.loadPromises.push(this.loadMaturityTypes());\r\n\r\n\r\n this.bsLoadingOverlayService.wrap({\r\n referenceId: 'create.payment'\r\n }, () => {\r\n return this.$q.all(this.loadPromises).then((data) => {\r\n //Now we can load the defaults AFTER all the dropdowns have been loaded\r\n\r\n\r\n });\r\n });\r\n\r\n }\r\n\r\n loadForexCounter() {\r\n\r\n let deferred = this.$q.defer();\r\n\r\n if (this.ownerEntityId) {\r\n\r\n this.counterService.getDropdownList().query({\r\n ownerEntityId: this.ownerEntityId,\r\n counterTypeId: Enum.EnumCounterTypes.ForexContract,\r\n }, (result: ng.resource.IResourceArray) => {\r\n\r\n this.forexCounterList = result;\r\n\r\n angular.forEach(result, (o) => {\r\n if (o.Selected) {\r\n this.forexCounterId = o.Id;\r\n }\r\n });\r\n\r\n deferred.resolve(true);\r\n\r\n }, (failureData) => {\r\n this.generalService.displayMessageHandler(failureData.data);\r\n deferred.resolve(true);\r\n })\r\n } else {\r\n deferred.resolve(true);\r\n }\r\n\r\n return deferred.promise;\r\n }\r\n\r\n forexTabSelected() {\r\n\r\n }\r\n\r\n allocationTabSelected(){\r\n this.ShowAllocationsGrid=true;\r\n\r\n if (this.typeModel.Id === 466)\r\n {\r\n this.gvwAllocations.columnDefs[4].visible = true;\r\n this.gvwAllocations.columnDefs[5].visible = false;\r\n }\r\n else if (this.typeModel.Id === 467)\r\n {\r\n this.gvwAllocations.columnDefs[4].visible = false;\r\n this.gvwAllocations.columnDefs[5].visible = true;\r\n }\r\n else\r\n {\r\n this.gvwAllocations.columnDefs[3].visible = false;\r\n this.gvwAllocations.columnDefs[4].visible = false;\r\n this.gvwAllocations.columnDefs[5].visible = false;\r\n }\r\n\r\n this.recalculateBalances();\r\n\r\n }\r\n\r\n ownerEntityChanged() {\r\n\r\n }\r\n\r\n getCreateForexDefaults(){\r\n\r\n return this.forexService.GetCreateForexDefaults(this.ownerEntityId).get((data: interfaces.forex.IForexCreateDefaults) => {\r\n this.createForexDefault = data;\r\n\r\n if (this.typeModel.Id === 466)\r\n {\r\n this.forexContractTypeModel = this.createForexDefault.ImportTransactionType? this.createForexDefault.ImportTransactionType : undefined;\r\n }\r\n\r\n if (this.typeModel.Id === 467)\r\n {\r\n this.forexContractTypeModel = this.createForexDefault.ExportTransactionType? this.createForexDefault.ExportTransactionType : undefined;\r\n } \r\n \r\n this.contractTypeChanged(this.forexContractTypeModel);\r\n\r\n this.currencyModel = this.createForexDefault.Currency ? this.createForexDefault.Currency : undefined;\r\n this.bankModel = this.createForexDefault.Bank? this.createForexDefault.Bank : undefined;\r\n\r\n }, (errorResponse) => {\r\n this.generalService.displayMessageHandler(errorResponse.data);\r\n }).$promise\r\n }\r\n\r\n loadContractTypes(){\r\n return this.classificationValueService.GetClassificationValueDropdownByClassification().query({\r\n classificationId: Enum.ClassificationEnum.ForexContractType\r\n }, (resultList) => {\r\n \r\n }).$promise;\r\n }\r\n\r\n loadMaturityTypes(){\r\n return this.classificationValueService.GetClassificationValueDropdownByClassification().query({\r\n classificationId: Enum.ClassificationEnum.ForexContactMaturity\r\n }, (resultList) => {\r\n this.maturityTypeModelList = resultList;\r\n }).$promise;\r\n }\r\n\r\n\r\n loadBanks() {\r\n return this.bankService.getDropdownList(this.ownerEntityId, \"\").query({\r\n }, (resultList) => {\r\n }).$promise;\r\n }\r\n\r\n\r\n loadTypes() {\r\n return this.classificationValueService.GetClassificationValueDropdownByClassification().query({\r\n classificationId: Enum.ClassificationEnum.FECType\r\n }, (resultList) => {\r\n \r\n }).$promise;\r\n }\r\n\r\n loadCurrencies() {\r\n return this.currencyService.getCurrencyDropdownList().query(() => {\r\n }, (errorResponse) => {\r\n this.generalService.displayMessageHandler(errorResponse.data);\r\n }).$promise;\r\n }\r\n\r\n customForexCounterChanged(){\r\n this.forexCounterNumber = '';\r\n if (this.isCustomForexNumber)\r\n {\r\n this.forexCounterId = 0; \r\n }\r\n else\r\n {\r\n\r\n }\r\n }\r\n\r\n\r\n typeChanged(typeModel: interfaces.applicationcore.IDropdownModel)\r\n {\r\n this.typeModel = typeModel;\r\n if (this.typeModel.Id === 613){\r\n this.forexContractTypeModel = null; \r\n this.maturityTypeModel = null; \r\n }\r\n\r\n this.bsLoadingOverlayService.wrap({\r\n referenceId: 'create.forex'\r\n }, () => {\r\n return this.getCreateForexDefaults();\r\n });\r\n }\r\n\r\n contractTypeChanged(forexContractTypeModel: interfaces.applicationcore.IDropdownModel){\r\n if (forexContractTypeModel){\r\n this.forexContractTypeModel = forexContractTypeModel;\r\n\r\n if (this.forexContractTypeModel.Id == 415)\r\n {\r\n //Maturity Type = Date = 418\r\n var maturity = this.maturityTypeModelList.filter(x => x.Id == 418)[0];\r\n this.maturityTypeModel = maturity;\r\n }\r\n\r\n if (this.forexContractTypeModel.Id == 416)\r\n {\r\n //Maturity Type = Any Date Between = 419\r\n var maturity = this.maturityTypeModelList.filter(x => x.Id == 419)[0];\r\n this.maturityTypeModel = maturity;\r\n }\r\n \r\n if (this.forexContractTypeModel.Id == 417)\r\n {\r\n //Maturity Type = At Any Date Up To = 420\r\n var maturity = this.maturityTypeModelList.filter(x => x.Id == 420)[0];\r\n this.maturityTypeModel = maturity;\r\n } \r\n\r\n }\r\n }\r\n\r\n loadEntities() {\r\n\r\n let deferred = this.$q.defer();\r\n\r\n this.entityService.getList().query((successList) => {\r\n this.entityList = successList;\r\n deferred.resolve(true);\r\n }, (failureData) => {\r\n this.generalService.displayMessageHandler(failureData.data);\r\n deferred.resolve(true);\r\n });\r\n\r\n return deferred.promise;\r\n }\r\n\r\n getCurrentEntity(): ng.IPromise {\r\n let deferred = this.$q.defer();\r\n\r\n //default the CurrentEntity and all other controls from there\r\n\r\n this.entityService.getCurrentEntity().query((result: interfaces.applicationcore.IEntity) => {\r\n this.ownerEntityId = result.Id;\r\n\r\n deferred.resolve(true);\r\n }, (failureData) => {\r\n this.generalService.displayMessageHandler(failureData.data);\r\n deferred.resolve(true);\r\n });\r\n\r\n return deferred.promise;\r\n }\r\n\r\n close(){\r\n this.$state.go(\"^\");\r\n }\r\n\r\n submitForex(){\r\n this.disableAllocations = true;\r\n this.IsLoading = true;\r\n\r\n var forexAllocationList : interfaces.forex.IForexAllocation[] = [];\r\n\r\n var forexAllocationLines : interfaces.forex.IForexAllocationLines = {\r\n forexAllocationList :[]\r\n };\r\n\r\n forexAllocationLines.forexAllocationList = this.AllocationList;\r\n\r\n this.bsLoadingOverlayService.wrap({\r\n referenceId: 'create.payment'\r\n }, () => {\r\n return this.CreateForex(forexAllocationLines);\r\n });\r\n\r\n\r\n }\r\n\r\n CreateForex(forexAllocationLines : interfaces.forex.IForexAllocationLines){\r\n\r\n var forexCreateParamas : interfaces.forex.IForexCreateParams = {\r\n ownerEntityId : this.ownerEntityId,\r\n typeId : this.typeModel.Id,\r\n currencyId : this.currencyModel.Id,\r\n forexContractTypeId : this.forexContractTypeModel? this.forexContractTypeModel.Id: 614,\r\n bankId : this.bankModel.Id,\r\n maturityTypeId: this.maturityTypeModel? this.maturityTypeModel.Id : null,\r\n Amount : this.ContractAmount,\r\n forexCounterId : this.forexCounterId ? this.forexCounterId : 0,\r\n customForexNumber: this.forexCounterNumber ? this.forexCounterNumber : \"\",\r\n maturityStartDate : this.maturityStartDate,\r\n maturityEndDate: this.maturityEndDate,\r\n forexAllocationList: forexAllocationLines.forexAllocationList\r\n };\r\n\r\n return this.forexService.createForexContract().save(forexCreateParamas, (result) => {\r\n\r\n this.generalService.displayMessageHandler(result);\r\n\r\n this.IsLoading = false;\r\n\r\n if (!result.HasErrorMessage) { \r\n this.$state.go(\"auth.Forex.Update\", { fecId: Number(result.ID) });\r\n }\r\n\r\n }, (reponseError) => {\r\n this.generalService.displayMessageHandler(reponseError.data);\r\n\r\n this.IsLoading = false;\r\n\r\n }).$promise;\r\n }\r\n\r\n\r\n registerGridApi(gridApi: uiGrid.IGridApi) {\r\n \r\n this.apiAllocationList = gridApi;\r\n this.apiAllocationList.selection.on.rowSelectionChanged(this.$scope, (selected) => {\r\n this.selectedAllocation = selected;\r\n\r\n this.DisableNextButton = false;\r\n\r\n if (this.apiAllocationList.selection.getSelectedRows().length === 0) {\r\n this.DisableNextButton = true;\r\n }\r\n else\r\n {\r\n this.DisableNextButton = false;\r\n }\r\n });\r\n\r\n this.$timeout(() => {\r\n if (this.selectedAllocation)\r\n this.apiAllocationList.selection.selectRow(this.selectedAllocation.entity);\r\n });\r\n }\r\n\r\n\r\n gvwAllocations: uiGrid.IGridOptions = {\r\n data: this.AllocationList,\r\n enableFiltering: true,\r\n useExternalFiltering: false,\r\n enableCellEdit: false,\r\n useExternalSorting: false,\r\n multiSelect: true,\r\n enableColumnResizing: true,\r\n enableRowSelection: true,\r\n enableFullRowSelection: true,\r\n paginationPageSizes: [25, 50, 75, 100],\r\n paginationPageSize: 25,\r\n useExternalPagination: false,\r\n enableRowHeaderSelection: true,\r\n enableHorizontalScrollbar: 2,\r\n enableVerticalScrollbar: 1,\r\n onRegisterApi: (gridApi) => { this.registerGridApi(gridApi) },\r\n columnDefs: [{\r\n name: \"ID\",\r\n displayName: \"ID\",\r\n field: \"Id\",\r\n visible: false,\r\n enableFiltering: false\r\n },\r\n {\r\n name: \"EDIT\",\r\n displayName: \"\",\r\n enableFiltering: false,\r\n cellTemplate: `\r\n
\r\n \r\n
`,\r\n enableSorting: false,\r\n enableColumnMenu: false,\r\n width: 35,\r\n visible: true\r\n },\r\n {\r\n name: 'Entity',\r\n displayName: 'Entity',\r\n field: 'Entity',\r\n enableCellEditOnFocus: false,\r\n cellTemplate: `
{{MODEL_COL_FIELD.Display}}
`,\r\n enableSorting: false,\r\n enableCellEdit: false,\r\n width: 100\r\n },\r\n {\r\n name: 'Company',\r\n displayName: 'Company',\r\n field: 'Company',\r\n enableCellEditOnFocus: false,\r\n cellTemplate: `
{{MODEL_COL_FIELD.Display}}
`,\r\n enableSorting: false,\r\n enableCellEdit: false,\r\n width: 300\r\n }, \r\n {\r\n name: 'PurchaseOrder',\r\n displayName: 'Purchase Order',\r\n field: 'PurchaseOrder',\r\n enableCellEditOnFocus: false,\r\n cellTemplate: `
{{MODEL_COL_FIELD.Code}}
`,\r\n enableSorting: false,\r\n enableCellEdit: false,\r\n width: 140,\r\n visible: true\r\n }, \r\n {\r\n name: 'SalesOrder',\r\n displayName: 'Sales Order',\r\n field: 'SalesOrder',\r\n enableCellEditOnFocus: false,\r\n cellTemplate: `
{{MODEL_COL_FIELD.Code}}
`,\r\n enableSorting: false,\r\n enableCellEdit: false,\r\n width: 140,\r\n visible: true\r\n },\r\n {\r\n name: \"Amount\",\r\n displayName: \"Amount\",\r\n field: \"Amount\",\r\n width: 180,\r\n cellClass: 'text-right',\r\n cellFilter: 'number: 2',\r\n filterHeaderTemplate: `\r\n
\r\n
\r\n \r\n
\r\n
`\r\n }\r\n ,\r\n {\r\n name: \"Balance\",\r\n displayName: \"Balance\",\r\n field: \"Balance\",\r\n width: 180,\r\n cellClass: 'text-right',\r\n cellFilter: 'number: 2',\r\n filterHeaderTemplate: `\r\n
\r\n
\r\n \r\n
\r\n
`\r\n }, {\r\n name: 'Currency',\r\n displayName: 'Currency',\r\n field: 'Currency',\r\n enableCellEditOnFocus: false,\r\n cellTemplate: `
{{MODEL_COL_FIELD.Code}}
`,\r\n enableSorting: false,\r\n enableCellEdit: false,\r\n width: 100\r\n },]\r\n };\r\n\r\n editForexAllocation(forexAllocation: interfaces.forex.IForexAllocation)\r\n {\r\n \r\n this.selectedAllocationEntity = forexAllocation;\r\n\r\n this.AddAllocation();\r\n }\r\n\r\n recalculateBalances(){\r\n this.AmountAllocated = this.AllocationList\r\n .reduce((sum, current) => sum + current.Amount, 0);\r\n this.AmountUnallocated = this.ContractAmount - this.AmountAllocated;\r\n }\r\n\r\n AddAllocation(){\r\n this.$uibModal.open({\r\n animation: true,\r\n size: \"md\",\r\n template: `

Add Allocation

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

\r\n \r\n {{addNewCtrl.currencyModel.Code}}\r\n

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

\r\n \r\n %\r\n

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

\r\n \r\n {{addNewCtrl.currencyModel.Code}}\r\n

\r\n
\r\n
\r\n of {{addNewCtrl.ContractAmount | number}} {{addNewCtrl.currencyModel.Code}} \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n `,\r\n controller: class addNewCtrl {\r\n \r\n forexAllocation: interfaces.forex.IForexAllocation;\r\n ownerEntityModel: interfaces.applicationcore.IDropdownModel;\r\n supplierModel : interfaces.applicationcore.IDropdownModel;\r\n customerModel : interfaces.applicationcore.IDropdownModel;\r\n salesOrderModel : interfaces.applicationcore.IDropdownModel;\r\n purchaseOrderModel : interfaces.applicationcore.IDropdownModel;\r\n entityList: interfaces.applicationcore.IDropdownModel[];\r\n Amount: number = 0;\r\n Surrendered: number = 0;\r\n Percentage: number = 0;\r\n SaveBtnText : string = \"Add\"\r\n\r\n loadPromises: ng.IPromise[];\r\n\r\n\r\n constructor($scope, private $uibModalInstance: angular.ui.bootstrap.IModalInstanceService,\r\n private countryService: interfaces.applicationcore.ICountryService,\r\n private entityService: interfaces.applicationcore.IEntityService,\r\n private refundSettingService: interfaces.master.IRefundSettingService,\r\n public generalService: interfaces.applicationcore.IGeneralService,\r\n private $rootScope: interfaces.applicationcore.IRootScope,\r\n private $state: ng.ui.IStateService,\r\n private refundClaimTypeService: interfaces.tariff.IRefundClaimTypeService,\r\n private classificationValueService: interfaces.applicationcore.IClassificationValueService,\r\n private supplierService: interfaces.master.ISupplierService,\r\n private customerService: interfaces.master.ICustomerService,\r\n private $q: ng.IQService,\r\n private forexService: interfaces.forex.IForexService,\r\n private forexAllocationUpdate: interfaces.forex.IForexAllocation,\r\n private typeId : number,\r\n private currencyModel: interfaces.applicationcore.IDropdownModel,\r\n private entityId: number,\r\n private ContractAmount: number\r\n ) {\r\n if (this.forexAllocationUpdate){\r\n this.SaveBtnText = \"Save\";\r\n }\r\n this.loadControls();\r\n }\r\n\r\n GetEnabled(){\r\n if (this.typeId === 466) //Purchase\r\n return this.ownerEntityModel && this.supplierModel && this.purchaseOrderModel && this.Amount;\r\n else if (this.typeId === 467)\r\n return this.ownerEntityModel && this.customerModel && this.salesOrderModel && this.Amount;\r\n else\r\n return this.ownerEntityModel && this.Amount;\r\n }\r\n\r\n loadEntities(searchText: string) {\r\n return this.entityService.getDropdownList(searchText).query(\r\n (data: interfaces.applicationcore.IDropdownModel[]) => {\r\n this.entityList = data;\r\n }, (failureData) => {\r\n }).$promise;\r\n }\r\n\r\n ownerEntityChanged(){\r\n this.supplierModel = null;\r\n this.customerModel = null;\r\n this.salesOrderModel = null;\r\n this.purchaseOrderModel = null;\r\n }\r\n\r\n AmountChanged(){\r\n this.Percentage = (this.Amount / this.ContractAmount) * 100\r\n }\r\n\r\n PercentageChanged(){\r\n if (this.Percentage)\r\n {\r\n this.Amount = (this.Percentage/100) * this.ContractAmount;\r\n }\r\n }\r\n\r\n loadControls() {\r\n this.loadPromises = []; \r\n this.loadPromises.push(this.loadEntities('')); \r\n return this.$q.all(this.loadPromises).then((data) => {\r\n //Now we can load the defaults AFTER all the dropdowns have been loaded\r\n this.ownerEntityModel = this.entityList.filter(x => x.Id == this.entityId)[0];\r\n\r\n if (this.forexAllocationUpdate)\r\n {\r\n this.ownerEntityModel = this.forexAllocationUpdate.Entity;\r\n\r\n if (this.typeId === 466)\r\n {\r\n this.supplierModel = this.forexAllocationUpdate.Company;\r\n this.purchaseOrderModel = this.forexAllocationUpdate.PurchaseOrder;\r\n }\r\n else\r\n {\r\n this.customerModel = this.forexAllocationUpdate.Company;\r\n this.salesOrderModel = this.forexAllocationUpdate.SalesOrder;\r\n }\r\n\r\n this.Amount = this.forexAllocationUpdate.Amount; \r\n this.AmountChanged(); \r\n }\r\n }); \r\n }\r\n\r\n loadPurchaseOrders(searchText: string) {\r\n return this.forexService.getPODropdownList().query({\r\n ownerEntityId: this.ownerEntityModel.Id,\r\n supplierId: this.supplierModel.Id,\r\n currencyId: this.currencyModel.Id,\r\n searchText: searchText\r\n }, () => {\r\n \r\n }, (failureData) => {\r\n this.generalService.displayMessageHandler(failureData.data);\r\n }).$promise;\r\n }\r\n\r\n loadSalesOrders(searchText: string) {\r\n return this.forexService.getSODropdownList().query({\r\n ownerEntityId: this.ownerEntityModel.Id,\r\n customerId: this.customerModel.Id,\r\n currencyId: this.currencyModel.Id,\r\n searchText: searchText\r\n }, () => {\r\n \r\n }, (failureData) => {\r\n this.generalService.displayMessageHandler(failureData.data);\r\n }).$promise;\r\n } \r\n\r\n //Load Suppliers\r\n loadSuppliers(searchText: string)\r\n {\r\n if (this.ownerEntityModel) {\r\n return this.supplierService.getSupplierDropdown(this.ownerEntityModel.Id, searchText).query(() => {\r\n \r\n }, (failureData) => {\r\n this.generalService.displayMessageHandler(failureData.data);\r\n }).$promise;\r\n } else {\r\n var defer = this.$q.defer();\r\n defer.resolve([]);\r\n return defer.promise;\r\n }\r\n }\r\n \r\n //Load Customers\r\n loadCustomers(searchText: string) {\r\n if (this.ownerEntityModel) {\r\n return this.customerService.getDropdownList(this.ownerEntityModel.Id, searchText).query(() => {\r\n \r\n }, (failureData) => {\r\n this.generalService.displayMessageHandler(failureData.data);\r\n }).$promise;\r\n } else {\r\n var defer = this.$q.defer();\r\n defer.resolve([]);\r\n return defer.promise;\r\n }\r\n }\r\n \r\n\r\n add() { \r\n this.forexAllocation = { Id: 0,\r\n index: this.forexAllocationUpdate? this.forexAllocationUpdate.index:0,\r\n Entity: this.ownerEntityModel, \r\n Company: this.customerModel?this.customerModel : this.supplierModel,\r\n SalesOrder: this.salesOrderModel,\r\n PurchaseOrder: this.purchaseOrderModel,\r\n Amount: this.Amount,\r\n Balance: this.Amount,\r\n SurrenderedAmount: 0,\r\n Currency: this.currencyModel\r\n }\r\n this.$uibModalInstance.close(this.forexAllocation);\r\n }\r\n\r\n cancel() {\r\n this.$uibModalInstance.close(null);\r\n }\r\n },\r\n controllerAs: \"addNewCtrl\",\r\n resolve: { \r\n forexAllocationUpdate : this.selectedAllocationEntity? this.selectedAllocationEntity: null,\r\n typeId: this.typeModel? this.typeModel.Id : null,\r\n currencyModel: this.currencyModel,\r\n entityId: this.ownerEntityId,\r\n ContractAmount: this.ContractAmount\r\n }\r\n }).result.then((result : interfaces.forex.IForexAllocation) => {\r\n \r\n if (result) {\r\n \r\n if (this.selectedAllocation){\r\n this.selectedAllocation.entity = result; \r\n var alloc = this.AllocationList.filter(x => x.index == result.index)[0];\r\n \r\n alloc.Amount = result.Amount;\r\n alloc.Balance = result.Balance;\r\n alloc.Entity = result.Entity;\r\n alloc.Company = result.Company;\r\n alloc.SalesOrder = result.SalesOrder;\r\n alloc.PurchaseOrder = result.PurchaseOrder;\r\n }\r\n else \r\n {\r\n result.index = this.AllocationList.length;\r\n this.AllocationList.push(result); \r\n }\r\n\r\n\r\n \r\n this.$timeout(() => {\r\n \r\n }); \r\n }\r\n\r\n \r\n this.selectedAllocation = null;\r\n this.selectedAllocationEntity = null;\r\n this.apiAllocationList.selection.clearSelectedRows();\r\n\r\n \r\n\r\n this.$timeout(() => {\r\n if (this.apiAllocationList) {\r\n this.recalculateBalances(); \r\n }\r\n }); \r\n\r\n \r\n\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"app\").controller(\"forexCreateCtrl\", controllers.forex.forexCreateCtrl);\r\n }\r\n}"]}