webservices.factory('modelConfigurationService', ['$http', 'apiConfig', function ($http, apiConfig) { 'use strict'; return { getModelList: function (OrgID, listQueryCondition) { return $http.post('/modelConfiguration/getModelList', { OrgID: OrgID, ListQueryCondition: listQueryCondition }, apiConfig.create()); }, getModelListByIndustry: function (serviceTypeID, industryID) { return $http.get('/modelConfiguration/model/byIndustry/' + serviceTypeID + '/' + industryID, apiConfig.create()); }, getModelSingle: function (orgID, modelId, categoryId) { return $http.post('/modelConfiguration/getModelSingle', { OrgID: orgID, ModelID: modelId, CategoryID: categoryId }, apiConfig.create()); }, addModel: function (modelProfile) { return $http.post('/modelConfiguration/addModel', modelProfile, apiConfig.create()); }, updateModel: function (modelProfile) { return $http.post('/modelConfiguration/updateModel', modelProfile, apiConfig.create()); }, getModelResult: function (projectId, serviceTypeId, period) { return $http.post('/modelConfiguration/getModelResult', { projectId: projectId, serviceTypeId: serviceTypeId, period: period }, apiConfig.create({ ignoreLoadingBar: true })); }, migrateModelResult: function (project) { return $http.post('/modelConfiguration/migrateModelResult', project, apiConfig.create({ ignoreLoadingBar: true })); }, resetOrgModelSetting: function (modelId, orgId) { return $http.get('/modelConfiguration/resetOrgModelSetting?modelId=' + modelId + '&orgId=' + orgId, apiConfig.create()); }, getModelDefaultSetting: function (orgID, modelId, categoryId) { return $http.post('/modelConfiguration/getModelDefaultSetting', { OrgID: orgID, ModelID: modelId, CategoryID: categoryId }, apiConfig.create()); }, getIndustry: function (orgId) { return $http.get('/modelConfiguration/getIndustry?orgId=' + orgId, apiConfig.create()); }, updateCategory: function (categoryMto) { return $http.post('/modelConfiguration/updateCategory', categoryMto, apiConfig.create()); }, updateModelConfig: function (modelID, oldCategoryID, newCategoryID) { return $http.post('/modelConfiguration/updateModelConfig', { OrgID: newCategoryID, ModelID: modelID, CategoryID: oldCategoryID }, apiConfig.create()); }, updateCategoryWhenMove: function (id, oldCategoryID, newCategoryID, sortCurrent) { return $http.post('/modelConfiguration/updateCategoryWhenMove', { OrgID: newCategoryID, ModelID: id, CategoryID: oldCategoryID, SortCurrent: sortCurrent }, apiConfig.create()); }, deleteCategory: function (id, orgId) { return $http.get('/modelConfiguration/deleteCategory?id=' + id + '&orgId=' + orgId, apiConfig.create()); }, deleteModel: function (modelId) { return $http.get('/modelConfiguration/deleteModel?modelId=' + modelId, apiConfig.create()); }, deleteModelBackFill: function (id) { return $http.get('/modelConfiguration/deleteModelBackFill?id=' + id, apiConfig.create()); }, uniqueModelName: function (modelName, modelId, orgId, isAdd) { return $http.get('/modelConfiguration/uniqueModelName?modelName=' + modelName + '&modelId=' + modelId + '&orgId=' + orgId + '&isAdd=' + isAdd, apiConfig.create()); }, uniqueCategoryName: function (categoryName, orgId, modelId) { return $http.get('/modelConfiguration/uniqueCategoryName?categoryName=' + categoryName + '&orgId=' + orgId + '&modelId=' + modelId, apiConfig.create()); }, deleteModelResult: function () { return $http.get('/modelConfiguration/deleteModelResult', apiConfig.create()); }, getProject: function (orgID) { return $http.get('/modelConfiguration/getProject?orgID=' + orgID, apiConfig.create()); }, getServiceList: function (orgId, modelId, isAdd) { return $http.get('/modelConfiguration/getServiceList?orgId=' + orgId + '&modelId=' + modelId + '&isAdd=' + isAdd, apiConfig.create()); }, getModelPreviewResult: function (modelProfile, project) { var parmDto = { OrgID: project[0].id, Project: project, ModelProfile: modelProfile }; return $http.post('/modelConfiguration/getModelPreviewResult', parmDto, apiConfig.create({ dbName: project[0].dbName })); }, getModelCategoryString: function (orgId, modelCategoryId) { return $http.get('/modelConfiguration/getModelCategoryString?orgId=' + orgId + '&modelCategoryId=' + modelCategoryId, apiConfig.create()); }, getModelCategory: function (organizationId, industryId, serviceTypeId) { return $http.get('/modelConfiguration/getModelCategory?organizationId=' + organizationId + '&industryId=' + industryId + '&serviceTypeId=' + serviceTypeId, apiConfig.create()); }, getIndexModelResultByCategory: function (categoryId, serviceTypeId, organizationId, industryId) { return $http.get('/modelConfiguration/getIndexModelResultByCategory?categoryId=' + categoryId + '&serviceTypeId=' + serviceTypeId + '&organizationId=' + organizationId + '&industryId=' + industryId, apiConfig.create()); }, getEntriesModelResultByCategory: function (categoryId, serviceTypeId, organizationId, industryId, periodFrom, periodTo) { return $http.get('/modelConfiguration/getEntriesModelResultByCategory?categoryId=' + categoryId + '&serviceTypeId=' + serviceTypeId + '&organizationId=' + organizationId + '&industryId=' + industryId + '&periodFrom=' + periodFrom + '&periodTo=' + periodTo, apiConfig.create()); }, getEntriesModelResultDetail: function (modelId, serviceTypeId, type, periodFrom, periodTo, pagingInfo, isShowFilter, preview) { var pageIndex = 0; var pageSize = 0; if (pagingInfo != null) { pageIndex = pagingInfo.pageIndex; pageSize = pagingInfo.pageSize } return $http.get('/modelConfiguration/getEntriesModelResultDetail?modelId=' + modelId + '&serviceTypeId=' + serviceTypeId + '&type=' + type + '&periodFrom=' + periodFrom + '&periodTo=' + periodTo + '&pageIndex=' + pageIndex + '&pageSize=' + pageSize + '&isShowFilter=' + isShowFilter + '&preview=' + preview, apiConfig.create()); }, getEntriesModelResultDetailByVoucher: function (modelId, serviceTypeId, type, periodFrom, periodTo, pagingInfo, isShowFilter) { var pageIndex = 0; var pageSize = 0; if (pagingInfo != null) { pageIndex = pagingInfo.pageIndex; pageSize = pagingInfo.pageSize; } return $http.get('/modelConfiguration/getEntriesModelResultDetailByVoucher?modelId=' + modelId + '&serviceTypeId=' + serviceTypeId + '&type=' + type + '&periodFrom=' + periodFrom + '&periodTo=' + periodTo + '&pageIndex=' + pageIndex + '&pageSize=' + pageSize + '&isShowFilter=' + isShowFilter, apiConfig.create()); }, getEntriesByVoucher: function (modelId, serviceTypeId, type, periodFrom, periodTo, period, vid, group, isShowFilter) { return $http.get('/modelConfiguration/GetEntriesByVoucher?modelId=' + modelId + '&serviceTypeId=' + serviceTypeId + '&type=' + type + '&periodFrom=' + periodFrom + '&periodTo=' + periodTo + '&period=' + period + '&vid=' + vid + '&group=' + group + '&isShowFilter=' + isShowFilter, apiConfig.create()); }, updateEntriesFiter: function (entriesDto) { return $http.post('/modelConfiguration/updateEntriesFiter', entriesDto, apiConfig.create()); }, getGL: function (resultId, fromPeriod, toPeriod) { return $http.get('/modelConfiguration/getGL?resultId=' + resultId + '&fromPeriod=' + fromPeriod + '&toPeriod=' + toPeriod, apiConfig.create()); }, projectHasDirtyData: function (projectID, serviceTypeID) { return $http.get('/modelConfiguration/projectHasDirtyData/' + projectID + '/' + serviceTypeID, apiConfig.create()); }, updateProjectModelDirtyDataSingleCard: function (projectID, serviceTypeID) { return $http.get('/modelConfiguration/updateProjectModelDirtyDataSingleCard/' + projectID + '/' + serviceTypeID, apiConfig.create()); }, organizationsHasDirtyData: function (organizationIDs, year, serviceTypeID) { return $http.post('/modelConfiguration/organizationsHasDirtyData', { OrganizationIDs: organizationIDs, Year: year, ServiceTypeID: serviceTypeID }, apiConfig.create()); }, updateOrganizationsModelDirtyData: function (organizationIDs, year, serviceTypeID) { return $http.post('/modelConfiguration/updateOrganizationsModelDirtyData', { OrganizationIDs: organizationIDs, Year: year, ServiceTypeID: serviceTypeID }, apiConfig.create({ ignoreLoadingBar: true })); }, getEntriesModelResultDetailCount: function (modelId, serviceTypeId, type, periodFrom, periodTo, isEntriesShow) { return $http.get('/modelConfiguration/getEntriesModelResultDetailCount?modelId=' + modelId + '&serviceTypeId=' + serviceTypeId + '&type=' + type + '&periodFrom=' + periodFrom + '&periodTo=' + periodTo + '&isEntriesShow=' + isEntriesShow, apiConfig.create()); }, getIndexModelResultByCellInfo: function (model) { return $http.post('/modelConfiguration/getIndexModelResultByCellInfo', model, apiConfig.create()); }, getEntriesModelResultByCellInfo: function (modelIdList) { return $http.post('/modelConfiguration/getEntriesModelResultByCellInfo', modelIdList, apiConfig.create()); }, modelBackFill: function (model) { return $http.post('/modelConfiguration/modelBackFill', model, apiConfig.create()); }, getOutputModelResult: function (modelFeature, project, periodFrom, periodTo, fileName,sheetNames) { return $http.post('/modelConfiguration/getOutputModelResult', { ModelFeature: modelFeature, Project: project, PeriodFrom: periodFrom, PeriodTo: periodTo, FileName: fileName, SheetNames: sheetNames }, apiConfig.create({ responseType: 'arraybuffer' })); }}; }]);