var mainApp=angular.module("mainApp",["ngRoute","ngResource","ngAnimate","angular-linq","ui.bootstrap","blockUI","ui.router","admin-lte","toastr","ngSanitize","daterangepicker"]);mainApp.config(["$stateProvider","$urlRouterProvider",function(n,t){t.otherwise("/base");n.state("admin",{url:"/admin",templateUrl:"/appviews/adminlayout",controller:"AdminCtrlr"}).state("admin.manageaccount",{url:"/manageaccount",templateUrl:"/appviews/manageaccount",controller:"ManageAccountCtrlr"}).state("admin.audits",{url:"/audits/tenant/:id",templateUrl:"/appviews/audits",controller:"AuditsCtrlr"}).state("admin.invoice",{url:"/invoice",templateUrl:"/appviews/invoice",controller:"InvoiceCtrlr"}).state("admin.invoiceDetails",{url:"/invoice/:id",templateUrl:"/appviews/invoicedetails",controller:"InvoiceDetailsCtrlr"}).state("admin.rcas",{url:"/rcas/tenant/:id",templateUrl:"/appviews/rcas",controller:"RCAsCtrlr"}).state("admin.rcadetails",{url:"/rcas/:id",templateUrl:"/appviews/rcadetails",controller:"RCADetailsCtrlr"}).state("admin.contractors",{url:"/contractors/tenant/:id",templateUrl:"/appviews/contractors",controller:"ContractorsCtrlr"}).state("admin.contractorDetails",{url:"/contractors/:id",templateUrl:"/appviews/contractordetails",controller:"ContractorDetailsCtrlr"}).state("admin.contractorBranch",{url:"/contractors/:id/contractorBranch",templateUrl:"/appviews/contractorbranch",controller:"ContractorBranchCtrlr"}).state("admin.tccs",{url:"/tccs/tenant/:id",templateUrl:"/appviews/tccs",controller:"TccsCtrlr"}).state("admin.tccDetails",{url:"/tccs/:id",templateUrl:"/appviews/tccdetails",controller:"TccDetailsCtrlr"}).state("admin.tccBranch",{url:"/tccs/:id/tccBranch",templateUrl:"/appviews/tccbranch",controller:"TccBranchCtrlr"}).state("admin.assetOwners",{url:"/assetowners/tenant/:id",templateUrl:"/appviews/assetowners",controller:"AssetOwnersCtrlr"}).state("admin.assetOwnerDetails",{url:"/assetowners/:id",templateUrl:"/appviews/assetownerdetails",controller:"AssetOwnerDetailsCtrlr"}).state("admin.assetOwnerBranch",{url:"/assetowners/:id/assetownerBranch",templateUrl:"/appviews/assetownerbranch",controller:"AssetOwnerBranchCtrlr"}).state("admin.tenants",{url:"/tenants",templateUrl:"/appviews/tenants",controller:"TenantsCtrlr"}).state("admin.tenantDetails",{url:"/tenants/:id",templateUrl:"/appviews/tenantdetails",controller:"TenantDetailsCtrlr"}).state("admin.tenantbranch",{url:"/tenants/:id/branch/:branchId",templateUrl:"/appviews/tenantbranch",controller:"TenantBranchCtrlr"}).state("admin.users",{url:"/users/tenant/:id",templateUrl:"/appviews/users",controller:"UsersCtrlr"}).state("admin.userDetails",{url:"/users/:id",templateUrl:"/appviews/userdetails",controller:"UserDetailsCtrlr"}).state("admin.trucks",{url:"/trucks/:id",templateUrl:"/appviews/trucks",controller:"TrucksCtrlr"}).state("admin.trucknew",{url:"/trucks/:id/new",templateUrl:"/appviews/truckdetails",controller:"TruckDetailsCtrlr"}).state("admin.truckdetails",{url:"/truck/:id",templateUrl:"/appviews/truckdetails",controller:"TruckDetailsCtrlr"}).state("admin.truckaudits",{url:"/truck/:id/audits",templateUrl:"/appviews/truckaudits",controller:"TruckAuditsCtrlr"}).state("base",{url:"/base",templateUrl:"/appviews/baselayout",controller:"BaseCtrlr"}).state("base.login",{url:"/login",templateUrl:"/appviews/login",controller:"LoginCtrlr"}).state("base.forgotpassword",{url:"/forgotpassword",templateUrl:"/appviews/forgotpassword",controller:"ForgotPasswordCtrlr"})}]);mainApp.config(["blockUIConfig",function(n){n.autoBlock=!1;n.template='<div class="block-ui-overlay"><\/div><div class="block-ui-message-container" aria-live="assertive" aria-atomic="true"><div class="block-ui-message" ng-class="$_blockUiMessageClass" style="text-align: center;"><img src="/content/images/ajax-loader.gif"/><br/>{{ state.message }}<\/div><\/div>'}]);mainApp.run(function(){window.loading_screen.finish()});mainApp.config(["toastrConfig",function(n){angular.extend(n,{newestOnTop:!0,positionClass:"toast-top-center",allowHtml:!0,maxOpened:0,timeOut:3e3})}]);mainApp.filter("tablePage",function(){return function(n,t,i){if(n==null||n.length==0)return n;t<1&&(t=1);var r=i||defaultPageSize,u=(t-1)*r,f=u+r;return n.slice(u,f)}});mainApp.directive("regionsForm",function(){return console.log("regionsForm"),{restrict:"E",transclude:!0,controller:"RegionsFormCtrlr",templateUrl:function(){return"/appviews/regionsform"},scope:{selectedRegions:"="}}});mainApp.directive("equal",function(){return{require:"ngModel",link:function(n,t,i,r){n.$watch(i.equal,function(n){r&&r.$modelValue&&(n===r.$modelValue?r.$setValidity("equal",!0):r.$setValidity("equal",!1))});r.$parsers.unshift(function(t){return t?t===n.$eval(i.equal)?(r.$setValidity("equal",!0),t):(r.$setValidity("equal",!1),undefined):(r.$setValidity("equal",!0),t)})}}});mainApp.directive("starRating",function(){return{restrict:"EA",template:'<ul class="star-rating" ng-class="{readonly: readonly}">  <li ng-repeat="star in stars" class="star" ng-class="{filled: star.filled}" ng-click="toggle($index)">    <i class="fa fa-star"><\/i>  <\/li><\/ul>',scope:{ratingValue:"=ngModel",max:"=?",onRatingSelect:"&?",readonly:"=?"},link:function(n){function t(){n.stars=[];for(var t=0;t<n.max;t++)n.stars.push({filled:t<n.ratingValue})}n.max==undefined&&(n.max=5);n.toggle=function(t){if(n.readonly==undefined||n.readonly===!1){n.ratingValue=t+1;n.onRatingSelect({rating:t+1})}};n.$watch("ratingValue",function(){t()})}}});mainApp.directive("fluidLevel",function(){return{restrict:"E",replace:!0,template:'<span class="fluid-level"><span class="fluid-level-item" ng-class="{\'fluid-level-item-selected\': ngModel >= 1 && ngModel <= 7 }" ng-click="setValue(1)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span > <span class="fluid-level-item" ng-class="{\'fluid-level-item-selected\': ngModel >= 2 && ngModel <= 7 }" ng-click="setValue(2)">1/4<\/span><span class="fluid-level-item" ng-class="{\'fluid-level-item-selected\': ngModel >= 3 && ngModel <= 7 }" ng-click="setValue(3)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class="fluid-level-item" ng-class="{\'fluid-level-item-selected\': ngModel >= 4 && ngModel <= 7 }" ng-click="setValue(4)">1/2<\/span><span class="fluid-level-item" ng-class="{\'fluid-level-item-selected\': ngModel >= 5 && ngModel <= 7 }" ng-click="setValue(5)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class="fluid-level-item" ng-class="{\'fluid-level-item-selected\': ngModel >= 6 && ngModel <= 7 }" ng-click="setValue(6)">3/4<\/span><span class="fluid-level-item" ng-class="{\'fluid-level-item-selected\': ngModel >= 7 && ngModel <= 7 }" ng-click="setValue(7)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><\/span>',scope:{fluidValue:"=?",ngModel:"=",readOnly:"=?"},link:function(n){n.readOnly=n.readOnly||!1;n.prevValue="";n.setValue=function(t){n.readOnly||(console.log("value: "+t+" prevValue: "+n.prevValue),console.log(t!=n.prevValue),n.prevValue=t!=n.prevValue?n.ngModel=t:n.ngModel="")}}}});mainApp.controller("ForgotPasswordCtrlr",["$scope","AccountSvc",function(n,t){n.email="";n.submit=function(){n.form.$valid&&(n.submitText="Submitting...",t.forgotPassword(n.email).then(function(){n.submitText="Submit";n.email="";n.notification="Please check your email for your login information."},function(){n.submitText="Submit";n.notification="Please check your email for your login information."}))}}]);mainApp.controller("RegionsFormCtrlr",["$scope",function(n){function i(){for(var i=[],r,u,n=0;n<t.length;n++)t[n].indexOf("_Parent")>0&&(r=t[n]),u=t[n].indexOf("_Parent")?t[n].replace("_Parent",""):t[n],t[n]!="Northland_Parent"&&i.push({value:u,selected:!1,region:r});return i}console.log("RegionsFormCtrlr");var t=["Northland_Parent","Far_North","Whangarei","Kaipara","Auckland_Parent","Waikato_Parent","Thames_Coromandel","Hauraki","Hamilton","Matamata_Piako","Waipa","Otorohanga","South_Waikato","Waitomo","Taupo","Bay_of_Plenty_Parent","Tauranga","Western_Bay_of_Plenty","Rotorua","Kawerau","Whakatane","Opotiki","Gisborne_Parent","Taranaki_Parent","New_Plymouth","Stratford","South_Taranaki","Hawke__s_Bay_Parent","Wairoa","Napier","Hastings","Central_Hawke__s_Bay","Manawatu_Parent","Ruapehu","Wanganui","Palmerston_North","Tararua","Horowhenua","Rangitikei","Wellington_Parent","Masterton","Kapiti_Coast","Porirua","Carterton","South_Wairarapa","Upper_Hutt","Lower_Hutt","Tasman_Parent","Nelson_Parent","Marlborough_Parent","West_Coast_Parent","Buller","Greymouth","Westland","Canterbury_Parent","Kaikoura","Hurunui","Waimakariri","Selwyn","Christchurch","Ashburton","Timaru","Mackenzie","Waimate","Waitaki","Otago_Parent","Queenstown_Lakes","Central_Otago","Dunedin","Clutha","Southland_Parent","Gore","Invercargill"];n.$watch("selectedRegions",function(t){t&&n.matchRegions()});n.nzRegions=angular.copy(i());n.selectRegion=function(t){var i,r;if(n.branchCrudMode!="R")for(i=0;i<n.nzRegions.length;i++)n.nzRegions[i].region==t&&(n.nzRegions[i].selected=!0,r=n.selectedRegions.indexOf(n.nzRegions[i].value),r<0&&n.selectedRegions.push(n.nzRegions[i].value))};n.properRegion=function(n){var t=n;return t.indexOf("__")>=0&&(t=t.replace(/_{2}/g,"'")),t.replace(/_/g," ")};n.matchRegions=function(){angular.forEach(n.nzRegions,function(t){angular.forEach(n.selectedRegions,function(n){var r=n.search("_Parent"),i;r>=0&&(i=n.replace("_Parent",""));t.value==i?t.selected=!0:t.value==n&&(t.selected=!0)})})};n.selectAll=function(){for(var i,t=0;t<n.nzRegions.length;t++)n.nzRegions[t].selected=!0,i=n.selectedRegions.indexOf(n.nzRegions[t].value),i<0&&n.selectedRegions.push(n.nzRegions[t].value)};n.clearAll=function(){for(var t=0;t<n.nzRegions.length;t++)n.nzRegions[t].selected=!1;n.selectedRegions.splice(0)};n.selectRegionValue=function(t){var i;t.selected?(i=n.selectedRegions.indexOf(t.value),i<0&&n.selectedRegions.push(t.value)):(i=n.selectedRegions.indexOf(t.value),i>=0&&n.selectedRegions.splice(i,1))}}]);mainApp.controller("ConfirmModalCtrlr",["$scope","$uibModalInstance","options",function(n,t,i){n.options=i;n.ok=function(){t.close(!0)};n.cancel=function(){t.dismiss(!1)}}]);mainApp.controller("TenantsCtrlr",["$scope","TenantsSvc","$state","toastr","$uibModal","blockUI",function(n,t,i,r,u,f){n.$on("$viewContentLoaded",function(){n.getTenants()});n.selectedItemsCnt=0;n.currentPage=1;n.startIndex=0;n.totalPages=0;n.getTenants=function(){n.archivedItemsShown?t.getAllWithArchives().then(function(t){console.log(t);n.tenants=t;n.totalPages=Math.ceil(n.tenants.length/defaultPageSize);n.currentPage=1;n.startIndex=0},function(n){r.error(generateErrorMessage(n))}):t.getAll().then(function(t){console.log(t);n.tenants=t;n.totalPages=Math.ceil(n.tenants.length/defaultPageSize);n.currentPage=1;n.startIndex=0},function(n){r.error(generateErrorMessage(n))})};n.prevPage=function(){n.currentPage!=1&&(n.hasSelectedRcas=!1,n.currentPage--,n.startIndex-=defaultPageSize)};n.nextPage=function(){n.currentPage!=n.totalPages&&(n.hasSelectedRcas=!1,n.currentPage++,n.startIndex+=defaultPageSize)};n.addNew=function(){t.tenant=null;i.go("admin.tenantDetails")};n.toggleActive=function(n){var i;n.IsActive?(i=u.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",size:"sm",resolve:{options:function(){return{title:"Audit Pro",message:"Do you want to deactivate tenant <br/><b>"+n.OrganisationName+"<\/b>?",cancelText:"No",okText:"Yes"}}}}),i.result.then(function(i){i&&(f.start({message:"Deactivating tenant..."}),t.deactivate(n.Id).then(function(){n.IsActive=!1;n.activeTooltip="Activate";r.success("Tenant deactivated.");f.stop()},function(n){console.log(n);f.stop();n.status==409?r.error(n.data):r.error(generateErrorMessage(n))}))})):(i=u.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",size:"sm",resolve:{options:function(){return{title:"Audit Pro",message:"Do you want to activate tenant <br/><b>"+n.OrganisationName+"<\/b>?",cancelText:"No",okText:"Yes"}}}}),i.result.then(function(i){i&&(f.start({message:"Activating tenant..."}),t.activate(n.Id).then(function(){n.IsActive=!0;n.activeTooltip="Deactivate";r.success("Tenant activated.");f.stop()},function(n){console.log(n);f.stop();r.error(generateErrorMessage(n))}))}))};n.toggleArchive=function(i){var e;i.Archived?(e=u.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",size:"sm",resolve:{options:function(){return{title:"Audit Pro",message:"Do you want to unarchive tenant <br/><b>"+i.OrganisationName+"<\/b>?",cancelText:"No",okText:"Yes"}}}}),e.result.then(function(n){n&&(f.start({message:"Unarchiving tenant..."}),t.unarchive(i.Id).then(function(){i.Archived=!1;i.archiveTooltip="Archive";r.success("Tenant unarchived.");f.stop()},function(n){console.log(n);f.stop();r.error(generateErrorMessage(n))}))})):(e=u.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",size:"sm",resolve:{options:function(){return{title:"Audit Pro",message:"Do you want to archive tenant <br/><b>"+i.OrganisationName+"<\/b>?",cancelText:"No",okText:"Yes"}}}}),e.result.then(function(u){u&&(f.start({message:"Archiving tenant..."}),t.archive(i.Id).then(function(){if(i.Archived=!0,i.archiveTooltip="Unarchive",!n.archivedItemsShown){var t=n.tenants.indexOf(i);n.tenants.splice(t,1)}r.success("Tenant archived.");f.stop()},function(n){console.log(n);f.stop();n.status==409?r.error(n.data):r.error(generateErrorMessage(n))}))}))};n.showArchivedItems=function(){n.getTenants()}}]);mainApp.controller("TenantDetailsCtrlr",["$scope","$stateParams","toastr","$state","TenantsSvc","blockUI","$uibModal","$linq","TokenSvc",function(n,t,i,r,u,f,e,o,s){function h(t){for(var r,u,i=0;i<n.tenant.Branches.length;i++)u=n.tenant.Branches[i],u.selected=t,r=i;return r+1}n.$on("$viewContentLoaded",function(){n.getTenantDetails(t.id)});n.selectedItemsCnt=0;n.getTenantDetails=function(){t.id.length>0?u.getById(t.id).then(function(t){console.log(t);n.tenant=t;u.tenant=n.tenant},function(n){i.error(generateErrorMessage(n))}):u.tenant?n.tenant=u.tenant:(n.tenant={Branches:[],Regions:[]},u.tenant=n.tenant)};n.back=function(){r.go("admin.tenants")};n.selectAll=function(){if(!n.tenant.Branches||n.tenant.Branches.length==0)return n.hasSelectedAll=!1,!1;n.hasSelectedAll?n.selectedItemsCnt=h(!0):(h(!1),n.selectedItemsCnt=0);console.log(n.selectedItemsCnt)};n.selectItem=function(t){t.selected?n.selectedItemsCnt++:n.selectedItemsCnt--;console.log(n.selectedItemsCnt)};n.save=function(){n.tenantForm.$valid&&(f.start({message:"Saving..."}),n.tenant.Id?u.update(n.tenant).then(function(){f.stop();i.success("Tenant updated successfully.")},function(n){f.stop();i.error(generateErrorMessage(n))}):u.add(n.tenant).then(function(t){n.tenant.Id=t.Id;n.title="Tenant";f.stop();i.success("Tenant created successfully.")},function(n){f.stop();i.error(generateErrorMessage(n))}))};n.addBranch=function(){u.branch={tenantId:n.tenant.Id,organisationName:n.tenant.OrganisationName,Regions:[],RatePerUser:0,RatePerAudit:0};r.go("admin.tenantbranch",{id:n.tenant.Id})};n.modalOptions={title:"Audit Pro",message:"Do you want to delete the selected Branches?",cancelText:"No",okText:"Yes"};n.deleteBranches=function(){var t=e.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",resolve:{options:function(){return n.modalOptions}}});t.result.then(function(t){var s,e,r,h;if(t)if(n.tenant.Id)f.start({message:"Deleting Branches..."}),s=o.Enumerable().From(n.tenant.Branches).Where("w => w.selected == true").Select("s => s.Id").ToArray(),u.deleteBranches(n.tenant.Id,s).then(function(){for(var r=o.Enumerable().From(n.tenant.Branches).Where("w => w.selected == true").ToArray(),i,t=0;t<r.length;t++)i=n.tenant.Branches.indexOf(r[t]),i>=0&&(n.tenant.Branches.splice(i,1),n.selectedItemsCnt--);n.hasSelectedAll=!1;f.stop()},function(n){f.stop();i.error(generateErrorMessage(n))});else{for(e=o.Enumerable().From(n.tenant.Branches).Where("w => w.selected == true").ToArray(),r=0;r<e.length;r++)h=n.tenant.Branches.indexOf(e[r]),n.tenant.Branches.splice(h,1);n.hasSelectedAll=!1;n.selectedItemsCnt=0}},function(n){f.stop();i.error(generateErrorMessage(n))})};n.branchDetails=function(t){u.branch=t;u.branch.tenantId=n.tenant.Id;u.branch.organisationName=n.tenant.OrganisationName;r.go("admin.tenantbranch",{id:n.tenant.Id,branchId:u.branch.Id})};n.showBackButton=!(s.getToken().roles.indexOf("auditprotenantadmin")>=0)}]);mainApp.controller("TenantBranchCtrlr",["$scope","TenantsSvc","$state","toastr","blockUI",function(n,t,i,r,u){function f(){t.branch.Branch=n.baseData.Branch;t.branch.Location=n.baseData.Location;t.branch.Regions=n.baseData.Regions;t.branch.RatePerUser=n.baseData.RatePerUser;t.branch.RatePerAudit=n.baseData.RatePerAudit}n.branch=angular.copy(t.branch);n.baseData=angular.copy(t.branch);n.save=function(){if(n.form.$valid){if(n.branch.Regions.length==0){r.error("Please select 1 or more Regions");return}if(n.branch.Id)u.start({message:"Saving..."}),t.updateBranch(n.branch.tenantId,n.branch).then(function(t){n.branch.Id=t.Id;u.stop();r.success("Branch saved successfully.");n.backToTenant()},function(n){u.stop();r.error(generateErrorMessage(n))});else if(n.branch.tenantId)t.addBranch(n.branch.tenantId,n.branch).then(function(t){n.branch.Id=t.Id;u.stop();r.success("Branch added successfully.");n.backToTenant()},function(n){u.stop();r.error(generateErrorMessage(n))});else{var i=t.tenant.Branches.indexOf(t.branch);i<0?t.tenant.Branches.push(n.branch):(n.baseData=angular.copy(n.branch),f());n.backToTenant()}}};n.backToTenant=function(){i.go("admin.tenantDetails",{id:n.branch.tenantId})}}]);mainApp.controller("UserDetailsCtrlr",["$scope","UsersSvc","$stateParams","toastr","$state","TenantsSvc","blockUI","TokenSvc",function(n,t,i,r,u,f,e,o){n.tenant=f.tenant;n.$on("$viewContentLoaded",function(){var t=o.getRole();(t=="auditprotenantadmin"||t=="auditprotenantsadmin")&&n.userRoles.shift();f.getById(f.currentTenantId).then(function(t){n.tenantDetails=t;n.getUserDetails(i.id)})});n.getUserDetails=function(i){i.length>0?t.getById(i).then(function(t){console.log(t);n.user=t;t.ExpiryDate!=null&&(n.user.ExpiryDate=new Date(t.ExpiryDate))},function(n){r.error(generateErrorMessage(n))}):n.user={TenantId:f.currentTenantId}};n.back=function(){u.go("admin.users",{id:n.user.TenantId})};n.userRoles=[{value:"auditproadmin",roleName:"Admin"},{value:"auditprotenantsadmin",roleName:"Reseller"},{value:"auditprotenantadmin",roleName:"Tenant Admin"},{value:"auditpromobileuser",roleName:"Mobile User"}];n.save=function(){n.userForm.$valid&&(e.start({message:"Saving..."}),n.user.Id?t.updateUser(n.user).then(function(){n.title="User";e.stop();r.success("User updated successfully.")},function(n){e.stop();r.error(generateErrorMessage(n))}):t.addUser(n.user).then(function(t){n.user.Id=t.Id;n.title="User";e.stop();r.success("User created successfully.");u.go("admin.userDetails",{id:t.Id},{notify:!1})},function(n){e.stop();r.error(generateErrorMessage(n))}))};n.expiryDate={isOpen:!1};n.setExpiryDate=function(){n.expiryDate.isOpen=!0}}]);mainApp.controller("AuditsCtrlr",["$scope","$resource","$linq","$uibModal","blockUI","TenantsSvc","AuditsSvc","$stateParams","TokenSvc","$state","toastr","$timeout",function(n,t,i,r,u,f,e,o,s,h,c){function l(t){for(var i=0;i<t.length;i++)t[i].CreatedOnValue=new Date(t[i].CreatedOn).valueOf();n.unfilteredAudits=t}function a(){n.totalPages=Math.ceil(n.audits.length/defaultPageSize);n.hasSelectedItems=!1;n.selectedItemsCnt=0;n.currentPage=1;n.startIndex=0}function v(t){for(var r,f=n.audits.length<defaultPageSize?n.audits.length:n.startIndex+defaultPageSize,u,i=n.startIndex;i<f;i++)u=n.audits[i],u.selected=t,r=i;return r+1}n.$on("$viewContentLoaded",function(){var t=s.getRole(),i;n.selectedItemsCnt=0;t=="auditprotenantadmin"?(f.getAllActive().then(function(t){l(t);n.tenants=t;n.tenant=s.getTenantId();n.getBranches(s.getTenantId())},function(n){c.error(generateErrorMessage(n))}),n.getAudits(s.getTenantId())):t=="auditpromobileuser"?e.getByUser(s.getUserId()).then(function(t){l(t);n.audits=t},function(n){c.error(generateErrorMessage(n))}):(n.getTenants(),i=f.currentTenantId||o.id,n.getAudits(i));n.isSuperAdmin=t=="auditproadmin"||t=="auditprotenantsadmin";n.isTenantAdmin=t=="auditprotenantadmin"});n.$watch("dateRange.filter",function(t){if(console.log("$watch.dateRange"),t.startDate!=null&&t.startDate._d=="Invalid Date"&&(console.log("Invalid Date"),t.startDate=null),t.startDate!=null&&t.endDate!=null&&t.startDate._d!="Invalid Date"&&t.endDate._id!="Invalid Date"){var r=i.Enumerable().From(n.unfilteredAudits).Where("w => w.CreatedOnValue >= "+t.startDate.toDate().valueOf()+" && w.CreatedOnValue <= "+t.endDate.toDate().valueOf()).ToArray();n.audits=r;a()}else t.startDate==null&&t.endDate==null&&(n.audits=n.unfilteredAudits,a())});n.unfilteredAudits=[];n.dateRange={filter:{startDate:null,endDate:null}};n.tenantBranches=null;n.selectedAudits=0;n.hasSelectedAll=!1;n.currentPage=1;n.startIndex=0;n.getBranches=function(t){n.branchId=null;n.unfilteredAudits=[];n.dateRange.filter={};var r=i.Enumerable().From(n.tenants).FirstOrDefault(null,'f => f.Id == "'+t+'"');n.tenantBranches=r&&r.Branches?r.Branches:[];i.Enumerable().From(n.tenantBranches).Count('c => c.Id == "0"')==0&&n.tenantBranches.unshift({Id:"0",Branch:"All"})};n.getAudits=function(t,i){t!=null&&t.length!=0&&i!=null&&(n.dateRange.filter={},i!=null&&i!="0"?e.getByBranch(t,i).then(function(i){l(i);n.audits=i;n.tenant=t;a();f.currentTenantId=t;h.go("admin.audits",{id:t},{notify:!1})},function(n){c.error(generateErrorMessage(n))}):e.getByTenantId(t).then(function(i){l(i);n.audits=i;n.tenant=t;a();f.currentTenantId=t;h.go("admin.audits",{id:t},{notify:!1})},function(n){c.error(generateErrorMessage(n))}))};n.getTenants=function(){f.getAllActive().then(function(t){n.tenants=t},function(n){c.error(generateErrorMessage(n))})};n.selectAudit=function(t){t.selected?n.selectedAudits++:n.selectedAudits--;console.log(n.selectedAudits)};n.modalOptions={title:"Audit Pro",message:"Do you want to delete the "+n.selectedAudits+" selected audits?",cancelText:"No",okText:"Yes"};n.deleteAudits=function(){var t=r.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",resolve:{options:function(){return{title:"Audit Pro",message:"Do you want to delete the "+n.selectedAudits+" selected audits?",cancelText:"No",okText:"Yes"}}}});t.result.then(function(t){if(t){u.start({message:"Deleting audits..."});var r=i.Enumerable().From(n.audits).Where("w => w.selected == true").Select("s => s.Id").ToArray();e.deleteAudits(r).then(function(){n.getAudits(f.currentTenantId);u.stop()},function(n){console.log(n);u.stop();c.error(generateErrorMessage(n))})}},function(){})};n.prevPage=function(){n.currentPage!=1&&(n.hasSelectedAll=!1,n.currentPage--,n.startIndex-=defaultPageSize)};n.nextPage=function(){n.currentPage!=n.totalPages&&(n.hasSelectedAll=!1,n.currentPage++,n.startIndex+=defaultPageSize)};n.selectAll=function(){if(n.audits.length==0){n.hasSelectedAll=!1;return}n.hasSelectedAll?n.selectedAudits=v(!0):(v(!1),n.selectedAudits=0)}}]);mainApp.controller("BaseCtrlr",["$state","$scope",function(n,t){t.$on("$viewContentLoaded",function(){console.log("BaseCtrlr.$viewContentLoaded")});var i=sessionStorage.getItem("token");i==null?n.go("base.login"):n.go("admin.audits")}]);mainApp.controller("AdminCtrlr",["$scope","$state","TokenSvc","TenantsSvc",function(n,t,i,r){n.$on("$viewContentLoaded",function(){n.tenantName=i.getTenantName()});var u=sessionStorage.getItem("token");u==null?t.go("base.login"):(i.saveToken(sessionStorage.getItem("token")),r.init())}]);mainApp.controller("MenuCtrlr",["$scope","TokenSvc","$state",function(n,t){n.$on("$stateChangeSuccess",function(t,i){console.log(i);n.activeMenu={"admin.audits":1,"admin.rcas":2,"admin.contractors":3,"admin.tccs":4,"admin.assetOwners":5,"admin.tenants":6,"admin.users":7,"admin.invoice":8,"admin.trucks":9}[i.name]});n.ShowAdminMenuItem=t.getToken().roles.indexOf("auditproadmin")>=0||t.getToken().roles.indexOf("auditprotenantadmin")>=0||t.getToken().roles.indexOf("auditprotenantsadmin")>=0;n.ShowTenantsOption=t.getToken().roles.indexOf("auditproadmin")>=0||t.getToken().roles.indexOf("auditprotenantsadmin")>=0;n.ShowTenantDetails=t.getToken().roles.indexOf("auditprotenantadmin")>=0;n.tenantId=t.getToken().tenantId;console.log(t.getToken())}]);mainApp.controller("UserWidgetCtrlr",["$scope","$window","TokenSvc",function(n,t,i){n.UserFullname=i.getToken().fullName.length==0?"Administrator":i.getToken().fullName;n.Logout=function(){sessionStorage.clear();t.location.href="/"}}]);mainApp.controller("LoginCtrlr",["$scope","$resource","$state","TokenSvc","TenantsSvc","AccountSvc","toastr",function(n,t,i,r,u,f,e){var o=t("/token",{},{login:{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"}}});n.email="";n.password="";n.error="";n.login=function(){n.showLoader=!0;n.loginText="Logging in...";var t=encodeURIComponent(n.email);f.login(t,n.password).then(function(n){console.log(n);sessionStorage.setItem("token",JSON.stringify(n));r.saveToken(sessionStorage.getItem("token"));u.init();var t=r.getToken();(t.roles[0]=="siteprotenantadmin"||t.roles[0]=="sitepromobileuser")&&u.resource.getById({id:t.tenantId},function(n){u.tenant=n;$rootScope.$broadcast("tenantLoaded",{})},function(n){alert(n);e.error(generateErrorMessage(n))});i.go("admin.audits")},function(t){console.log(t);n.showLoader=!1;n.loginText="Login";n.error="Email or password is incorrect"})}}]);mainApp.factory("InvoiceSvc",["$resource","TokenSvc",function(n,t){var i={},u={Authorization:"Bearer "+t.getToken().access_token},r=null;return r=n("/api/invoice",null,{get:{method:"GET",url:"/api/invoice",isArray:!0,headers:u},getbyids:{method:"GET",url:"/api/invoice/:id",params:{id:"@id"},isArray:!1,headers:u},addInvoice:{method:"POST",url:"/api/invoice",isArray:!1,headers:u},GetRateById:{method:"GET",url:"/api/invoice/tenant/:id",params:{id:"@id"},isArray:!0,headers:u},GetAuditbyDate:{method:"GET",url:"api/invoice/audit",params:{tenantid:"@tenantid",branchid:"@branchid",startDate:"@startDate",endDate:"@endDate"},isArray:!1,headers:u},deleteInvoice:{method:"DELETE",url:"/api/invoice",isArray:!1,headers:u},GetNoUsers:{method:"GET",url:"api/invoice/user",params:{tenantid:"@tenantid"},isArray:!1,headers:u}}),i.getAllInv=function(){return r.get().$promise},i.addInvoice=function(n){return console.log(n),r.addInvoice(n).$promise},i.GetRateById=function(n){return r.GetRateById({id:n}).$promise},i.getbyid=function(n){return r.getbyids({id:n}).$promise},i.GetAuditbyDate=function(n,t,i,u){return r.GetAuditbyDate({tenantid:n,branchid:t,startDate:i,endDate:u}).$promise},i.deleteInvoice=function(n){return r.deleteInvoice({id:n}).$promise},i.GetNoUsers=function(n){return r.GetNoUsers({tenantid:n}).$promise},i}]);mainApp.factory("AuditsSvc",["$resource","TokenSvc",function(n,t){var i={},r={Authorization:"Bearer "+t.getToken().access_token},u=n("/api/audits",null,{getById:{method:"GET",url:"/api/audits/:id",params:{id:"@id"},isArray:!1,headers:r},getByTenantId:{method:"GET",url:"/api/audits/tenant/:tenantId",params:{tenantId:"@tenantId"},isArray:!0,headers:r},deleteAudits:{method:"DELETE",url:"/api/audits",isArray:!1,headers:r},getByBranch:{method:"GET",url:"/api/audits/tenant/:id/branch/:branchId",params:{id:"@id",branchId:"@branchId"},isArray:!0,headers:r},getByUser:{method:"GET",url:"/api/audits/user/:id",params:{id:"@id"},isArray:!0,headers:r}});return i.getByTenantId=function(n){return u.getByTenantId({tenantId:n}).$promise},i.deleteAudits=function(n){return u.deleteAudits({ids:n}).$promise},i.getByBranch=function(n,t){return u.getByBranch({id:n,branchId:t}).$promise},i.getByUser=function(n){return u.getByUser({id:n}).$promise},i}]);mainApp.factory("AccountSvc",["$resource",function(n){var t={},i=n("/token",{},{login:{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"}},forgotPassword:{method:"POST",url:"/api/account/forgotpassword"}});return t.login=function(n,t){return i.login("grant_type=password&username="+n+"&password="+t).$promise},t.forgotPassword=function(n){return i.forgotPassword({email:n}).$promise},t}]);mainApp.factory("TenantsSvc",["$resource","TokenSvc",function(n,t){var i={},r=null;return i.getAll=function(){return r.get().$promise},i.init=function(){var i={Authorization:"Bearer "+t.getToken().access_token};r=n("/api/tenantsapi",null,{get:{method:"GET",url:"/api/tenantsapi",isArray:!0,headers:i},getAllWithArchives:{method:"GET",url:"/api/tenantsapi/allcentral",isArray:!0,headers:i},getAllActive:{method:"GET",url:"/api/tenantsapi/allactive",isArray:!0,headers:i},getById:{method:"GET",url:"/api/tenantsapi/:id",params:{id:"@id"},isArray:!1,headers:i},add:{method:"POST",url:"/api/tenantsapi",isArray:!1,headers:i},update:{method:"PUT",url:"/api/tenantsapi",isArray:!1,headers:i},addBranch:{method:"POST",url:"/api/tenantsapi/:id/addbranch",params:{id:"@id"},isArray:!1,headers:i},updateBranch:{method:"PUT",url:"/api/tenantsapi/:id/updatebranch",params:{id:"@id"},isArray:!1,headers:i},deleteBranches:{method:"POST",url:"/api/tenantsapi/deleteBranches",isArray:!1,headers:i},activate:{method:"POST",url:"/api/tenantsapi/:id/activate",params:{id:"@id"},isArray:!1,headers:i},deactivate:{method:"POST",url:"/api/tenantsapi/:id/deactivate",params:{id:"@id"},isArray:!1,headers:i},archive:{method:"POST",url:"/api/tenantsapi/:id/archive",params:{id:"@id"},isArray:!1,headers:i},unarchive:{method:"POST",url:"/api/tenantsapi/:id/unarchive",params:{id:"@id"},isArray:!1,headers:i},getUserEmails:{method:"GET",url:"/api/users/:tenantId/emails",params:{tenantId:"@id"},isArray:!0,headers:i}})},i.getAllWithArchives=function(){return r.getAllWithArchives().$promise},i.getAllActive=function(){return r.getAllActive().$promise},i.getById=function(n){return r.getById({id:n}).$promise},i.add=function(n){return r.add(n).$promise},i.update=function(n){return r.update(n).$promise},i.addBranch=function(n,t){return r.addBranch({id:n},t).$promise},i.updateBranch=function(n,t){return r.updateBranch({id:n},t).$promise},i.deleteBranches=function(n,t){return r.deleteBranches({parentId:n,ids:t}).$promise},i.deactivate=function(n){return r.deactivate({id:n}).$promise},i.activate=function(n){return r.activate({id:n}).$promise},i.archive=function(n){return r.archive({id:n}).$promise},i.unarchive=function(n){return r.unarchive({id:n}).$promise},i.getUserEmails=function(n){return r.getUserEmails({tenantId:n}).$promise},i}]);mainApp.factory("TokenSvc",["$resource",function(){var t={},n;return t.saveToken=function(t){n=JSON.parse(t);n.roles=JSON.parse(n.roles)},t.getToken=function(){return n},t.getRole=function(){return n.roles[0]},t.getTenantName=function(){return n.tenantName},t.getTenantId=function(){return n.tenantId},t.getUserId=function(){return n.id},t}]);mainApp.factory("RCAsSvc",["$resource","TokenSvc",function(n,t){var i={},r={Authorization:"Bearer "+t.getToken().access_token},u=n("/api/rcas",null,{getById:{method:"GET",url:"/api/rcas/:id",params:{id:"@id"},isArray:!1,headers:r},getByTenantId:{method:"GET",url:"/api/rcas/tenant/:tenantId",params:{tenantId:"@tenantId"},isArray:!0,headers:r},add:{method:"POST",url:"/api/rcas/tenant/:id",isArray:!1,headers:r},update:{method:"PUT",url:"/api/rcas",isArray:!1,headers:r},updateCoordinator:{method:"PUT",url:"/api/rcas/:id/coordinator",isArray:!1,headers:r,params:{id:"@rcaId"}},deleteRcas:{method:"DELETE",url:"/api/rcas",isArray:!1,headers:r},deleteCoordinators:{method:"POST",url:"/api/rcas/:id/deletecoordinators",isArray:!1,headers:r,params:{id:"@id"}},addCoordinator:{method:"POST",url:"/api/rcas/:id/coordinator",isArray:!1,headers:r,params:{id:"@id"}}});return i.getById=function(n){return u.getById(n).$promise},i.getByTenantId=function(n){return u.getByTenantId(n).$promise},i.update=function(n){return u.update(n).$promise},i.add=function(n){return u.add({id:n.TenantId},n).$promise},i.updateCoordinator=function(n){return u.updateCoordinator(n).$promise},i.deleteRcas=function(n){return u.deleteRcas({ids:n}).$promise},i.deleteCoordinators=function(n,t){return u.deleteCoordinators({id:n},t).$promise},i.addCoordinator=function(n,t){return u.addCoordinator({id:n},t).$promise},i}]);mainApp.factory("ContractorsSvc",["$resource","TokenSvc",function(n,t){var i={},r={Authorization:"Bearer "+t.getToken().access_token},u=n("/api/contractors",null,{getById:{method:"GET",url:"/api/contractors/:id",params:{id:"@id"},isArray:!1,headers:r},getByTenantId:{method:"GET",url:"/api/contractors/tenant/:id",params:{id:"@id"},isArray:!0,headers:r},update:{method:"PUT",url:"/api/contractors",isArray:!1,headers:r},deleteContractors:{method:"DELETE",url:"/api/contractors",isArray:!1,headers:r},updateBranch:{method:"PUT",url:"/api/contractors/:id/branch",isArray:!1,headers:r},addBranch:{method:"POST",url:"/api/contractors/:id/branch",isArray:!1,headers:r},updateProjectManager:{method:"PUT",url:"/api/contractors/updateprojectmanager",isArray:!1,headers:r},addProjectManager:{method:"POST",url:"/api/contractors/addprojectmanager",isArray:!1,headers:r},addContractor:{method:"POST",url:"/api/contractors",isArray:!1,headers:r},deleteProjectManagers:{method:"POST",url:"/api/contractors/deleteProjectManagers",isArray:!1,headers:r},deleteBranches:{method:"POST",url:"/api/contractors/deleteBranches",isArray:!1,headers:r}});return i.getById=function(n){return u.getById(n).$promise},i.getByTenantId=function(n){return u.getByTenantId({id:n}).$promise},i.update=function(n){return u.update(n).$promise},i.deleteContractors=function(n){return u.deleteContractors({ids:n}).$promise},i.updateBranch=function(n,t){return u.updateBranch({id:n},t).$promise},i.deleteBranches=function(n,t){return u.deleteBranches({parentId:n,ids:t}).$promise},i.updateProjectManager=function(n){return u.updateProjectManager(n).$promise},i.addProjectManager=function(n){return u.addProjectManager(n).$promise},i.addContractor=function(n){return u.addContractor(n).$promise},i.addBranch=function(n,t){return u.addBranch({id:n},t).$promise},i.deleteProjectManagers=function(n,t,i){return u.deleteProjectManagers({contractorId:n,branchId:t,ids:i}).$promise},i}]);mainApp.factory("TccsSvc",["$resource","TokenSvc",function(n,t){var i={},r={Authorization:"Bearer "+t.getToken().access_token},u=n("/api/tccs",null,{getById:{method:"GET",url:"/api/tccs/:id",params:{id:"@id"},isArray:!1,headers:r},getByTenantId:{method:"GET",url:"/api/tccs/tenant/:tenantId",params:{tenantId:"@tenantId"},isArray:!0,headers:r},deleteTccs:{method:"POST",url:"/api/tccs/delete",isArray:!1,headers:r},deleteBranches:{method:"POST",url:"/api/tccs/deleteBranches",isArray:!1,headers:r},add:{method:"POST",url:"/api/tccs",isArray:!1,headers:r},update:{method:"PUT",url:"/api/tccs",isArray:!1,headers:r},addBranch:{method:"POST",url:"/api/tccs/:id/branch",isArray:!1,headers:r},updateBranch:{method:"PUT",url:"/api/tccs/:id/branch",isArray:!1,headers:r},updateStms:{method:"PUT",url:"/api/tccs/updatestms",isArray:!1,headers:r},addStms:{method:"POST",url:"/api/tccs/addstms",isArray:!1,headers:r},deleteStmss:{method:"POST",url:"/api/contractors/deletestmss",isArray:!1,headers:r}});return i.getById=function(n){return u.getById(n).$promise},i.getByTenantId=function(n){return u.getByTenantId({tenantId:n}).$promise},i.update=function(n){return u.update(n).$promise},i.add=function(n){return u.add(n).$promise},i.deleteTccs=function(n){return u.deleteTccs(n).$promise},i.deleteBranches=function(n,t){return u.deleteBranches({parentId:n,ids:t}).$promise},i.addBranch=function(n,t){return u.addBranch({id:n},t).$promise},i.updateBranch=function(n,t){return u.updateBranch({id:n},t).$promise},i.updateStms=function(n){return u.updateStms(n).$promise},i.addStms=function(n){return u.addStms(n).$promise},i.deleteStmss=function(n,t,i){return u.deleteStmss({tccId:n,branchId:t,ids:i}).$promise},i}]);mainApp.factory("UsersSvc",["$resource","TokenSvc",function(n,t){var i={},r={Authorization:"Bearer "+t.getToken().access_token},u=n("/api/users",null,{getById:{method:"GET",url:"/api/users/:id",params:{id:"@id"},isArray:!1,headers:r},getByTenantId:{method:"GET",url:"/api/users/tenant/:tenantId/:includeArchive",params:{tenantId:"@tenantId",includeArchive:"@includeArchive"},isArray:!0,headers:r},addUser:{method:"POST",url:"/api/users",isArray:!1,headers:r},updateUser:{method:"PUT",url:"/api/users",isArray:!1,headers:r},changePassword:{method:"POST",url:"/api/account/changepassword",isArray:!1,headers:r},activate:{method:"POST",url:"/api/users/:id/activate",params:{id:"@id"},isArray:!1,headers:r},deactivate:{method:"POST",url:"/api/users/:id/deactivate",params:{id:"@id"},isArray:!1,headers:r},archive:{method:"POST",url:"/api/users/:id/archive",params:{id:"@id"},isArray:!1,headers:r},unarchive:{method:"POST",url:"/api/users/:id/unarchive",params:{id:"@id"},isArray:!1,headers:r}});return i.getById=function(n){return u.getById({id:n}).$promise},i.getByTenantId=function(n,t){return u.getByTenantId({tenantId:n,includeArchive:t}).$promise},i.addUser=function(n){return u.addUser(n).$promise},i.updateUser=function(n){return u.updateUser(n).$promise},i.changePassword=function(n,t,i){return u.changePassword({OldPassword:n,NewPassword:t,ConfirmPassword:i}).$promise},i.deactivate=function(n){return u.deactivate({id:n}).$promise},i.activate=function(n){return u.activate({id:n}).$promise},i.archive=function(n){return u.archive({id:n}).$promise},i.unarchive=function(n){return u.unarchive({id:n}).$promise},i}]);mainApp.factory("AssetOwnersSvc",["$resource","TokenSvc",function(n,t){var i={},r={Authorization:"Bearer "+t.getToken().access_token},u=n("/api/assetowners",null,{getById:{method:"GET",url:"/api/assetowners/id",params:{id:"@id"},isArray:!1,headers:r},getByTenantId:{method:"GET",url:"/api/assetowners/tenant/:id",params:{id:"@id"},isArray:!0,headers:r},deleteAssetOwners:{method:"POST",url:"/api/assetowners/delete",isArray:!1,headers:r},add:{method:"POST",url:"/api/assetowners",isArray:!1,headers:r},update:{method:"PUT",url:"/api/assetowners",isArray:!1,headers:r},addBranch:{method:"POST",url:"/api/assetowners/:id/branch",isArray:!1,headers:r},updateBranch:{method:"PUT",url:"/api/assetowners/:id/branch",isArray:!1,headers:r},deleteBranches:{method:"POST",url:"/api/assetowners/deleteBranches",isArray:!1,headers:r}});return i.getById=function(n){return u.getById(n).$promise},i.getByTenantId=function(n){return u.getByTenantId({id:n}).$promise},i.update=function(n){return u.update(n).$promise},i.add=function(n){return u.add(n).$promise},i.deleteAssetOwners=function(n){return u.deleteAssetOwners(n).$promise},i.addBranch=function(n,t){return u.addBranch({id:n},t).$promise},i.updateBranch=function(n,t){return u.updateBranch({id:n},t).$promise},i.deleteBranches=function(n,t){return u.deleteBranches({parentId:n,ids:t}).$promise},i}]);mainApp.factory("TrucksSvc",["$resource","TokenSvc",function(n,t){var i={},r={Authorization:"Bearer "+t.getToken().access_token},u=n("/api/trucks",null,{getAll:{method:"GET",isArray:!0,headers:r},getById:{method:"GET",url:"/api/truck/:id",params:{id:"@id"},isArray:!1,headers:r},getByTenantId:{method:"GET",url:"/api/trucks/tenant/:id",params:{id:"@id"},isArray:!0,headers:r},add:{method:"POST",url:"/api/trucks",isArray:!1,headers:r},update:{method:"PUT",url:"/api/trucks",isArray:!1,headers:r},getAuditsByTruckId:{method:"GET",url:"/api/trucks/:id/audits",isArray:!1,params:{id:"@id"},headers:r},getAllByTenant:{method:"GET",url:"/api/trucks/:tenantId",isArray:!0,headers:r,params:{tenantId:"@tenantId"}},assignEmail:{method:"POST",url:"/api/trucks/:id/assignemail",isArray:!1,params:{id:"@id"},headers:r},removeEmail:{method:"POST",url:"/api/trucks/:id/removeemail",isArray:!1,params:{id:"@id"},headers:r}});return i.add=function(n){return u.add(n).$promise},i.update=function(n){return u.update(n).$promise},i.getAll=function(){return u.getAll().$promise},i.getById=function(n){return u.getById({id:n}).$promise},i.getAuditsByTruckId=function(n){return u.getAuditsByTruckId({id:n}).$promise},i.getAllByTenant=function(n){return u.getAllByTenant({tenantId:n}).$promise},i.assignEmail=function(n,t){return u.assignEmail({id:n},t).$promise},i.removeEmail=function(n,t){return u.removeEmail({id:n},t).$promise},i}]);mainApp.controller("ContractorsCtrlr",["$scope","$resource","TenantsSvc","$stateParams","$state","ContractorsSvc","$uibModal","blockUI","$linq","TokenSvc","toastr",function(n,t,i,r,u,f,e,o,s,h,c){function l(t){for(var r,f=n.assetOwners.length<defaultPageSize?n.contractors.length:n.startIndex+defaultPageSize,u,i=n.startIndex;i<f;i++)u=n.contractors[i],u.selected=t,r=i;return r+1}n.$on("$viewContentLoaded",function(){var t=h.getRole(),u;n.selectedItemsCnt=0;t=="auditprotenantadmin"||t=="auditpromobileuser"?n.getContractors(h.getTenantId()):(n.getTenants(),u=i.currentTenantId||r.id,n.getContractors(u));t=h.getRole();n.isSuperAdmin=t=="auditproadmin"||t=="auditprotenantsadmin"});n.hasSelectedItems=!1;n.selectedItemsCnt=0;n.currentPage=1;n.startIndex=0;n.getContractors=function(t){t!=null&&f.getByTenantId(t).then(function(r){n.contractors=r;n.totalPages=Math.ceil(n.contractors.length/defaultPageSize);n.tenant=t;n.hasSelectedItems=!1;n.selectedItemsCnt=0;n.currentPage=1;n.startIndex=0;i.currentTenantId=t;u.go("admin.contractors",{id:t},{notify:!1})},function(n){c.error(generateErrorMessage(n))})};n.getTenants=function(){i.getAllActive().then(function(t){n.tenants=t},function(){alert("error")})};n.prevPage=function(){n.currentPage!=1&&(n.hasSelectedAll=!1,n.currentPage--,n.startIndex-=defaultPageSize)};n.nextPage=function(){n.currentPage!=n.totalPages&&(n.hasSelectedAll=!1,n.currentPage++,n.startIndex+=defaultPageSize)};n.selectAll=function(){if(n.contractors.length==0){n.hasSelectedAll=!1;return}n.hasSelectedAll?n.selectedItemsCnt=l(!0):(l(!1),n.selectedItemsCnt=0);console.log(n.selectedItemsCnt)};n.selectItem=function(t){t.selected?n.selectedItemsCnt++:n.selectedItemsCnt--;console.log(n.selectedItemsCnt)};n.modalOptions={title:"Audit Pro",message:"Do you want to delete the selected Contractors?",cancelText:"No",okText:"Yes"};n.deleteItems=function(){var t=e.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",resolve:{options:function(){return n.modalOptions}}});t.result.then(function(t){if(t){o.start({message:"Deleting Contractors..."});var r=s.Enumerable().From(n.contractors).Where("w => w.selected == true").Select("s => s.Id").ToArray();f.deleteContractors(r).then(function(t){console.log(t);n.getContractors(i.currentTenantId);n.hasSelectedAll=!1;o.stop()},function(n){console.log(n);o.stop();c.error(generateErrorMessage(n))})}},function(){})};n.addNewContractor=function(){f.contractor=null;u.go("admin.contractorDetails")}}]);mainApp.controller("ContractorDetailsCtrlr",["$scope","ContractorsSvc","$stateParams","$state","blockUI","toastr","TenantsSvc","$linq","$uibModal",function(n,t,i,r,u,f,e,o,s){function h(t){for(var r,u,i=0;i<n.contractor.Branches.length;i++)u=n.contractor.Branches[i],u.selected=t,r=i;return r+1}n.$on("$viewContentLoaded",function(){n.getDetails()});n.saveButtonText="Save";n.crudMode="U";n.selectedCoordinators=!1;n.selectedCoordinatorsCnt=0;n.getDetails=function(){i.id!=null&&i.id.length>0?t.getById({id:i.id}).then(function(i){console.log(i);t.contractorId=i.Id;n.contractor=i},function(n){f.error(generateErrorMessage(n))}):(n.crudMode="C",t.contractor?n.contractor=t.contractor:(n.contractor={TenantId:e.currentTenantId,Branches:[]},t.contractor=n.contractor))};n.back=function(){r.go("admin.contractors",{id:n.contractor.TenantId})};n.save=function(){n.contractorForm.$valid&&(u.start({message:"Saving..."}),n.contractor.Id?t.update(n.contractor).then(function(){u.stop();f.success("Record successfully saved.")},function(n){console.log(n);u.stop();f.error(generateErrorMessage(n))}):t.addContractor(n.contractor).then(function(t){n.contractor.Id=t.Id;r.go("admin.contractorDetails",{id:n.contractor.Id});u.stop();f.success("New record saved successfully.")},function(n){console.log(n);u.stop();f.error(generateErrorMessage(n))}))};n.branchDetails=function(i){t.contractorBranch=i;t.contractorBranch.contractorId=n.contractor.Id;t.contractorBranch.contractorName=n.contractor.ContractorName;r.go("admin.contractorBranch",{id:n.contractor.Id})};n.addBranch=function(){t.contractorBranch={contractorId:n.contractor.Id,TenantId:n.contractor.TenantId,contractorName:n.contractor.ContractorName,Regions:[],ProjectManagers:[]};r.go("admin.contractorBranch",{id:n.contractor.Id})};n.hasSelectedAll=!1;n.selectedItemsCnt=0;n.selectAll=function(){if(n.contractor.Branches.length==0){n.hasSelectedAll=!1;return}n.hasSelectedAll?n.selectedItemsCnt=h(!0):(h(!1),n.selectedItemsCnt=0);console.log(n.selectedItemsCnt)};n.selectItem=function(t){t.selected?n.selectedItemsCnt++:n.selectedItemsCnt--;console.log(n.selectedItemsCnt)};n.modalOptions={title:"Audit Pro",message:"Do you want to delete the selected Branches?",cancelText:"No",okText:"Yes"};n.deleteBranches=function(){var i=s.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",resolve:{options:function(){return n.modalOptions}}});i.result.then(function(i){var s,e,r,h;if(i)if(n.contractor.Id)u.start({message:"Deleting Branches..."}),s=o.Enumerable().From(n.contractor.Branches).Where("w => w.selected == true").Select("s => s.Id").ToArray(),t.deleteBranches(n.contractor.Id,s).then(function(){for(var r=o.Enumerable().From(n.contractor.Branches).Where("w => w.selected == true").ToArray(),i,t=0;t<r.length;t++)i=n.contractor.Branches.indexOf(r[t]),i>=0&&(n.contractor.Branches.splice(i,1),n.selectedItemsCnt--);n.hasSelectedAll=!1;u.stop()},function(n){console.log(n);u.stop();f.error(generateErrorMessage(n))});else{for(e=o.Enumerable().From(n.contractor.Branches).Where("w => w.selected == true").ToArray(),r=0;r<e.length;r++)h=n.contractor.Branches.indexOf(e[r]),n.contractor.Branches.splice(h,1);n.hasSelectedAll=!1;n.selectedItemsCnt=0}},function(n){u.stop();f.error(n.statusText)})}}]);mainApp.controller("ContractorBranchCtrlr",["$scope","$state","ContractorsSvc","blockUI","toastr","$uibModal","$linq",function(n,t,i,r,u,f,e){function s(){i.contractorBranch.Branch=n.baseData.Branch;i.contractorBranch.Location=n.baseData.Location;i.contractorBranch.Regions=n.baseData.Regions}function o(t){for(var r,u,i=0;i<n.branch.ProjectManagers.length;i++)u=n.branch.ProjectManagers[i],u.selected=t,r=i;return r+1}n.saveButtonText="Save";n.activeTab=1;n.branch=angular.copy(i.contractorBranch);n.baseData=angular.copy(i.contractorBranch);n.backToContractor=function(){t.go("admin.contractorDetails",{id:n.branch.contractorId})};n.saveContractorBranch=function(){if(n.contractorBranchForm.$valid){if(n.branch.Regions.length==0){u.error("Please select 1 or more Regions");return}if(n.branch.Id)r.start({message:"Saving..."}),i.updateBranch(n.branch.contractorId,n.branch).then(function(){r.stop();u.success("Record saved.");n.backToContractor()},function(n){r.stop();u.error(generateErrorMessage(n))});else if(n.branch.contractorId)r.start({message:"Saving..."}),i.addBranch(n.branch.contractorId,n.branch).then(function(t){n.branch.Id=t.Id;r.stop();u.success("Record saved.");n.backToContractor()},function(n){r.stop();u.error(generateErrorMessage(n))});else{var t=i.contractor.Branches.indexOf(i.contractorBranch);t<0&&i.contractor.Branches.push(n.branch);n.baseData=angular.copy(n.branch);s();n.backToContractor()}}};n.pmDetails=function(t){var i=f.open({animation:!0,templateUrl:"/appviews/projectManagerModal",controller:"ProjectManagerCtrlr",resolve:{projectManager:function(){return t},branch:function(){return n.branch}}})};n.addProjectManager=function(){var t=f.open({animation:!0,templateUrl:"/appviews/projectManagerModal",controller:"ProjectManagerCtrlr",resolve:{projectManager:function(){return{ContractorId:n.branch.contractorId,BranchId:n.branch.Id}},branch:function(){return n.branch}}})};n.hasSelectedAll=!1;n.selectedItemsCnt=0;n.selectAll=function(){if(n.branch.ProjectManagers.length==0){n.hasSelectedAll=!1;return}n.hasSelectedAll?n.selectedItemsCnt=o(!0):(o(!1),n.selectedItemsCnt=0);console.log(n.selectedItemsCnt)};n.selectItem=function(t){t.selected?n.selectedItemsCnt++:n.selectedItemsCnt--;console.log(n.selectedItemsCnt)};n.modalOptions={title:"Audit Pro",message:"Do you want to delete the selected Project Managers?",cancelText:"No",okText:"Yes"};n.deleteProjectManagers=function(){var t=f.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",resolve:{options:function(){return n.modalOptions}}});t.result.then(function(t){var s,o,f,h;if(t)if(n.branch.Id)r.start({message:"Deleting Project Managers..."}),s=e.Enumerable().From(n.branch.ProjectManagers).Where("w => w.selected == true").Select("s => s.Id").ToArray(),i.deleteProjectManagers(n.branch.contractorId,n.branch.Id,s).then(function(){for(var u=e.Enumerable().From(n.branch.ProjectManagers).Where("w => w.selected == true").ToArray(),i,t=0;t<u.length;t++)i=n.branch.ProjectManagers.indexOf(u[t]),i>=0&&(n.branch.ProjectManagers.splice(i,1),n.selectedItemsCnt--);n.hasSelectedAll=!1;r.stop()},function(n){console.log(n);r.stop();u.error(generateErrorMessage(n))});else{for(o=e.Enumerable().From(n.branch.ProjectManagers).Where("w => w.selected == true").ToArray(),f=0;f<o.length;f++)h=n.branch.ProjectManagers.indexOf(o[f]),n.branch.ProjectManagers.splice(h,1);n.hasSelectedAll=!1;n.selectedItemsCnt=0}},function(n){r.stop();u.error(n.statusText)})}}]);mainApp.controller("ProjectManagerCtrlr",["$scope","$uibModalInstance","ContractorsSvc","blockUI","toastr",function(n,t,i,r,u){function f(){n.$resolve.projectManager.FullName=n.resetData.FullName;n.$resolve.projectManager.Email=n.resetData.Email;n.$resolve.projectManager.Mobile=n.resetData.Mobile;n.$resolve.projectManager.Ddi=n.resetData.Ddi}n.pm=angular.copy(n.$resolve.projectManager);n.resetData=angular.copy(n.$resolve.projectManager);n.closeModal=function(){t.dismiss(!1)};n.saveProjectManager=function(){if(n.pmForm.$valid)if(n.pm.Id)r.start({message:"Saving..."}),i.updateProjectManager(n.pm).then(function(){n.resetData=n.pm;f();r.stop();u.success("Record saved.");t.dismiss(!1)},function(n){r.stop();u.error(generateErrorMessage(n))});else if(n.$resolve.branch.Id)r.start({message:"Saving..."}),i.addProjectManager(n.pm).then(function(i){n.pm.Id=i.Id;n.$resolve.branch.ProjectManagers.push(n.pm);r.stop();u.success("Record saved.");t.dismiss(!1)},function(n){r.stop();u.error(generateErrorMessage(n))});else{var e=n.$resolve.branch.ProjectManagers.indexOf(n.$resolve.projectManager);e<0?n.$resolve.branch.ProjectManagers.push(n.pm):(n.resetData=n.pm,f());t.dismiss(!1)}}}]);mainApp.controller("InvoiceCtrlr",["$scope","toastr","InvoiceSvc","$state","$stateParams","blockUI","$uibModal",function(n,t,i,r,u,f,e){n.$on("$viewContentLoaded",function(){n.getInvoices()});n.currentPage=1;n.startIndex=0;n.totalPages=0;n.getInvoices=function(){i.getAllInv().then(function(t){n.invoices=t;n.totalPages=Math.ceil(n.invoices.length/defaultPageSize);n.currentPage=1;n.startIndex=0},function(n){t.error(generateErrorMessage(n))})};n.prevPage=function(){n.currentPage!=1&&(n.hasSelectedAll=!1,n.currentPage--,n.startIndex-=defaultPageSize)};n.nextPage=function(){n.currentPage!=n.totalPages&&(n.hasSelectedAll=!1,n.currentPage++,n.startIndex+=defaultPageSize)};n.addNew=function(){i.invoices=null;r.go("admin.invoiceDetails")};n.callinvoicedetails=function(n){n?r.go("admin.invoiceDetails",{id:n}):t.error("No invoice ID.")};n.removeinvoice=function(r){if(r){var u=e.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",resolve:{options:function(){return{title:"Audit Pro",message:"Deleting invoice will not remove the Xero invoice. Do you want to delete the selected transaction?",cancelText:"No",okText:"Yes"}}}});u.result.then(function(u){u&&(f.start({message:"Deleting invoice..."}),i.deleteInvoice(r).then(function(){f.stop();t.success("Invoice is succesfully deleted.");n.getInvoices()},function(n){console.log(n);f.stop();t.error(generateErrorMessage(n))}))},function(){})}else t.error("No invoice ID.")}}]);mainApp.controller("InvoiceDetailsCtrlr",["$scope","$stateParams","$state","InvoiceSvc","TenantsSvc","toastr","blockUI","$linq","$uibModal",function(n,t,i,u,f,e,o,s){n.invoices=u.invoices;n.$on("$viewContentLoaded",function(){var i=new Date;n.InvDate=new Date;n.CoverFrom=new Date;n.CoverTo=new Date(i.getFullYear(),i.getMonth()+1,0);n.AuditFrom=new Date;n.AuditTo=new Date(i.getFullYear(),i.getMonth()+1,0);n.getTenants();n.getInvDetails(t.id)});n.getTenants=function(){f.getAllActive().then(function(t){n.tenants=t},function(n){alert(n.message)})};n.getInvDetails=function(){t.id!=null&&t.id.length>0&&u.getbyid(t.id).then(function(t){if(n.inv=t,n.inv.TenantId=n.inv.TenantId,console.log(n.tenants),n.inv.TenantId){var i=s.Enumerable().From(n.tenants).FirstOrDefault(null,'f => f.Id == "'+n.inv.TenantId+'"');i&&i.Branches?(n.tenantBranches=i.Branches,n.inv.BranchId=n.inv.BranchId):n.tenantBranches=[]}n.inv.PerAuditRate=n.inv.PerAuditRate.toFixed(2);n.inv.PerMonthRate=n.inv.PerMonthRate.toFixed(2);n.inv.RateAmount=n.inv.RateAmount.toFixed(2);n.inv.UserTRateAmt=n.inv.UserTRateAmt.toFixed(2);n.inv.AuditAmount=n.inv.AuditAmount.toFixed(2);n.inv.TotalAmount=n.inv.TotalAmount.toFixed(2)},function(n){e.error(generateErrorMessage(n))})};n.GetBranches=function(t){if(t){var i=s.Enumerable().From(n.tenants).FirstOrDefault(null,'f => f.Id == "'+t+'"');n.tenantBranches=i&&i.Branches?i.Branches:[];u.GetRateById(t).then(function(t){n.listtenantrates=t},function(){n.listtenantrates=[]});u.GetNoUsers(t).then(function(t){n.inv.NumberOfUser=parseInt(t.NoUsers)},function(){n.inv.NumberOfUser=0})}};n.SelectedBranch=function(t){if(t){var i=s.Enumerable().From(n.listtenantrates).FirstOrDefault(null,'f => f.BranchId == "'+n.inv.BranchId+'"');n.inv.PerAuditRate=i.RatePerAudit.toFixed(2);n.inv.PerMonthRate=i.RatePerUser.toFixed(2)}else n.inv.PerAuditRate=0..toFixed(2),n.inv.PerMonthRate=0..toFixed(2);n.ComputeAmountAudit();n.ComputeUserRateAmount();n.ComputeAmountMonth()};n.back=function(){n.tenantBranches=[];i.go("admin.invoice")};n.save=function(){n.invoiceForm.$valid&&(n.inv.InvDate=n.InvDate,n.inv.CoverFrom=n.CoverFrom,n.inv.CoverTo=n.CoverTo,n.inv.AuditFrom=n.AuditFrom,n.inv.AuditTo=n.AuditTo,o.start({message:"Saving invoice..."}),u.addInvoice(n.inv).then(function(){o.stop();e.success("Invoice created successfully.");i.go("admin.invoice")},function(n){o.stop();e.error(generateErrorMessage(n))}))};n.ComputeAmountAudit=function(){if(n.inv.PerAuditRate==""||n.inv.PerAuditRate==undefined){n.inv.AuditAmount=0..toFixed(2);n.inv.RateAmount==""||n.inv.RateAmount==undefined?n.inv.TotalAmount=0..toFixed(2):(r,n.inv.TotalAmount=(parseFloat(n.inv.RateAmount)+parseFloat(n.inv.AuditAmount)).toFixed(2));return}if(n.inv.NumberOfAudit==""||n.inv.NumberOfAudit==undefined){n.inv.AuditAmount=0..toFixed(2);n.inv.TotalAmount=n.inv.RateAmount==""||n.inv.RateAmount==undefined?0..toFixed(2):(parseFloat(n.inv.RateAmount)+parseFloat(n.inv.AuditAmount)).toFixed(2);return}if(n.inv.AuditAmount=(parseFloat(n.inv.PerAuditRate)*parseInt(n.inv.NumberOfAudit)).toFixed(2),n.inv.RateAmount==""||n.inv.RateAmount==undefined){n.inv.TotalAmount=n.inv.AuditAmount;return}n.inv.TotalAmount=(parseFloat(n.inv.RateAmount)+parseFloat(n.inv.AuditAmount)).toFixed(2)};n.ComputeUserRateAmount=function(){if(n.inv.PerMonthRate==""||n.inv.PerMonthRate==undefined){n.inv.UserTRateAmt=0..toFixed(2);return}n.inv.UserTRateAmt=n.inv.NumberOfUser==""||n.inv.NumberOfUser==undefined?0..toFixed(2):(parseFloat(n.inv.PerMonthRate)*parseInt(n.inv.NumberOfUser)).toFixed(2)};n.ComputeAmountMonth=function(){if(n.inv.PerMonthRate==""||n.inv.PerMonthRate==undefined){n.inv.RateAmount=0..toFixed(2);n.inv.TotalAmount=n.inv.AuditAmount==""||n.inv.AuditAmount==undefined?0..toFixed(2):(parseFloat(n.inv.RateAmount)+parseFloat(n.inv.AuditAmount)).toFixed(2);return}if(n.inv.NumberOfMonth==""||n.inv.NumberOfMonth==undefined){n.inv.RateAmount=0..toFixed(2);n.inv.TotalAmount=n.inv.AuditAmount==""||n.inv.AuditAmount==undefined?0..toFixed(2):(parseFloat(n.inv.RateAmount)+parseFloat(n.inv.AuditAmount)).toFixed(2);return}if(n.inv.RateAmount=n.inv.NumberOfUser==""||n.inv.NumberOfUser==undefined?0..toFixed(2):(parseFloat(n.inv.UserTRateAmt)*parseInt(n.inv.NumberOfMonth)).toFixed(2),n.inv.AuditAmount==""||n.inv.AuditAmount==undefined){n.inv.TotalAmount=n.inv.RateAmount;return}n.inv.TotalAmount=(parseFloat(n.inv.RateAmount)+parseFloat(n.inv.AuditAmount)).toFixed(2)};n.ComputeNoMonths=function(){n.CoverFrom!=""&&n.CoverFrom!=undefined&&n.CoverTo!=""&&n.CoverTo!=undefined&&(console.log(n.CoverFrom),console.log(n.CoverTo),n.inv.NumberOfMonth=n.MonthDiff(Date.parse(n.CoverFrom),Date.parse(n.CoverTo)),console.log(n.inv.NumberOfMonth),n.ComputeUserRateAmount(),n.ComputeAmountMonth())};n.ComputeNoAudits=function(){n.AuditFrom!=""&&n.AuditFrom!=undefined&&n.AuditTo!=""&&n.AuditTo!=undefined&&(n.inv.TenantId!=null&&n.inv.TenantId.length>0&&n.inv.BranchId!=null&&n.inv.BranchId.length>0&&u.GetAuditbyDate(n.inv.TenantId,n.inv.BranchId,new Date(n.AuditFrom),new Date(n.AuditTo)).then(function(t){n.inv.NumberOfAudit=parseInt(t.NoAudits);n.ComputeAmountAudit()},function(n){e.error(generateErrorMessage(n))}),n.ComputeUserRateAmount(),n.ComputeAmountMonth())};n.MonthDiff=function(n,t){var i;return n=new Date(n),t=new Date(t),i=(t.getFullYear()-n.getFullYear())*12,i-=n.getMonth()+1,i+=t.getMonth(),i=i+1,i==0?1:i<0?0:i};n.InvDate={isOpen:!1};n.setInvoiceDate=function(){n.InvDate.isOpen=!0};n.AuditFrom={isOpen:!1};n.setAuditFromDate=function(){n.AuditFrom.isOpen=!0};n.AuditTo={isOpen:!1};n.setAuditToDate=function(){n.AuditTo.isOpen=!0};n.CoverFrom={isOpen:!1};n.setCoverFromDate=function(){n.CoverFrom.isOpen=!0};n.CoverTo={isOpen:!1};n.setCoverToDate=function(){n.CoverTo.isOpen=!0}}]);mainApp.controller("TccsCtrlr",["$scope","$resource","TenantsSvc","TokenSvc","TccsSvc","blockUI","toastr","$uibModal","$stateParams","$linq","$state",function(n,t,i,r,u,f,e,o,s,h,c){function l(t){for(var r,f=n.tccs.length<defaultPageSize?n.tccs.length:n.startIndex+defaultPageSize,u,i=n.startIndex;i<f;i++)u=n.tccs[i],u.selected=t,r=i;return r+1}n.$on("$viewContentLoaded",function(){var t=r.getRole(),u;n.selectedItemsCnt=0;t=="auditprotenantadmin"||t=="auditpromobileuser"?n.getTccs(r.getTenantId()):(n.getTenants(),u=i.currentTenantId||s.id,n.getTccs(u));t=r.getRole();n.isSuperAdmin=t=="auditproadmin"||t=="auditprotenantsadmin"});n.hasSelectedItems=!1;n.selectedItemsCnt=0;n.currentPage=1;n.startIndex=0;n.totalPages=0;n.getTccs=function(t){t!=null&&u.getByTenantId(t).then(function(r){n.tccs=r;n.totalPages=Math.ceil(n.tccs.length/defaultPageSize);n.tenant=t;n.hasSelectedItems=!1;n.selectedItemsCnt=0;n.currentPage=1;n.startIndex=0;i.currentTenantId=t;c.go("admin.tccs",{id:t},{notify:!1})},function(n){e.error(generateErrorMessage(n))})};n.getTenants=function(){i.getAllActive().then(function(t){n.tenants=t},function(n){e.error(generateErrorMessage(n))})};n.prevPage=function(){n.currentPage!=1&&(n.hasSelectedAll=!1,n.currentPage--,n.startIndex-=defaultPageSize)};n.nextPage=function(){n.currentPage!=n.totalPages&&(n.hasSelectedAll=!1,n.currentPage++,n.startIndex+=defaultPageSize)};n.selectAll=function(){if(n.tccs==null||n.tccs.length==0){n.hasSelectedAll=!1;return}n.hasSelectedAll?n.selectedItemsCnt=l(!0):(l(!1),n.selectedItemsCnt=0);console.log(n.selectedItemsCnt)};n.selectItem=function(t){t.selected?n.selectedItemsCnt++:n.selectedItemsCnt--;console.log(n.selectedItemsCnt)};n.modalOptions={title:"Audit Pro",message:"Do you want to delete the selected Traffic Control Contractors?",cancelText:"No",okText:"Yes"};n.deleteItems=function(){var t=o.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",resolve:{options:function(){return n.modalOptions}}});t.result.then(function(t){if(t){f.start({message:"Deleting Traffic Control Contractors..."});var r=h.Enumerable().From(n.tccs).Where("w => w.selected == true").Select("s => s.Id").ToArray();u.deleteTccs(r).then(function(t){console.log(t);n.getTccs(i.currentTenantId);n.hasSelectedAll=!1;f.stop()},function(n){console.log(n);f.stop();e.error(generateErrorMessage(n))})}},function(){})};n.addNew=function(){u.tcc=null;c.go("admin.tccDetails")}}]);mainApp.controller("TccDetailsCtrlr",["$scope","TccsSvc","$stateParams","$state","blockUI","toastr","TenantsSvc","$linq","$uibModal",function(n,t,i,r,u,f,e,o,s){function h(t){for(var r,u,i=0;i<n.tcc.Branches.length;i++)u=n.tcc.Branches[i],u.selected=t,r=i;return r+1}n.$on("$viewContentLoaded",function(){n.getDetails()});n.crudMode="U";n.selectedCoordinators=!1;n.selectedCoordinatorsCnt=0;n.getDetails=function(){i.id!=null&&i.id.length>0?t.getById({id:i.id}).then(function(t){console.log(t);n.tcc=t},function(n){f.error(generateErrorMessage(n))}):(n.crudMode="C",t.tcc?n.tcc=t.tcc:(n.tcc={TenantId:e.currentTenantId,Branches:[]},t.tcc=n.tcc))};n.back=function(){r.go("admin.tccs",{id:n.tcc.TenantId})};n.save=function(){n.tccForm.$valid&&(u.start({message:"Saving..."}),n.tcc.Id?t.update(n.tcc).then(function(){u.stop();f.success("Record successfully saved.")},function(n){console.log(n);u.stop();f.error(generateErrorMessage(n))}):t.add(n.tcc).then(function(t){n.tcc.Id=t.Id;r.go("admin.tccDetails",{id:n.tcc.Id});u.stop();f.success("New record saved successfully.")},function(n){console.log(n);u.stop();f.error(generateErrorMessage(n))}))};n.branchDetails=function(i){t.tccBranch=i;t.tccBranch.tccId=n.tcc.Id;t.tccBranch.organisationName=n.tcc.OrganisationName;r.go("admin.tccBranch",{id:n.tcc.Id})};n.addBranch=function(){t.tccBranch={tccId:n.tcc.Id,TenantId:n.tcc.TenantId,OrganisationName:n.tcc.OrganisationName,Regions:[],STMSs:[]};r.go("admin.tccBranch",{id:n.tcc.Id})};n.hasSelectedAll=!1;n.selectedItemsCnt=0;n.selectAll=function(){if(n.tcc.Branches.length==0){n.hasSelectedAll=!1;return}n.hasSelectedAll?n.selectedItemsCnt=h(!0):(h(!1),n.selectedItemsCnt=0);console.log(n.selectedItemsCnt)};n.selectItem=function(t){t.selected?n.selectedItemsCnt++:n.selectedItemsCnt--;console.log(n.selectedItemsCnt)};n.modalOptions={title:"Audit Pro",message:"Do you want to delete the selected Branches?",cancelText:"No",okText:"Yes"};n.deleteBranches=function(){var i=s.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",resolve:{options:function(){return n.modalOptions}}});i.result.then(function(i){var s,e,r,h;if(i)if(n.tcc.Id)u.start({message:"Deleting Branches..."}),s=o.Enumerable().From(n.tcc.Branches).Where("w => w.selected == true").Select("s => s.Id").ToArray(),t.deleteBranches(n.tcc.Id,s).then(function(){for(var r=o.Enumerable().From(n.tcc.Branches).Where("w => w.selected == true").ToArray(),i,t=0;t<r.length;t++)i=n.tcc.Branches.indexOf(r[t]),i>=0&&(n.tcc.Branches.splice(i,1),n.selectedItemsCnt--);n.hasSelectedAll=!1;u.stop()},function(n){console.log(n);u.stop();f.error(generateErrorMessage(n))});else{for(e=o.Enumerable().From(n.tcc.Branches).Where("w => w.selected == true").ToArray(),r=0;r<e.length;r++)h=n.tcc.Branches.indexOf(e[r]),n.tcc.Branches.splice(h,1);n.hasSelectedAll=!1;n.selectedItemsCnt=0}},function(){})}}]);mainApp.controller("TccBranchCtrlr",["$scope","$state","TccsSvc","blockUI","toastr","$uibModal","$linq",function(n,t,i,r,u,f,e){function o(t){for(var r,u,i=0;i<n.branch.STMSs.length;i++)u=n.branch.STMSs[i],u.selected=t,r=i;return r+1}n.saveButtonText="Save";n.activeTab=1;n.branch=i.tccBranch;n.resetData=angular.copy(i.tccBranch);n.backToTCContractor=function(){n.tccBranchForm.$dirty&&(n.branch.Branch=n.resetData.Branch,n.branch.Location=n.resetData.Location,n.branch.Regions=n.resetData.Regions);t.go("admin.tccDetails",{id:n.branch.tccId})};n.saveTccBranch=function(){if(n.tccBranchForm.$valid){if(n.branch.Regions.length==0){u.error("Please select 1 or more Regions");return}if(n.branch.Id)r.start({message:"Saving..."}),i.updateBranch(n.branch.tccId,n.branch).then(function(){r.stop();u.success("Record saved.");t.go("admin.tccDetails",{id:n.branch.tccId})},function(n){r.stop();u.error(generateErrorMessage(n))});else if(n.branch.tccId)i.addBranch(n.branch.tccId,n.branch).then(function(i){n.branch.Id=i.Id;r.stop();u.success("Record saved.");t.go("admin.tccDetails",{id:n.branch.tccId})},function(n){r.stop();u.error(generateErrorMessage(n))});else{var f=i.tcc.Branches.indexOf(n.branch);f<0&&i.tcc.Branches.push(n.branch);t.go("admin.tccDetails",{id:n.branch.tccId})}}};n.stmsDetails=function(t){var i=f.open({animation:!0,templateUrl:"/appviews/stmsModal",controller:"StmsCtrlr",size:"lg",resolve:{stms:function(){return t},branch:function(){return n.branch}}})};n.addStms=function(){var t=f.open({animation:!0,templateUrl:"/appviews/stmsModal",controller:"StmsCtrlr",size:"lg",resolve:{stms:function(){return{TccId:n.branch.tccId,BranchId:n.branch.Id}},branch:function(){return n.branch}}})};n.hasSelectedAll=!1;n.selectedItemsCnt=0;n.selectAll=function(){if(n.branch.STMSs.length==0){n.hasSelectedAll=!1;return}n.hasSelectedAll?n.selectedItemsCnt=o(!0):(o(!1),n.selectedItemsCnt=0);console.log(n.selectedItemsCnt)};n.selectItem=function(t){t.selected?n.selectedItemsCnt++:n.selectedItemsCnt--;console.log(n.selectedItemsCnt)};n.modalOptions={title:"Audit Pro",message:"Do you want to delete the selected STMSs?",cancelText:"No",okText:"Yes"};n.deleteStmss=function(){var t=f.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",resolve:{options:function(){return n.modalOptions}}});t.result.then(function(t){var s,o,f,h;if(t)if(n.branch.Id)r.start({message:"Deleting STMSs..."}),s=e.Enumerable().From(n.branch.STMSs).Where("w => w.selected == true").Select("s => s.Id").ToArray(),i.deleteStmss(n.branch.tccId,n.branch.Id,s).then(function(){for(var u=e.Enumerable().From(n.branch.STMSs).Where("w => w.selected == true").ToArray(),i,t=0;t<u.length;t++)i=n.branch.STMSs.indexOf(u[t]),i>=0&&(n.branch.STMSs.splice(i,1),n.selectedItemsCnt--);n.hasSelectedAll=!1;r.stop()},function(n){console.log(n);r.stop();u.error(generateErrorMessage(n))});else{for(o=e.Enumerable().From(n.branch.STMSs).Where("w => w.selected == true").ToArray(),f=0;f<o.length;f++)h=n.branch.STMSs.indexOf(o[f]),n.branch.STMSs.splice(h,1);n.hasSelectedAll=!1;n.selectedItemsCnt=0}},function(){})}}]);mainApp.controller("StmsCtrlr",["$scope","$uibModalInstance","TccsSvc","blockUI","toastr",function(n,t,i,r,u){n.$watch("stms",function(t){t&&(console.log(t),n.stms.Qualification1Until&&(n.stms.Qualification1Until=new Date(n.stms.Qualification1Until)),n.stms.Qualification2Until&&(n.stms.Qualification2Until=new Date(n.stms.Qualification2Until)),n.stms.Qualification3Until&&(n.stms.Qualification3Until=new Date(n.stms.Qualification3Until)))});n.stms=n.$resolve.stms;n.resetData=angular.copy(n.$resolve.stms);n.closeModal=function(){n.stmsForm.$dirty&&(n.stms.FullName=n.resetData.FullName,n.stms.Email=n.resetData.Email,n.stms.Mobile=n.resetData.Mobile,n.stms.DDI=n.resetData.DDI,n.stms.CertificationNumber=n.resetData.CertificationNumber,n.stms.Qualification1=n.resetData.Qualification1,n.stms.Qualification1Until=n.resetData.Qualification1Until,n.stms.Qualification2=n.resetData.Qualification2,n.stms.Qualification2Until=n.resetData.Qualification2Until,n.stms.Qualification3=n.resetData.Qualification3,n.stms.Qualification3Until=n.resetData.Qualification3Until);t.dismiss(!1)};n.saveStms=function(){if(n.stmsForm.$valid)if(n.stms.Id)r.start({message:"Saving..."}),i.updateStms(n.stms).then(function(){n.$resolve.stms.FullName=n.stms.FullName;n.$resolve.stms.Email=n.stms.Email;n.$resolve.stms.Mobile=n.stms.Mobile;n.$resolve.stms.DDI=n.stms.DDI;n.$resolve.stms.CertificationNumber=n.stms.CertificationNumber;n.$resolve.stms.Qualification1=n.stms.Qualification1;n.$resolve.stms.Qualification1Until=n.stms.Qualification1Until;n.$resolve.stms.Qualification2=n.stms.Qualification2;n.$resolve.stms.Qualification2Until=n.stms.Qualification2Until;n.$resolve.stms.Qualification3=n.stms.Qualification3;n.$resolve.stms.Qualification3Until=n.stms.Qualification3Until;r.stop();u.success("Record saved.")},function(n){r.stop();u.error(generateErrorMessage(n))});else if(n.$resolve.branch.Id)r.start({message:"Saving..."}),i.addStms(n.stms).then(function(t){n.stms.Id=t.Id;n.$resolve.branch.STMSs.push(n.stms);r.stop();u.success("Record saved.")},function(n){r.stop();u.error(generateErrorMessage(n))});else{var f=n.$resolve.branch.STMSs.indexOf(n.stms);f<0&&n.$resolve.branch.STMSs.push(n.stms);t.dismiss(!1)}};n.dateControls={Qualification1UntilIsOpen:!1,Qualification2UntilIsOpen:!1,Qualification3UntilIsOpen:!1};n.setQualificationUntil=function(t){switch(t){case 1:n.dateControls.Qualification1UntilIsOpen=!0;break;case 2:n.dateControls.Qualification2UntilIsOpen=!0;break;case 3:n.dateControls.Qualification3UntilIsOpen=!0}}}]);mainApp.controller("AssetOwnersCtrlr",["$scope","AssetOwnersSvc","TenantsSvc","TokenSvc","$stateParams","$state","blockUI","toastr","$uibModal","$linq",function(n,t,i,r,u,f,e,o,s,h){function c(t){for(var r,f=n.assetOwners.length<defaultPageSize?n.assetOwners.length:n.startIndex+defaultPageSize,u,i=n.startIndex;i<f;i++)u=n.assetOwners[i],u.selected=t,r=i;return r+1}n.$on("$viewContentLoaded",function(){var t=r.getRole(),f;n.selectedItemsCnt=0;t=="auditprotenantadmin"||t=="auditpromobileuser"?n.getAssetOwners(r.getTenantId()):(n.getTenants(),f=i.currentTenantId||u.id,n.getAssetOwners(f));t=r.getRole();n.isSuperAdmin=t=="auditproadmin"||t=="auditprotenantsadmin"});n.hasSelectedItems=!1;n.selectedItemsCnt=0;n.currentPage=1;n.startIndex=0;n.totalPages=0;n.getAssetOwners=function(r){r!=null&&t.getByTenantId(r).then(function(t){n.assetOwners=t;n.totalPages=Math.ceil(n.assetOwners.length/defaultPageSize);n.tenant=r;n.hasSelectedItems=!1;n.selectedItemsCnt=0;n.currentPage=1;n.startIndex=0;i.currentTenantId=r;f.go("admin.assetOwners",{id:r},{notify:!1})},function(n){o.error(generateErrorMessage(n))})};n.getTenants=function(){i.getAllActive().then(function(t){n.tenants=t},function(n){o.error(generateErrorMessage(n))})};n.prevPage=function(){n.currentPage!=1&&(n.hasSelectedAll=!1,n.currentPage--,n.startIndex-=defaultPageSize)};n.nextPage=function(){n.currentPage!=n.totalPages&&(n.hasSelectedAll=!1,n.currentPage++,n.startIndex+=defaultPageSize)};n.selectAll=function(){if(n.assetOwners==null||n.assetOwners.length==0){n.hasSelectedAll=!1;return}n.hasSelectedAll?n.selectedItemsCnt=c(!0):(c(!1),n.selectedItemsCnt=0);console.log(n.selectedItemsCnt)};n.selectItem=function(t){t.selected?n.selectedItemsCnt++:n.selectedItemsCnt--};n.modalOptions={title:"Audit Pro",message:"Do you want to delete the selected Asset Owners?",cancelText:"No",okText:"Yes"};n.deleteItems=function(){var r=s.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",resolve:{options:function(){return n.modalOptions}}});r.result.then(function(r){if(r){e.start({message:"Deleting Asset Owners..."});var u=h.Enumerable().From(n.assetOwners).Where("w => w.selected == true").ToArray(),f=h.Enumerable().From(u).Select("s => s.Id").ToArray();t.deleteAssetOwners(f).then(function(){n.hasSelectedAll&&(n.hasSelectedAll=!1);n.getAssetOwners(i.currentTenantId);e.stop()},function(n){console.log(n);e.stop();o.error(generateErrorMessage(n))})}},function(){})};n.addNew=function(){t.assetOwner=null;f.go("admin.assetOwnerDetails")}}]);mainApp.controller("AssetOwnerDetailsCtrlr",["$scope","AssetOwnersSvc","$stateParams","$state","blockUI","toastr","TenantsSvc","$linq","$uibModal",function(n,t,i,r,u,f,e,o,s){function h(t){for(var r,u,i=0;i<n.assetOwner.Branches.length;i++)u=n.assetOwner.Branches[i],u.selected=t,r=i;return r+1}n.$on("$viewContentLoaded",function(){n.getDetails()});n.getDetails=function(){i.id!=null&&i.id.length>0?t.getById({id:i.id}).then(function(i){console.log(i);n.assetOwner=i;t.assetOwner=n.assetOwner},function(n){f.error(generateErrorMessage(n))}):(n.crudMode="C",t.assetOwner?n.assetOwner=t.assetOwner:(n.assetOwner={TenantId:e.currentTenantId,Branches:[]},t.assetOwner=n.assetOwner))};n.back=function(){r.go("admin.assetOwners",{id:n.assetOwner.TenantId})};n.save=function(){n.assetOwnerForm.$valid&&(u.start({message:"Saving..."}),n.assetOwner.Id?t.update(n.assetOwner).then(function(){u.stop();f.success("Record successfully saved.")},function(n){console.log(n);u.stop();f.error(generateErrorMessage(n))}):t.add(n.assetOwner).then(function(t){n.assetOwner.Id=t.Id;r.go("admin.assetOwnerDetails",{id:n.assetOwner.Id},{notify:!1});u.stop();f.success("Record successfully saved.")},function(n){console.log(n);u.stop();f.error(generateErrorMessage(n))}))};n.branchDetails=function(i){t.assetOwnerBranch=i;t.assetOwnerBranch.assetOwnerId=n.assetOwner.Id;t.assetOwnerBranch.OrganisationName=n.assetOwner.OrganisationName;r.go("admin.assetOwnerBranch",{id:n.assetOwner.Id})};n.addBranch=function(){t.assetOwnerBranch={assetOwnerId:n.assetOwner.Id,TenantId:n.assetOwner.TenantId,OrganisationName:n.assetOwner.OrganisationName,Regions:[]};r.go("admin.assetOwnerBranch",{id:n.assetOwner.Id})};n.hasSelectedAll=!1;n.selectedItemsCnt=0;n.selectAll=function(){if(n.assetOwner.Branches.length==0){n.hasSelectedAll=!1;return}n.hasSelectedAll?n.selectedItemsCnt=h(!0):(h(!1),n.selectedItemsCnt=0);console.log(n.selectedItemsCnt)};n.selectItem=function(t){t.selected?n.selectedItemsCnt++:n.selectedItemsCnt--;console.log(n.selectedItemsCnt)};n.modalOptions={title:"Audit Pro",message:"Do you want to delete the selected Branches?",cancelText:"No",okText:"Yes"};n.deleteBranches=function(){var i=s.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",resolve:{options:function(){return n.modalOptions}}});i.result.then(function(i){if(i){u.start({message:"Deleting Branches..."});var r=o.Enumerable().From(n.assetOwner.Branches).Where("w => w.selected == true").Select("s => s.Id").ToArray();t.deleteBranches(n.assetOwner.Id,r).then(function(){for(var r=o.Enumerable().From(n.assetOwner.Branches).Where("w => w.selected == true").ToArray(),i,t=0;t<r.length;t++)i=n.assetOwner.Branches.indexOf(r[t]),i>=0&&(n.assetOwner.Branches.splice(i,1),n.selectedItemsCnt--);n.hasSelectedAll=!1;u.stop()},function(n){console.log(n);u.stop();f.error(generateErrorMessage(n))})}},function(){u.stop()})}}]);mainApp.controller("AssetOwnerBranchCtrlr",["$scope","$state","AssetOwnersSvc","blockUI","toastr","$uibModal","$linq",function(n,t,i,r,u){function f(){i.assetOwnerBranch.Branch=n.baseData.Branch;i.assetOwnerBranch.Location=n.baseData.Location;i.assetOwnerBranch.Regions=n.baseData.Regions}n.saveButtonText="Save";n.activeTab=1;n.branch=angular.copy(i.assetOwnerBranch);n.baseData=angular.copy(i.assetOwnerBranch);n.backToAssetOwner=function(){t.go("admin.assetOwnerDetails",{id:n.branch.assetOwnerId})};n.saveBranch=function(){if(n.form.$valid){if(n.branch.Regions.length==0){u.error("Please select 1 or more Regions");return}if(n.branch.Id)r.start({message:"Saving..."}),i.updateBranch(n.branch.assetOwnerId,n.branch).then(function(){r.stop();u.success("Record saved.");n.backToAssetOwner()},function(n){r.stop();u.error(generateErrorMessage(n))});else if(n.branch.assetOwnerId)i.addBranch(n.branch.assetOwnerId,n.branch).then(function(t){n.branch.Id=t.Id;r.stop();u.success("Record saved.");n.backToAssetOwner()},function(n){r.stop();u.error(generateErrorMessage(n))});else{var t=i.assetOwner.Branches.indexOf(i.assetOwnerBranch);t<0?i.assetOwner.Branches.push(n.branch):(n.baseData=angular.copy(n.branch),f());n.backToAssetOwner()}}}}]);mainApp.controller("RCAsCtrlr",["$scope","$resource","TenantsSvc","RCAsSvc","$state","$stateParams","$uibModal","blockUI","$linq","toastr","TokenSvc",function(n,t,i,r,u,f,e,o,s,h,c){function l(t){for(var r,f=n.assetOwners.length<defaultPageSize?n.rcas.length:n.startIndex+defaultPageSize,u,i=n.startIndex;i<f;i++)u=n.rcas[i],u.selected=t,r=i;return r+1}console.log("RCAsCtrlr");n.$on("$viewContentLoaded",function(){var r,t;console.log("RCAsCtrlr.$vieoContentLoaded");t=c.getRole();t=="auditprotenantadmin"||t=="auditpromobileuser"?n.getRcas(c.getTenantId()):(n.getTenants(),r=i.currentTenantId||f.id,n.getRcas(r));t=c.getRole();n.isSuperAdmin=t=="auditproadmin"||t=="auditprotenantsadmin"});n.hasSelectedRcas=!1;n.selectedRcasCnt=0;n.currentPage=1;n.startIndex=0;n.getRcas=function(t){t!=null&&r.getByTenantId({tenantId:t}).then(function(r){n.rcas=r;n.totalPages=Math.ceil(n.rcas.length/defaultPageSize);n.tenant=t;n.hasSelectedRcas=!1;n.selectedRcasCnt=0;n.currentPage=1;n.startIndex=0;i.currentTenantId=t;u.go("admin.rcas",{id:t},{notify:!1})},function(n){h.error(generateErrorMessage(n))})};n.getTenants=function(){i.getAllActive().then(function(t){n.tenants=t},function(n){h.error(generateErrorMessage(n))})};n.prevPage=function(){n.currentPage!=1&&(n.hasSelectedRcas=!1,n.currentPage--,n.startIndex-=defaultPageSize)};n.nextPage=function(){n.currentPage!=n.totalPages&&(n.hasSelectedRcas=!1,n.currentPage++,n.startIndex+=defaultPageSize)};n.selectAllRcas=function(){n.hasSelectedRcas?n.selectedRcasCnt=l(!0):(l(!1),n.selectedRcasCnt=0)};n.selectRca=function(t){t.selected?n.selectedRcasCnt++:n.selectedRcasCnt--};n.modalOptions={title:"Audit Pro",message:"Do you want to delete the "+n.selectedRcasCnt+" selected RCAs?",cancelText:"No",okText:"Yes"};n.deleteRcas=function(){var t=e.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",resolve:{options:function(){return{title:"Audit Pro",message:"Do you want to delete the "+n.selectedRcasCnt+" selected RCAs?",cancelText:"No",okText:"Yes"}}}});t.result.then(function(t){if(t){o.start({message:"Deleting RCAs..."});var u=s.Enumerable().From(n.rcas).Where("w => w.selected == true").ToArray(),f=s.Enumerable().From(u).Select("s => s.Id").ToArray();r.deleteRcas(f).then(function(){n.getRcas(i.currentTenantId);o.stop()},function(n){console.log(n);o.stop();h.error(generateErrorMessage(n))})}},function(){})};n.addNew=function(){u.go("admin.rcadetails")}}]);mainApp.controller("RCADetailsCtrlr",["$scope","$stateParams","$resource","RCAsSvc","$uibModal","$state","toastr","blockUI","$linq","TenantsSvc",function(n,t,i,r,u,f,e,o,s,h){n.$on("$viewContentLoaded",function(){n.getDetails()});n.saveButtonText="Save";n.crudMode="U";n.selectedCoordinators=!1;n.selectedCoordinatorsCnt=0;n.getDetails=function(){t.id.length>0?r.getById({id:t.id}).then(function(t){console.log(t);n.rca=t;n.title="Road Controlling Authority"},function(n){e.error(generateErrorMessage(n))}):(n.crudMode="C",n.rca={TenantId:h.currentTenantId,Regions:[],Coordinators:[]},n.title="New Road Controlling Authority")};n.coordinatorDetails=function(t){var i=u.open({animation:!0,templateUrl:"coordinatorModal",controller:"CoordinatorModalCtrlr",resolve:{coordinator:function(){return t},rca:function(){return n.rca}}})};n.edit=function(){n.crudMode="U"};n.save=function(){if(n.rcaForm.$valid){if(n.rca.Regions.length==0){e.error("Please select 1 or more Regions");return}o.start({message:"Saving..."});n.rca.Id?r.update(n.rca).then(function(){o.stop();e.success("Record successfully saved.")},function(n){console.log(n);o.stop();e.error(generateErrorMessage(n))}):r.add(n.rca).then(function(t){n.rca.Id=t.Id;f.go("admin.rcadetails",{id:t.Id});o.stop();e.success("Record successfully saved.")},function(n){console.log(n);o.stop();e.error(generateErrorMessage(n))})}};n.cancel=function(){n.crudMode="R"};n.back=function(){f.go("admin.rcas",{id:n.rca.TenantId})};n.selectAllCoordinators=function(){var t,i;if(n.selectedCoordinators){for(t=0;t<n.rca.Coordinators.length;t++)i=n.rca.Coordinators[t],i.selected=!0;n.selectedCoordinatorsCnt=n.rca.Coordinators.length}else{for(t=0;t<n.rca.Coordinators.length;t++)i=n.rca.Coordinators[t],i.selected=!1;n.selectedCoordinatorsCnt=0}n.rcaForm.$setDirty()};n.selectCoordinator=function(t){t.selected?n.selectedCoordinatorsCnt++:n.selectedCoordinatorsCnt--;n.rcaForm.$setDirty()};n.modalOptions={title:"Audit Pro",message:"Do you want to delete the selected Co-Ordinator(s)?",cancelText:"No",okText:"Yes"};n.deleteCoordinators=function(){var t=u.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",resolve:{options:function(){return n.modalOptions}}});t.result.then(function(t){var f,u,i,h;if(t)if(n.rca.Id)o.start({message:"Deleting Co-Ordinator(s)..."}),f=s.Enumerable().From(n.rca.Coordinators).Where("w => w.selected == true").Select("s => s.Id").ToArray(),r.deleteCoordinators(n.rca.Id,f).then(function(t){var r,i,u;for(console.log(t),r=s.Enumerable().From(n.rca.Coordinators).Where("w => w.selected == true").ToArray(),i=0;i<r.length;i++)u=n.rca.Coordinators.indexOf(r[i]),u>=0&&(n.rca.Coordinators.splice(u,1),n.selectedAudits--);o.stop()},function(n){console.log(n);o.stop();e.error(generateErrorMessage(n))});else{for(u=s.Enumerable().From(n.rca.Coordinators).Where("w => w.selected == true").ToArray(),i=0;i<u.length;i++)h=n.rca.Coordinators.indexOf(u[i]),n.rca.Coordinators.splice(h,1);n.hasSelectedAll=!1;n.selectedItemsCnt=0}},function(){})};n.addCoordinator=function(){var t={FullName:"",Email:"",Mobile:"",DDI:"",CoPTTMID:"",Qualification:"",Expiry:"",Notes:""},i=u.open({animation:!0,templateUrl:"coordinatorModal",controller:"CoordinatorModalCtrlr",resolve:{coordinator:function(){return t},rca:function(){return n.rca}}})}}]);mainApp.controller("CoordinatorModalCtrlr",["$scope","coordinator","$uibModalInstance","RCAsSvc","toastr","blockUI","rca",function(n,t,i,r,u,f,e){function o(){t.FullName=n.baseData.FullName;t.Email=n.baseData.Email;t.Mobile=n.baseData.Mobile;t.DDI=n.baseData.DDI;t.CoPTTMID=n.baseData.CoPTTMID;t.Qualification=n.baseData.Qualification;t.Expiry=n.baseData.Expiry;t.Notes=n.baseData.Notes}n.$watch("coordinator",function(t){t&&(n.coordinator.expiryDateControlIsOpen=!1,n.coordinator.Expiry&&(n.coordinator.Expiry=new Date(n.coordinator.Expiry)))});n.crudMode=t.Id==null?"C":"U";n.rcaId=e.Id;n.coordinator=angular.copy(t);n.baseData=angular.copy(t);n.closeModal=function(){i.dismiss(!1)};n.edit=function(){n.crudMode="U"};n.saveCoordinator=function(){if(n.coordinatorForm.$valid)if(n.crudMode=="U")n.coordinator.rcaId=n.rcaId,f.start({message:"Saving..."}),r.updateCoordinator(n.coordinator).then(function(){n.baseData=angular.copy(n.coordinator);o();f.stop();u.success("Record saved.");n.closeModal()},function(n){f.stop();u.error(generateErrorMessage(n))});else if(e.Id)f.start({message:"Saving..."}),n.coordinator.rcaId=n.rcaId,r.addCoordinator(n.rcaId,n.coordinator).then(function(t){n.coordinator.Id=t.Id;n.baseData=angular.copy(n.coordinator);e.Coordinators.push(n.coordinator);n.crudMode="U";f.stop();u.success("Coordinator added.");n.closeModal()},function(n){f.stop();u.error(generateErrorMessage(n))});else{var s=e.Coordinators.indexOf(t);s<0?e.Coordinators.push(n.coordinator):(n.baseData=angular.copy(n.coordinator),o());i.close(!0)}};n.cancel=function(){n.coordinator=angular.copy(n.baseData);n.crudMode="R"};n.setCoordinatorExpiry=function(){n.coordinator.expiryDateControlIsOpen=!0}}]);mainApp.controller("ManageAccountCtrlr",["$scope","UsersSvc","TokenSvc","blockUI","toastr",function(n,t,i,r,u){n.$on("$viewContentLoaded",function(){n.getUserDetails(i.getUserId())});n.tab=1;n.crudMode="R";n.getUserDetails=function(i){i.length>0?t.getById(i).then(function(t){console.log(t);n.baseUser=t;n.user=angular.copy(t)},function(n){u.error(n.statusText)}):n.user={TenantId:TenantsSvc.currentTenantId}};n.edit=function(){n.crudMode="U"};n.cancel=function(){n.user=n.baseUser;n.crudMode="R"};n.save=function(){r.start({message:"Saving..."});t.updateUser(n.user).then(function(){n.baseUser=n.user;n.crudMode="R";r.stop();u.success("Account details updated successfully.")},function(n){r.stop();u.error(n.statusText)})};n.changePassword=function(){n.changePasswordForm.$valid&&(r.start({message:"Changing password..."}),t.changePassword(n.user.CurrentPassword,n.user.NewPassword,n.user.ConfirmPassword).then(function(){n.user.CurrentPassword="";n.user.NewPassword="";n.user.ConfirmPassword="";r.stop();u.success("Password changed successfully")},function(n){r.stop();u.error(n.statusText)}))}}]);mainApp.controller("TrucksCtrlr",["$scope","$state","TrucksSvc","toastr","TokenSvc","TenantsSvc","blockUI","$uibModal","$q",function(n,t,i,r,u,f,e,o,s){function h(){e.start({message:"Loading..."});f.getAllActive().then(function(t){n.tenants=t;e.stop()},function(n){e.stop();r.error(generateErrorMessage(n))})}function c(n){var t=s.defer();return s.all([f.getUserEmails(n.tenantId)]).then(function(n){console.log(n);t.resolve(n)},function(n){t.reject(n)}),t.promise}n.$on("$viewContentLoaded",function(){e.start({message:"Loading..."});n.getTrucks(t.params.id);var i=u.getRole();n.isSuperAdmin=i=="auditproadmin";n.isSuperAdmin?h():n.getTrucks(u.getTenantId())});n.getTrucks=function(u){if(u==null||u.length==0){n.trucks=[];e.stop();return}i.getAllByTenant(u).then(function(i){n.trucks=i;n.tenant=u;t.go("admin.trucks",{id:u},{notify:!1});e.stop()},function(n){e.stop();r.error(generateErrorMessage(n))})};n.newTruck=function(){t.go("admin.trucknew",{id:n.tenant})};n.getDaysUntilExp=function(n){var t=moment(n);return t.diff(moment(),"days")};n.openEmailAssignments=function(n,t){console.log(t);n.preventDefault();var i;c(t).then(function(n){var r,u,f;for(console.log(n),r=n[0],u=0;u<r.length;u++)f=r[u],f.label=f.FullName+" ("+f.Email+")";i=o.open({animation:!0,templateUrl:"/appviews/emailassignments",controller:"EmailAssignmentsCtrlr",resolve:{userEmails:function(){return r},truck:function(){return t}}})},function(n){console.log(n)})}}]);mainApp.controller("TruckDetailsCtrlr",["$scope","$state","TrucksSvc","blockUI","toastr","$window",function(n,t,i,r,u,f){n.$on("$viewContentLoaded",function(){t.current.url.search("new")>=0?n.truck={tenantId:t.params.id}:(r.start({message:"Loading..."}),i.getById(t.params.id).then(function(t){n.truck=t;n.truck.CofExpiry=t.CofExpiry!=null?new Date(t.CofExpiry):null;n.truck.RegoExpiry=t.RegoExpiry!=null?new Date(t.RegoExpiry):null;r.stop()},function(n){r.stop();u.error(generateErrorMessage(n))}))});n.truck={};n.cofExpiryDatepickerIsOpen=!1;n.regoExpiryDatepickerIsOpen=!1;n.openCofExpiryDatepicker=function(){n.cofExpiryDatepickerIsOpen=!0};n.openRegoExpiryDatepicker=function(){n.regoExpiryDatepickerIsOpen=!0};n.back=function(){f.history.back()};n.save=function(){n.form.$valid&&(r.start({message:"Saving..."}),n.truck.Id?i.update(n.truck).then(function(){r.stop();u.success("Record successfully saved.")},function(n){r.stop();u.error(generateErrorMessage(n))}):i.add(n.truck).then(function(t){n.truck.Id=t.Id;r.stop();u.success("Record successfully saved.")},function(n){r.stop();u.error(generateErrorMessage(n))}))}}]);mainApp.controller("TruckAuditsCtrlr",["$scope","$state","blockUI","toastr","TrucksSvc","$uibModal","$window",function(n,t,i,r,u,f,e){n.$on("$viewContentLoaded",function(){t.params.id&&(i.start({message:"Loading..."}),u.getAuditsByTruckId(t.params.id).then(function(t){n.fields=t;i.stop()},function(n){i.stop();r.error(generateErrorMessage(n))}))});n.showMore=function(t){n.fields.Audits[t].showMore=!n.fields.Audits[t].showMore};n.getFluidLevelName=function(n){switch(n){case 0:return"Unspecified";case 1:return"Low";case 2:return"Medium";case 3:return"High"}};n.showInspectionDetails=function(n){var t=f.open({animation:!0,templateUrl:"/appviews/inspectiondetailsmodal",controller:"InspectionDetailsModalCtrlr",resolve:{inspectionDetails:function(){return n}}})};n.back=function(){e.history.back()};n.getDaysUntilExp=function(n){var t=moment(n);return t.diff(moment(),"days")}}]);mainApp.controller("InspectionDetailsModalCtrlr",["$scope","$uibModalInstance","inspectionDetails",function(n,t,i){function r(){var t,i,r;if(n.inspectionDetails.AudioNotes!=null)for(t=0;t<n.inspectionDetails.AudioNotes.length;t++)i=n.inspectionDetails.AudioNotes[t],r=i.replace(i.substr(-4),".mp3"),n.inspectionDetails.AudioNotes[t]=r}console.log(i);n.inspectionDetails=i;n.closeModal=function(){t.dismiss(null)};r()}]);mainApp.controller("UsersCtrlr",["$scope","TenantsSvc","UsersSvc","$state","$stateParams","TokenSvc","$linq","toastr","$uibModal","blockUI",function(n,t,i,r,u,f,e,o,s,h){n.$on("$viewContentLoaded",function(){var r,i;n.pageSize=n.pageSizes[1];i=f.getRole();i=="auditprotenantadmin"?n.getUsers(f.getTenantId(),!1):(n.getTenants(),r=t.currentTenantId||u.id,n.getUsers(r,!1));i=f.getRole();n.isSuperAdmin=i=="auditproadmin"||i=="auditprotenantsadmin"});n.prevPage=function(){n.currentPage!=1&&(n.hasSelectedAll=!1,n.currentPage--,n.startIndex-=defaultPageSize)};n.nextPage=function(){n.currentPage!=n.totalPages&&(n.hasSelectedAll=!1,n.currentPage++,n.startIndex+=defaultPageSize)};n.updatePageControls=function(){n.currentPage=1;n.totalPages=Math.ceil(n.users.length/n.pageSize.value)};n.selectedItemsCnt=0;n.currentPage=1;n.startIndex=0;n.totalPages=0;n.pageSizes=[{label:"10",value:10},{label:"20",value:20},{label:"30",value:30},{label:"40",value:40},{label:"50",value:50},{label:"All",value:9999}];n.pageSize=null;n.getUsers=function(u,f){u.length!=0&&i.getByTenantId(u,f).then(function(i){console.log(i);n.users=i;n.totalPages=Math.ceil(n.users.length/n.pageSize.value);n.currentPage=1;n.startIndex=0;n.tenant=u;t.currentTenantId=u;r.go("admin.users",{id:u},{notify:!1})},function(n){o.error(generateErrorMessage(n))})};n.getTenants=function(){t.getAllActive().then(function(t){n.tenants=t},function(n){o.error(generateErrorMessage(n))})};n.addNewUser=function(){var i=e.Enumerable().From(n.tenants).FirstOrDefault(null,'f => f.Id == "'+n.tenant+'"');t.tenant=i;r.go("admin.userDetails",{id:null})};n.toggleActive=function(n){var t;n.Active?(t=s.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",size:"sm",resolve:{options:function(){return{title:"Audit Pro",message:"Do you want to deactivate user <br/><b>"+n.FullName+"<\/b>?",cancelText:"No",okText:"Yes"}}}}),t.result.then(function(t){t&&(h.start({message:"Deactivating user..."}),i.deactivate(n.Id).then(function(){n.Active=!1;n.activeTooltip="Activate";o.success("User deactivated.");h.stop()},function(n){console.log(n);h.stop();o.error(generateErrorMessage(n))}))})):(t=s.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",size:"sm",resolve:{options:function(){return{title:"Audit Pro",message:"Do you want to activate user <br/><b>"+n.FullName+"<\/b>?",cancelText:"No",okText:"Yes"}}}}),t.result.then(function(t){t&&(h.start({message:"Activating user..."}),i.activate(n.Id).then(function(){n.Active=!0;n.activeTooltip="Deactivate";n.Archived&&(n.Archived=!1);o.success("User activated.");h.stop()},function(n){console.log(n);h.stop();o.error(generateErrorMessage(n))}))}))};n.toggleArchive=function(t){var r;t.Archived?(r=s.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",size:"sm",resolve:{options:function(){return{title:"Audit Pro",message:"Do you want to unarchive user <br/><b>"+t.FullName+"<\/b>?",cancelText:"No",okText:"Yes"}}}}),r.result.then(function(n){n&&(h.start({message:"Unarchiving user..."}),i.unarchive(t.Id).then(function(){t.Archived=!1;t.archiveTooltip="Archive";o.success("User unarchived.");h.stop()},function(n){console.log(n);h.stop();o.error(generateErrorMessage(n))}))})):(r=s.open({animation:!0,templateUrl:"confirmModal",controller:"ConfirmModalCtrlr",size:"sm",resolve:{options:function(){return{title:"Audit Pro",message:"Do you want to archive user <br/><b>"+t.FullName+"<\/b>?",cancelText:"No",okText:"Yes"}}}}),r.result.then(function(r){r&&(h.start({message:"Archiving user..."}),i.archive(t.Id).then(function(){if(t.Archived=!0,t.archiveTooltip="Unarchive",!n.archivedItemsShown){var i=n.users.indexOf(t);n.users.splice(i,1)}o.success("User archived.");h.stop()},function(n){console.log(n);h.stop();o.error(generateErrorMessage(n))}))}))};n.showArchivedItems=function(){n.getUsers(t.currentTenantId||u.id,n.archivedItemsShown)}}]);mainApp.controller("EmailAssignmentsCtrlr",["$scope","$resource","$stateParams","$uibModalInstance","$linq","blockUI","TrucksSvc","userEmails","truck",function(n,t,i,r,u,f,e,o,s){function c(){for(var f=u.Enumerable().From(n.userEmails),i,r,t=0;t<n.truck.emailAssignments.length;t++)i=f.FirstOrDefault(null,'f => f.Id == "'+n.truck.emailAssignments[t]+'"'),i&&(n.assignments.push(i),r=n.userEmails.indexOf(i),n.userEmails.splice(r,1));h()}function h(){n.assignments=u.Enumerable().From(n.assignments).OrderBy("o => o.FullName").ToArray()}n.truck=s;n.truckTitle=s.truckNumber+" - "+s.truckRego;n.userEmails=o;n.assignments=[];n.model={};n.selectedAssignment=null;n.add=function(){var t=f.instances.get("emailBlockUI");t.start({message:"Adding..."});e.assignEmail(n.truck.id,n.model.selectedUser).then(function(){n.assignments.push(n.model.selectedUser);n.truck.emailAssignments.push(n.model.selectedUser.Id);var i=n.userEmails.indexOf(n.model.selectedUser);n.userEmails.splice(i,1);h();t.stop()},function(n){console.log(n);t.stop()})};n.remove=function(t){n.selectedAssignment=t;n.showRemoveConfirm=!0};n.confirmRemove=function(){var t=f.instances.get("emailBlockUI");t.start({message:"Removing..."});e.removeEmail(n.truck.id,n.selectedAssignment).then(function(i){var r,f,e;console.log(i);r=n.selectedAssignment.Id;f=n.assignments.indexOf(n.selectedAssignment);n.userEmails.push(n.selectedAssignment);n.assignments.splice(f,1);e=n.truck.emailAssignments.indexOf(r);n.truck.emailAssignments.splice(e,1);n.userEmails=u.Enumerable().From(n.userEmails).OrderBy("o => o.label").ToArray();n.showRemoveConfirm=!1;t.stop()},function(n){console.log(n);t.stop()})};n.cancelRemove=function(){n.showRemoveConfirm=!1};n.close=function(){r.dismiss()};c()}]);mainApp.factory("EmailAssignmentsSvc",["$resource",function(){}])