angular.module("ui.select2",[]).value("uiSelect2Config",{}).directive("uiSelect2",["uiSelect2Config","$timeout",function(n,t){var i={};return n&&angular.extend(i,n),{require:"ngModel",priority:1,compile:function(n,r){var e,u,o,f=n.is("select"),s=angular.isDefined(r.multiple);return n.is("select")&&(u=n.find("optgroup[ng-repeat], optgroup[data-ng-repeat], option[ng-repeat], option[data-ng-repeat]"),u.length&&(o=u.attr("ng-repeat")||u.attr("data-ng-repeat"),e=jQuery.trim(o.split("|")[0]).split(" ").pop())),function(n,u,o,h){var c=angular.extend({},i,n.$eval(o.uiSelect2)),l=function(n){var t;return c.simple_tags?(t=[],angular.forEach(n,function(n){t.push(n.id)})):t=n,t},v=function(n){var t=[];return n?(c.simple_tags?(t=[],angular.forEach(n,function(n){t.push({id:n,text:n})})):t=n,t):t},a;f?(delete c.multiple,delete c.initSelection):s&&(c.multiple=!0),h&&(n.$watch(r.ngModel,function(n,t){n&&n!==t&&h.$render()},!0),h.$render=function(){if(f)u.select2("val",h.$viewValue);else if(c.multiple){var n=h.$viewValue;angular.isString(n)&&(n=n.split(",")),u.select2("data",v(n))}else angular.isObject(h.$viewValue)?u.select2("data",h.$viewValue):h.$viewValue?u.select2("val",h.$viewValue):u.select2("data",null)},e&&n.$watch(e,function(n,i){angular.equals(n,i)||t(function(){u.select2("val",h.$viewValue),u.trigger("change"),n&&!i&&h.$setPristine&&h.$setPristine(!0)})}),h.$parsers.push(function(n){var t=u.prev();return t.toggleClass("ng-invalid",!h.$valid).toggleClass("ng-valid",h.$valid).toggleClass("ng-invalid-required",!h.$valid).toggleClass("ng-valid-required",h.$valid).toggleClass("ng-dirty",h.$dirty).toggleClass("ng-pristine",h.$pristine),n}),f||(u.bind("change",function(t){(t.stopImmediatePropagation(),n.$$phase||n.$root.$$phase)||n.$apply(function(){h.$setViewValue(l(u.select2("data")))})}),c.initSelection&&(a=c.initSelection,c.initSelection=function(n,t){a(n,function(n){var i=h.$pristine;h.$setViewValue(l(n)),t(n),i&&h.$setPristine(),u.prev().toggleClass("ng-pristine",h.$pristine)})}))),u.bind("$destroy",function(){u.select2("destroy")}),o.$observe("disabled",function(n){u.select2("enable",!n)}),o.$observe("readonly",function(n){u.select2("readonly",!!n)}),o.ngMultiple&&n.$watch(o.ngMultiple,function(n){o.$set("multiple",!!n),u.select2(c)}),t(function(){if(u.select2(c),u.select2("data",h.$modelValue),h.$render(),!c.initSelection&&!f){var n=h.$pristine;h.$setViewValue(l(u.select2("data"))),n&&h.$setPristine(),u.prev().toggleClass("ng-pristine",h.$pristine)}})}}}}]);var app=angular.module("app",["ngCookies","ui.select2"]);app.value("toastr",toastr),app.factory("notifier",["toastr",function(n){return{success:function(t,i){i||(i=""),n.options={closeButton:!0,debug:!0,positionClass:"toast-top-right",onclick:null,showDuration:"1000",hideDuration:"1000",timeOut:"5000",extendedTimeOut:"1000",showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"},n.success(t,i)},error:function(t,i){i||(i=""),n.options={closeButton:!0,debug:!0,positionClass:"toast-top-right",onclick:null,showDuration:"1000",hideDuration:"1000",timeOut:"5000",extendedTimeOut:"1000",showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"},n.error(t,i)},info:function(t,i){i||(i=""),n.options={closeButton:!0,debug:!0,positionClass:"toast-top-right",onclick:null,showDuration:"1000",hideDuration:"1000",timeOut:"5000",extendedTimeOut:"1000",showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"},n.info(t,i)},infolong:function(t,i){i||(i=""),n.options={closeButton:!0,debug:!0,positionClass:"toast-top-right",onclick:null,showDuration:"1000",hideDuration:"1000",timeOut:"120000",extendedTimeOut:"1000",showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"},n.info(t,i)}}}]),app.factory("loader",function(){return{blockUI:function(n){jQuery(n).block({message:'<img src="../../img/ajax-loading.gif" align="">',centerY:!0,css:{top:"10%",border:"none",padding:"2px",backgroundColor:"none"},overlayCSS:{backgroundColor:"#000",opacity:.05,cursor:"wait"}})},unblockUI:function(n){jQuery(n).unblock({onUnblock:function(){jQuery(n).removeAttr("style")}})}}}),app.factory("datehelper",function(){return{getCurrentDate:function(){var n=new Date,t=n.getDate(),i=n.getMonth()+1,r=n.getFullYear();return t<10&&(t="0"+t),i<10&&(i="0"+i),n=t+"/"+i+"/"+r}}}),app.value("identity",{}),app.factory("enums",[function(){return{resultstatuses:{succesfull:1,defeat:2,serverisdied:3,sessionTimedOut:4},editAccountSetupType:{internal:1,external:2},roles:{posAdmin:1,supplierAdmin:2,posReadOnly:3,supplierReadOnly:4,pharmacy:5},staticStrings:{serverException:"An error has occurred on Server, contact support."},somethingelse:{abc:1,def:2}}}]),app.factory("users",["$http",function(n){return{login:function(t,i){var r={Type:"login",Username:t,Password:i};return n.post("api/login",r)},resetPass:function(t,i){var r={Type:"resetpassword",Password:t,NewPassword:i};return n.post("api/login",r)},logout:function(){var t={Type:"logout"};return n.post("api/login",t)},RefreshSession:function(){return n.get("api/login")}}}]),app.factory("groups",["$http",function(n){return{listgroups:function(){return n.get("api/groups")},confirmgroups:function(t){var i={groups:t};return n.post("api/groups",i)}}}]),app.factory("products",["$http",function(n){return{listproducts:function(){return n.get("api/products")},addproduct:function(t){var i={type:"add",product:t};return n.post("api/products",i)},removeproducts:function(t){var i={type:"delete",productIds:t};return n.post("api/products",i)}}}]),app.factory("orders",["$http",function(n){return{listactiveorders:function(){return n.get("api/orders")},listorderlines:function(t){return n.get("api/orders",{params:{type:"orderlines",orderId:t}})},cancelOrder:function(t){var i={Type:"cancel",OrderIds:t};return n.post("api/orders",i)},resendOrder:function(t){var i={Type:"resend",OrderIds:t};return n.post("api/orders",i)},listoutofstocks:function(t){return n.get("api/orders",{params:{type:"outofstocks",orderId:t}})},listinvoices:function(t){return n.get("api/orders",{params:{type:"invoices",orderId:t}})},list:function(t,i,r,u,f,e,o,s,h,c){return n.get("api/orders",{params:{startDate:t,endDate:i,supplierId:r,accountNumber:u,posReference:f,status:e,vendorId:o,orderId:s,siteId:h,group:c}})}}}]),app.factory("outofstocks",["$http",function(n){return{listactiveOutOfStocks:function(){return n.get("api/OutOfStocks")},listoutofstocklines:function(t){return n.get("api/outofstocks",{params:{type:"outofstocklines",outofstockId:t,orderid:0}})},canceloutofstocks:function(t){var i={Type:"cancel",outofstockIds:t};return n.post("api/outofstocks",i)},resendoutofstocks:function(t){var i={Type:"resend",outofstockIds:t};return n.post("api/outofstocks",i)},listorders:function(t){return n.get("api/outofstocks",{params:{type:"orders",outofstockId:0,orderid:t}})},list:function(t,i,r,u,f,e,o,s,h){return n.get("api/outofstocks",{params:{id:t,startDate:i,endDate:r,supplierId:u,accountNumber:f,vendorId:e,orderId:o,siteId:s,group:h}})}}}]),app.factory("invoices",["$http",function(n){return{listactiveinvoices:function(){return n.get("api/invoices")},listinvoicelines:function(t){return n.get("api/invoices",{params:{type:"invoicelines",invoiceId:t,orderid:0}})},cancelinvoices:function(t){var i={Type:"cancel",invoiceIds:t};return n.post("api/invoices",i)},resendinvoices:function(t){var i={Type:"resend",invoiceIds:t};return n.post("api/invoices",i)},listorders:function(t){return n.get("api/invoices",{params:{type:"orders",invoiceId:0,orderId:t}})},listcredits:function(t){return n.get("api/invoices",{params:{type:"credits",invoiceId:t,orderId:0}})},list:function(t,i,r,u,f,e,o,s,h,c){return n.get("api/invoices",{params:{invoiceId:t,startDate:i,endDate:r,supplierId:u,accountNumber:f,vendorId:e,orderId:o,siteId:s,group:h,invoiceNumber:c}})}}}]),app.factory("credits",["$http",function(n){return{listactivecredits:function(){return n.get("api/Credits")},listcreditlines:function(t){return n.get("api/credits",{params:{type:"creditlines",creditId:t,orderid:0}})},cancelcredits:function(t){var i={Type:"cancel",creditIds:t};return n.post("api/credits",i)},resendcredits:function(t){var i={Type:"resend",creditIds:t};return n.post("api/credits",i)},list:function(t,i,r,u,f,e,o,s,h,c,l,a,v){return n.get("api/credits",{params:{creditId:t,startDate:i,endDate:r,supplierId:u,accountNumber:f,vendorId:e,orderId:o,siteId:s,group:h,invoiceNumber:l,creditNumber:a,raNumber:v,invoiceId:c}})}}}]),app.factory("accountsetups",["$http",function(n){return{listpendinginternaltransactions:function(){return n.get("api/AccountSetups",{params:{type:"internal"}})},listpendingexternaltransactions:function(){return n.get("api/AccountSetups",{params:{type:"external"}})},listcompletetransactions:function(){return n.get("api/AccountSetups",{params:{type:"complete"}})},listInternalActionsForSite:function(t){return n.get("api/AccountSetups",{params:{type:"internal",siteId:t}})},listExternalActionsForSite:function(t){return n.get("api/AccountSetups",{params:{type:"external",siteId:t}})},listcompleteActionsForSite:function(t){return n.get("api/AccountSetups",{params:{type:"complete",siteId:t}})},commitRejectAccountTransaction:function(t,i,r,u,f,e,o,s,h,c){var l={Type:r,SelectedAccountsInfo:u,AccountUIDs:t,Note:i,IsOrders:f,IsInvoices:e,IsNdss:o,HasOrdersPerm:s,HasInvoicesPerm:h,HasNdssPerm:c};return n.post("api/AccountSetups",l)},editAccountTransaction:function(t,i,r,u,f){var e={Type:"edit",AccountUID:t,Password:i,Approved:r,EditingAccountType:u,Note:f};return n.post("api/AccountSetups",e)},amendAccountTransaction:function(t,i,r){var u={Type:"amend",AccountUID:t,SiteId:i,Note:r};return n.post("api/AccountSetups",u)},addAccountToSite:function(t,i,r){var u={siteId:t,SiteName:i,Accounts:r};return n.post("api/SiteAccounts",u)},addAccountNoPharm:function(t,i,r,u,f,e,o,s,h){var c={AccountNumber:r,AccountPassword:u,VendorId:t,StateSupplierId:i,Notes:f,Pharmacy:e,Contact:o,Phone:s,Suburb:h};return n.post("api/AccountsSetupsNoPharm",c)}}}]),app.factory("sites",["$http",function(n){return{list:function(t,i){return n.get("api/sites",{params:{Type:t,Value:i,external:!1}})},abnInfo:function(t){return n.get("api/sites",{params:{Value:t}})},listExternal:function(t,i){return n.get("api/sites",{params:{Type:t,Value:i,external:!0}})},get:function(t){return n.get("api/sites",{params:{id:t}})},listByInvNumbers:function(t,i,r,u,f,e,o,s,h){return n.get("api/sites",{params:{siteId:t,supplier1:i,supplier2:r,supplier3:u,supplier4:f,invNumber1:e,invNumber2:o,invNumber3:s,invNumber4:h}})},editSiteDetails:function(t,i,r,u,f,e,o,s,h,c,l,a,v){var y={Type:t,SiteId:i,Description:r,ABN:u,ApprovalNumber:f,AddressStreetNumber:e,AddressStreetName:o,AddressSuburb:s,AddressStateId:h,AddressPostCode:c,ContactName:l,ContactCode:a,ContactComment:v};return n.post("api/sites",y)},addUserToSite:function(t,i,r,u,f,e,o,s,h,c,l){var a={Type:"add",SiteId:t,UserName:i,Password:r,Supplier1:u,Supplier2:f,Supplier3:e,Supplier4:o,InvNumber1:s,InvNumber2:h,InvNumber3:c,InvNumber4:l};return n.post("api/siteusers",a)},editUserInSite:function(t,i,r,u){var f={Type:"edit",SiteId:t,UserSiteUID:i,UserName:r,Password:u};return n.post("api/siteusers",f)},deleteUserInSite:function(t,i){var r={Type:"delete",SiteId:t,UserSiteUID:i};return n.post("api/siteusers",r)},operateSiteGroups:function(t,i){var r={SiteId:t,Groups:i};return n.post("api/sitegroups",r)},editAccountInSite:function(t,i,r,u,f,e,o,s,h,c,l){var a={Type:"edit",SiteId:t,SiteName:i,AccountId:r,Password:u,Approved:f,Notes:e,IsOrders:o,IsInvoices:s,IsNDSS:h,IsEditAccount:c,IsEditRoles:l};return n.post("api/SiteUsedAccounts",a)},deleteAccountInSite:function(t,i,r,u){var f={Type:"delete",SiteId:t,SiteName:i,AccountId:r,Notes:u};return n.post("api/SiteUsedAccounts",f)},addExistingUserToSite:function(t,i){var r={Type:"addExistingUser",SiteId:t,UserId:i};return n.post("api/siteUsers",r)},getUserSite:function(t){return n.get("api/siteUsers",{params:{searchString:t}})}}}]),app.factory("reports",["$http",function(n){return{listallreports:function(){return n.get("api/reports")},executereport:function(t,i){var r={Name:t,ReportParams:i};return n.post("api/reports",r)}}}]),app.factory("suppliers",["$http",function(n){return{listallsuppliers:function(t){return n.get("api/suppliers",{params:{type:t}})}}}]),app.factory("vendors",["$http",function(n){return{listallvendors:function(t){return n.get("api/vendors",{params:{type:t}})}}}]),app.directive("ngEnter",function(){return function(n,t,i){t.bind("keydown keypress",function(t){t.which===13&&(n.$apply(function(){n.$eval(i.ngEnter)}),t.preventDefault())})}}),app.directive("popOver",["$compile",function(n){var t="<ul class='list-group'><li class='list-group-item' ng-repeat='item in items  track by $index'>{{item}}<\/li><\/ul>",i=function(n){var i="";switch(n){case"items":i=t}return i};return{restrict:"A",transclude:!0,template:"<span ng-transclude><\/span>",link:function(t,r){var f,e,o;t.items&&(e=i("items"),f=n(e)(t)),o={content:f,placement:"top",html:!0,trigger:"hover",title:t.title},$(r).popover(o)},scope:{items:"=",title:"@"}}}]),app.directive("datepicker",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){$(function(){t.datepicker({dateFormat:"dd/mm/yyyy",autoclose:!0,onSelect:function(t){n.$apply(function(){r.$setViewValue(t)})}})})}}}),app.directive("datepickerother",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){$(function(){t.datepicker({dateFormat:"yyyy-mm-dd",autoclose:!0,onSelect:function(t){n.$apply(function(){r.$setViewValue(t)})}})})}}}),app.directive("datepicker",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){$(function(){t.datepicker({dateFormat:"yyyy-mm-dd",autoclose:!0,onSelect:function(t){n.$apply(function(){r.$setViewValue(t)})}})})}}}),app.directive("onlyNum",function(){return function(n,t,i){var r=[8,9,37,39,48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105,109,110,190,189];t.bind("keydown",function(t){$.inArray(t.which,r)==-1&&(n.$apply(function(){n.$eval(i.onlyNum),t.preventDefault()}),t.preventDefault())})}}),app.directive("onlyInt",function(){return function(n,t,i){var r=[8,9,37,39,48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105,109,189];t.bind("keydown",function(t){$.inArray(t.which,r)==-1&&(n.$apply(function(){n.$eval(i.onlyNum),t.preventDefault()}),t.preventDefault())})}}),app.directive("patternValidator",[function(){return{require:"ngModel",restrict:"A",link:function(n,t,i,r){r.$parsers.unshift(function(n){var t=new RegExp(i.patternValidator),u=t.test(n);return r.$setValidity("passwordPattern",u),n})}}}]),app.directive("passwordGenerator",function(){return{restrict:"AE",replace:!0,scope:{field:"=field",passwordLength:"=?passwordLength",uppercase:"=?uppercase",numbers:"=?numbers",specials:"=?specials",buttonText:"@?buttonText",fieldrepeate:"=?fieldrepeate"},template:'<button type="button" data-ng-click="generatePassword()">{{ buttonText }}<\/button>',link:function(n){n.passwordLength=n.passwordLength?n.passwordLength:8,n.uppercase=n.uppercase?n.uppercase:!1,n.numbers=n.numbers?n.numbers:!1,n.specials=n.specials?n.specials:!1,n.buttonText=n.buttonText!==undefined?n.buttonText:"Generate password",n.generatePassword=function(){var i=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],u=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],f=["0","1","2","3","4","5","6","7","8","9","0","1","2","3","4","5","6","7","8","9","0","1","2","3","4","5","6","7","8","9"],e=["!",'"','"',"#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"],o=i,t=[],r;if(n.uppercase)for(r=0;r<6;r++)t.push(u[Math.floor(Math.random()*u.length)]),t.push(f[Math.floor(Math.random()*f.length)]),t.push(i[Math.floor(Math.random()*i.length)]),t.push(e[Math.floor(Math.random()*e.length)]);n.field=t.join(""),n.fieldrepeate=t.join("")}}}}),app.directive("passwordStrengthEdit",[function(){return{require:"ngModel",restrict:"E",scope:{password:"=ngModel"},link:function(n,t){n.$watch("passwordedit",function(i){function r(n){return n?1:0}n.strength=r(i&&i.length>=8)+r(i&&/[A-z]/.test(i))+r(i&&/[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]/.test(i))+r(i&&/\d/.test(i)),t.html('<div class="progress"><div class="progress-bar progress-bar-danger" style="width: '+(n.strength>=1?25:0)+'%"><\/div><div class="progress-bar progress-bar-warning" style="width: '+(n.strength>=2?25:0)+'%;"><\/div><div class="progress-bar progress-bar-warning" style="width: '+(n.strength>=3?25:0)+'%"><\/div><div class="progress-bar progress-bar-success" style="width: '+(n.strength>=4?25:0)+'%"><\/div><\/div>')},!0)}}}]),app.directive("passwordStrengthAdd",[function(){return{require:"ngModel",restrict:"E",scope:{password:"=ngModel"},link:function(n,t){n.$watch("Text5",function(i){function r(n){return n?1:0}n.strength=r(i&&i.length>=8)+r(i&&/[A-z]/.test(i))+r(i&&/[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]/.test(i))+r(i&&/\d/.test(i)),t.html('<div class="progress"><div class="progress-bar progress-bar-danger" style="width: '+(n.strength>=1?25:0)+'%"><\/div><div class="progress-bar progress-bar-warning" style="width: '+(n.strength>=2?25:0)+'%;"><\/div><div class="progress-bar progress-bar-warning" style="width: '+(n.strength>=3?25:0)+'%"><\/div><div class="progress-bar progress-bar-success" style="width: '+(n.strength>=4?25:0)+'%"><\/div><\/div>')},!0)}}}]),app.directive("passwordStrengthReset",[function(){return{require:"ngModel",restrict:"E",scope:{password:"=ngModel"},link:function(n){n.$watch("passwordReset",function(t){function i(n){return n?1:0}n.strength=i(t&&t.length>=8)+i(t&&/[A-z]/.test(t))+i(t&&/[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]/.test(t))+i(t&&/\d/.test(t))},!0)},template:'<div class="progress"><div class="progress-bar progress-bar-danger" style="width: {{strength >= 1 ? 25 : 0}}%"><\/div><div class="progress-bar progress-bar-warning" style="width: {{strength >= 2 ? 25 : 0}}%"><\/div><div class="progress-bar progress-bar-warning" style="width: {{strength >= 3 ? 25 : 0}}%"><\/div><div class="progress-bar progress-bar-success" style="width: {{strength >= 4 ? 25 : 0}}%"><\/div><\/div>'}}]),app.directive("passwordStrength",[function(){return{require:"ngModel",restrict:"E",scope:{password:"=ngModel"},link:function(n,t){n.$watch("password",function(i){function r(n){return n?1:0}n.strength=r(i&&i.length>=8)+r(i&&/[A-z]/.test(i))+r(i&&/[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]/.test(i))+r(i&&/\d/.test(i)),t.html('<div class="progress"><div class="progress-bar progress-bar-danger" style="width: '+(n.strength>=1?25:0)+'%"><\/div><div class="progress-bar progress-bar-warning" style="width: '+(n.strength>=2?25:0)+'%;"><\/div><div class="progress-bar progress-bar-warning" style="width: '+(n.strength>=3?25:0)+'%"><\/div><div class="progress-bar progress-bar-success" style="width: '+(n.strength>=4?25:0)+'%"><\/div><\/div>')},!0)}}}]),app.controller("scLoginCtrl",["$scope","$rootScope","$cookieStore","notifier","loader","users","identity","enums",function(n,t,i,r,u,f,e,o){n.firsttime=!0,n.isservererror=!1,n.errortext="",n.user={},n.user.name="",n.user.pass="",n.Login=function(u,e){n.firsttime=!1,e.$valid&&(n.isdownloadingdata=!0,f.login(u.name,u.pass).success(function(u){if(n.isdownloadingdata=!1,u.Status==o.resultstatuses.succesfull){r.success("logged in"),t.isAuthenticated=!0,t.username=u.Item.UserName,t.userRole=u.Item.Role,t.permissions=u.Item.UserPermissions,t.supplierName=u.Item.SupplierName,t.supplierId=u.Item.SupplierID,t.code=u.Item.Code,t.HasInvoicesPerm=u.Item.HasInvoicesPerm,t.HasOrdersPerm=u.Item.HasOrdersPerm,t.HasNdssPerm=u.Item.HasNdssPerm,i.put("isAuthenticated",!0);var e=t.isAuthenticated;t.refreshFullPage(),n.isservererror=!1,n.user.name="",n.user.pass="",n.firsttime=!0}else n.isservererror=!0,n.errortext=u.Message}).error(function(){r.error(o.staticStrings.serverException),n.isdownloadingdata=!1}))},i.put("timezoneoffset",(new Date).getTimezoneOffset())}]),app.controller("scNavbarCtrl",["$scope","$rootScope","$cookieStore","users","identity","loader","notifier","enums",function(n,t,i,r,u,f,e,o){n.LogOut=function(){t.processLogout(),e.success("Logged out"),r.logout().success(function(t){t.Status==o.resultstatuses.succesfull?n.isdownloadingdata=!1:e.error(t.Message)}).error(function(){e.error(o.staticStrings.serverException)})},n.$on("UserLogedIn",function(){})}]),app.controller("scMainPageCtrl",["$scope","$rootScope","$cookieStore","$cookies","users","groups","products","suppliers","vendors","loader","notifier","enums",function(n,t,i,r,u,f,e,o,s,h,c,l){var v=i.get("isAuthenticated"),a=null,y;t.isLoaded=!1,v==!0?a=u.RefreshSession():t.isLoaded=!0,n.init=function(){a!=null&&a.success(function(n){n.Status==l.resultstatuses.succesfull?(c.success(n.Message),t.isAuthenticated=!0,t.username=n.Item.UserName,t.userRole=n.Item.Role,t.supplierName=n.Item.SupplierName,t.supplierId=n.Item.SupplierID,t.permissions=n.Item.UserPermissions,t.code=n.Item.Code,t.refreshFullPage()):(t.processLogout(),c.info(n.Message)),t.isLoaded=!0}).error(function(){c.error(l.staticStrings.serverException)})},t.processLogout=function(){t.isAuthenticated=!1,t.username="",i.put("isAuthenticated",!1)},t.refreshFullPage=function(){n.selectedMainTabs={Dashboard:t.permissions.ShowDashboard,Pharmacy:!t.permissions.ShowDashboard,Documents:!1,Reports:!1},n.settingsClass="",t.groups=null,n.loadAllSuppliers(),n.loadAllVendors(),t.permissions&&(t.permissions.ShowDashboard&&t.refreshDashboardpage(),t.permissions.ShowGroups&&n.managegroups(),t.permissions.ShowReports&&t.refreshReportsPage(),t.permissions.ShowDocuments&&t.refreshDocumentsPage(),t.refreshSitePage())},n.clickMainTabs=function(t){n.selectedMainTabs={Dashboard:!1,Pharmacy:!1,Documents:!1,Reports:!1};switch(t){case"pharmacy":n.selectedMainTabs.Pharmacy=!0,setTimeout(function(){$("#txtSearchPharmacy").focus()},0);break;case"documents":n.selectedMainTabs.Documents=!0;break;case"reports":n.selectedMainTabs.Reports=!0;break;default:n.selectedMainTabs.Dashboard=!0}},n.openCloseSettingsPopup=function(){n.settingsClass=n.settingsClass=="open"?"":"open"},n.popupResetPass=function(){n.isFirstTimeSiteUser=!0;var t={User:{oldPassword:"",Password:"",RepeatePassword:""}};n.resetPass=t,$("#popupResetPass").modal("show"),n.settingsClass=""},n.disableResetPass=function(){return!n.resetPass||!n.resetPass.User||!n.resetPass.User.oldPassword||!n.resetPass.User.Password||!n.resetPass.User.RepeatePassword||n.resetPass.User.Password!=n.resetPass.User.RepeatePassword},y=function(n){var t=/[0-9]/,i=/[a-z]/,r=/[A-Z]/;return n==""?!1:n.length<8?!1:t.test(n)?i.test(n)||r.test(n)?!0:!1:!1},n.confirmResetPass=function(){(n.isFirstTimeSiteUser=!1,n.disableResetPass())||(n.blockUI(),u.resetPass(n.resetPass.User.oldPassword,n.resetPass.User.Password).success(function(i){i.Status==l.resultstatuses.succesfull?(c.info("Password changed successfully"),$("#popupResetPass").modal("hide")):(c.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){c.error(l.staticStrings.serverException),n.unblockUI()}))},n.popupGroups=function(){$("#manageGroupsPopup").modal("show"),n.managegroups(),n.settingsClass=""},n.managegroups=function(){n.isdownloadingdata=!0,a=f.listgroups().success(function(i){i.Status==l.resultstatuses.succesfull?t.groups=i.Item:(c.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&(t.processLogout(),$("#manageGroupsPopup").modal("hide"))),n.isdownloadingdata=!1}).error(function(){c.error(l.staticStrings.serverException),n.isdownloadingdata=!1})},n.updateGroup=function(n){n.IsUpdating=!0},n.deleteGroup=function(n){n.IsUpdating=!1,n.IsDeleted=!0},n.cancel=function(n){n.IsUpdating=!1,n.Name=n.OriginalName,n.IsUpdated&&(n.IsUpdated=!1)},n.save=function(n){n.IsUpdating=!1,n.IsDeleted||n.IsInserted||n.Name==n.OriginalName||(n.IsUpdated=!0)},n.insertnewvalue=function(){var t={GroupUID:null,Name:"",OriginalName:"",Created:null,IsDeleted:!1,IsUpdated:!1,IsUpdating:!0,IsInserted:!0};n.groups.push(t)},n.whatClassIsIt=function(n){return n.IsDeleted?"deletedtext":n.IsInserted?"insertedtext":n.IsUpdated?"updatedtext":void 0},n.disableConfirmButton=function(){var t=0,i=!1;return n.groups&&(angular.forEach(n.groups,function(n){(n.IsUpdated||n.IsDeleted||n.IsInserted)&&t++}),angular.forEach(n.groups,function(n){n.IsUpdating&&(i=!0)})),t==0||i},n.confirmgroups=function(){var i=[];n.groups&&angular.forEach(n.groups,function(n){(n.IsUpdated||n.IsDeleted||n.IsInserted)&&i.push(n)}),i.length>0&&(n.isdownloadingdata=!0,f.confirmgroups(i).success(function(i){i.Status==l.resultstatuses.succesfull?(n.managegroups(),c.info(i.Message)):(c.error(i.Message),n.isdownloadingdata=!1,i.Status==l.resultstatuses.sessionTimedOut&&(t.processLogout(),$("#manageGroupsPopup").modal("hide")))}).error(function(){c.error(l.staticStrings.serverException),n.isdownloadingdata=!1}))},n.popupproducts=function(){$("#manageproductsPopup").modal("show"),n.manageproducts(),n.settingsClass=""},n.restoreNewProduct=function(){n.showaddnewproduct=!1,n.newProduct={Code:"",ShortCode:"",Cost:0,Description:"",IsInserted:!0}},n.openNewProduct=function(){n.showaddnewproduct=!0},n.manageproducts=function(){n.restoreNewProduct(),n.isdownloadingdata=!0,a=e.listproducts().success(function(i){i.Status==l.resultstatuses.succesfull?t.products=i.Item:(c.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&(t.processLogout(),$("#manageproductsPopup").modal("hide"))),n.isdownloadingdata=!1}).error(function(){c.error(l.staticStrings.serverException),n.isdownloadingdata=!1})},n.disableDeleteProducts=function(){var t=0;return n.products&&angular.forEach(n.products,function(n){n.Checked&&t++}),t==0},n.popupDeleteproducts=function(){$("#deleteProductsPopup").modal("show")},n.deleteproducts=function(){if($("#deleteProductsPopup").modal("hide"),!n.disableDeleteProducts()){n.isdownloadingdata=!0;var i=[];angular.forEach(n.products,function(n){n.Checked&&i.push(n.Id)},[]),i.length>0&&e.removeproducts(i).success(function(i){i.Status==l.resultstatuses.succesfull?(n.manageproducts(),c.info(i.Message)):(c.error(i.Message),n.isdownloadingdata=!1,i.Status==l.resultstatuses.sessionTimedOut&&(t.processLogout(),$("#manageproductsPopup").modal("hide")))}).error(function(){c.error(l.staticStrings.serverException),n.isdownloadingdata=!1})}},n.saveproduct=function(){n.disableSaveButtonproduct()||(n.isdownloadingdata=!0,e.addproduct(n.newProduct).success(function(i){i.Status==l.resultstatuses.succesfull?(n.manageproducts(),c.info(i.Message)):(c.error(i.Message),n.isdownloadingdata=!1,i.Status==l.resultstatuses.sessionTimedOut&&(t.processLogout(),$("#manageproductsPopup").modal("hide")))}).error(function(){c.error(l.staticStrings.serverException),n.isdownloadingdata=!1}))},n.disableSaveButtonproduct=function(){return!n.newProduct||n.newProduct.Code==""||n.newProduct.ShortCode==""||n.newProduct.Description==""},n.loadAllSuppliers=function(){o.listallsuppliers("all").success(function(n){n.Status==l.resultstatuses.succesfull?t.suppliers=n.Item:(c.error(n.Message),n.Status==l.resultstatuses.sessionTimedOut&&t.processLogout())}).error(function(){c.error(l.staticStrings.serverException)})},n.loadAllVendors=function(){s.listallvendors("all").success(function(n){n.Status==l.resultstatuses.succesfull?t.vendors=n.Item:(c.error(n.Message),n.Status==l.resultstatuses.sessionTimedOut&&t.processLogout())}).error(function(){c.error(l.staticStrings.serverException)})},n.blockUI=function(){n.isdownloadingdata=!0},n.unblockUI=function(){n.isdownloadingdata=!1}}]),app.controller("scDashboardCtrl",["$scope","$rootScope","$cookieStore","orders","outofstocks","invoices","credits","accountsetups","sites","notifier","enums",function(n,t,i,r,u,f,e,o,s,h,c){var v=!1,y=!1,p=!1,w="",a=!1,b=!1,k="",l;n.IsOrders=!0,n.IsInvoices=!0,n.IsNdss=!1;var g=1,it=2,d=3,rt=4,nt="Create",ut="Update",ft="Delete",tt=2;n.OpenCommitDialog=!1,l=0,n.blockUI=function(){l+=1,l>0&&(n.isdownloadingdata=!0)},n.unblockUI=function(){l-=1,l==0&&(n.isdownloadingdata=!1)},n.refresh=function(){switch(w){case"outofstocks":t.refreshoutofstocks();break;case"invoices":t.refreshinvoices();break;case"credits":t.refreshcredits();break;default:t.refreshorders()}},t.refreshDashboardpage=function(){n.selectedDashboardDocumentsTabs={Orders:!0,OutOfStocks:!1,Invoices:!1,Credits:!1},n.orders=null,v=!1,n.outofstocks=null,y=!1,n.invoices=null,p=!1,n.credits=null,w="",n.selectedDashboardAcountsTabs={Internal:!0,External:!1,complete:!1},n.internalaccounts=null,a=!1,n.externalaccounts=null,b=!1,n.completeaccounts=null,k="",t.refreshorders(),t.permissions.ShowPharmacyAccountsInActions&&t.refreshinternalaccounts()},n.Processtabclick=function(i){w=i,n.selectedDashboardDocumentsTabs={Orders:!1,OutOfStocks:!1,Invoices:!1,Credits:!1};switch(i){case"outofstocks":n.selectedDashboardDocumentsTabs.OutOfStocks=!0,v||(v=!0,t.refreshoutofstocks());break;case"invoices":n.selectedDashboardDocumentsTabs.Invoices=!0,y||(y=!0,t.refreshinvoices());break;case"credits":n.selectedDashboardDocumentsTabs.Credits=!0;break;default:n.selectedDashboardDocumentsTabs.Orders=!0,p||(p=!0,t.refreshcredits())}},t.refreshorders=function(){n.blockUI(),r.listactiveorders().success(function(i){i.Status==c.resultstatuses.succesfull?n.orders=i.Item:(h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(c.staticStrings.serverException),n.unblockUI()})},t.refreshoutofstocks=function(){n.blockUI(),u.listactiveOutOfStocks().success(function(i){i.Status==c.resultstatuses.succesfull?n.outofstocks=i.Item:(h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(c.staticStrings.serverException),n.unblockUI()})},t.refreshinvoices=function(){n.blockUI(),f.listactiveinvoices().success(function(i){i.Status==c.resultstatuses.succesfull?n.invoices=i.Item:(h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(c.staticStrings.serverException),n.unblockUI()})},t.refreshcredits=function(){n.blockUI(),e.listactivecredits().success(function(i){i.Status==c.resultstatuses.succesfull?n.credits=i.Item:(h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(c.staticStrings.serverException),n.unblockUI()})},n.Processaccounttabclick=function(i){n.selectedDashboardAcountsTabs={Internal:!1,External:!1,complete:!1};var r=i.target;k=r.id;switch(r.id){case"external":n.selectedDashboardAcountsTabs.External=!0;break;case"complete":n.selectedDashboardAcountsTabs.complete=!0;break;default:n.selectedDashboardAcountsTabs.Internal=!0}r.id!="external"||a||(a=!0,t.refreshexternalaccounts()),r.id!="complete"||b||(b=!0,t.refreshcompleteaccounts())},n.refreshaccounts=function(){switch(k){case"external":t.refreshexternalaccounts();break;case"complete":t.refreshcompleteaccounts();break;default:t.refreshinternalaccounts()}},t.refreshinternalaccounts=function(){n.blockUI(),o.listpendinginternaltransactions().success(function(i){i.Status==c.resultstatuses.succesfull?n.internalaccounts=i.Item:(h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(c.staticStrings.serverException),n.unblockUI()})},n.disableCommitRejectButton=function(){var i=0,r=0;return n.internalaccounts&&angular.forEach(n.internalaccounts,function(n){n.Checked&&n.State!=3?i++:n.Checked&&n.State==3&&r++}),i==0||r>0},n.disableCommitAcknowledgeButton=function(){var r=0,u=0;return(n.OpenCommitDialog=!1,n.internalaccounts&&angular.forEach(n.internalaccounts,function(i){i.Checked&&t.userRole==tt&&i.State==g&&i.ChangeTypeFixed==nt&&(n.OpenCommitDialog=!0),i.Checked&&i.State!=d?r++:i.Checked&&i.State==d&&u++}),u>0&&r>0)?(h.error("Sorry. You can only action one account at a time if one of the account changes has been rejected"),!0):r==0},n.openAccountForCommit=function(){if(n.operationType="commit",n.operation="Commit action(s)",n.newnote="",n.HasOrdersPerm=t.HasOrdersPerm,n.HasInvoicesPerm=t.HasInvoicesPerm,n.HasNdssPerm=t.HasNdssPerm,$("#commitrejectpopup").modal("show"),n.internalaccounts&&n.internalaccounts.length>0&&n.operationType){var i=[];angular.forEach(n.internalaccounts,function(n){n.Checked&&i.push(n)}),n.showRoles=n.OpenCommitDialog?!0:!($.grep(i,function(n){return n.ChangeTypeFixed!="Create"}).length>0)}},n.openAccountForReject=function(){n.operationType="reject",n.operation="Reject action(s)",n.newnote="",$("#commitrejectpopup").modal("show")},n.TransactionCommitReject=function(){if(n.internalaccounts&&n.internalaccounts.length>0&&n.operationType){var i=[],r=[];angular.forEach(n.internalaccounts,function(n){if(n.Checked){var u={AccountNumber:n.AccountNumberFixed,MasterSupplierId:n.MasterSupplierId};i.push(n.AccountSetupUID),r.push(u)}}),i.length>0&&(n.blockUI(),o.commitRejectAccountTransaction(i,n.newnote,n.operationType,r,n.IsOrders,n.IsInvoices,n.IsNdss,n.HasOrdersPerm,n.HasInvoicesPerm,n.HasNdssPerm).success(function(i){i.Status==c.resultstatuses.succesfull?(h.infolong(i.Message),n.unblockUI(),t.refreshinternalaccounts(),a&&t.refreshexternalaccounts()):(n.unblockUI(),h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&(t.processLogout(),$("#commitrejectpopup").modal("hide")))}).error(function(){h.error(c.staticStrings.serverException),n.unblockUI()}))}},n.disableEditInternalButton=function(){var i=0;return n.internalaccounts&&angular.forEach(n.internalaccounts,function(n){n.Checked&&i++}),i!=1},n.disableDeleteInternalButton=function(){var i=0,r=0;return n.internalaccounts&&angular.forEach(n.internalaccounts,function(n){n.Checked&&n.State!=3?i++:n.Checked&&n.State==3&&r++}),i>0&&r>0||i==0&&r==0},n.openInternalAccountForEdit=function(){n.internalaccounts&&angular.forEach(n.internalaccounts,function(t){t.Checked&&(n.selectedInternalAccount=t)}),n.newnote="",$("#editInternalPopup").modal("show")},n.openInternalAccountForDelete=function(){n.operationType="delete",n.newnote="",$("#deleteInternalPopup").modal("show")},n.InternalTransactionEdit=function(){n.selectedInternalAccount&&(n.blockUI(),o.editAccountTransaction(n.selectedInternalAccount.AccountSetupUID,n.selectedInternalAccount.Password,n.selectedInternalAccount.ApprovedFixed,c.editAccountSetupType.internal,n.newnote).success(function(i){i.Status==c.resultstatuses.succesfull?(h.info(i.Message),n.unblockUI(),t.refreshinternalaccounts(),t.refreshexternalaccounts(),n.selectedDashboardAcountsTabs={Internal:!1,External:!0}):(n.unblockUI(),h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&(t.processLogout(),$("#editInternalPopup").modal("hide")))}).error(function(){h.error(c.staticStrings.serverException),n.unblockUI()}))},n.InternalTransactionDelete=function(){if(n.internalaccounts&&n.internalaccounts.length>0&&n.operationType){var i=[];angular.forEach(n.internalaccounts,function(n){n.Checked&&i.push(n.AccountSetupUID)}),i.length>0&&(n.blockUI(),o.commitRejectAccountTransaction(i,n.newnote,n.operationType).success(function(i){i.Status==c.resultstatuses.succesfull?(h.info(i.Message),n.unblockUI(),t.refreshinternalaccounts(),t.refreshexternalaccounts()):(n.unblockUI(),h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&(t.processLogout(),$("#deleteInternalPopup").modal("hide")))}).error(function(){h.error(c.staticStrings.serverException),n.unblockUI()}))}},t.refreshexternalaccounts=function(){n.blockUI(),o.listpendingexternaltransactions().success(function(i){i.Status==c.resultstatuses.succesfull?n.externalaccounts=i.Item:(h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(c.staticStrings.serverException),n.unblockUI()})},t.refreshcompleteaccounts=function(){n.blockUI(),o.listcompletetransactions().success(function(i){i.Status==c.resultstatuses.succesfull?n.completeaccounts=i.Item:(h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(c.staticStrings.serverException),n.unblockUI()})},n.disableEditButton=function(){var i=0;return n.externalaccounts&&angular.forEach(n.externalaccounts,function(n){n.Checked&&i++}),i!=1},n.disableDeleteButton=function(){var i=0;return n.externalaccounts&&angular.forEach(n.externalaccounts,function(n){n.Checked&&i++}),i==0},n.openAccountForEdit=function(){n.externalaccounts&&angular.forEach(n.externalaccounts,function(t){t.Checked&&(n.selectedExternalAccount=t)}),n.newnote="",$("#editPopup").modal("show")},n.openAccountForDelete=function(){n.operationType="delete",n.newnote="",$("#deletePopup").modal("show")},n.TransactionEdit=function(){n.selectedExternalAccount&&(n.blockUI(),o.editAccountTransaction(n.selectedExternalAccount.AccountSetupUID,n.selectedExternalAccount.Password,n.selectedExternalAccount.ApprovedFixed,c.editAccountSetupType.external,n.newnote).success(function(i){i.Status==c.resultstatuses.succesfull?(h.info(i.Message),n.unblockUI(),t.refreshinternalaccounts(),t.refreshexternalaccounts()):(n.unblockUI(),h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&(t.processLogout(),$("#editPopup").modal("hide")))}).error(function(){h.error(c.staticStrings.serverException),n.unblockUI()}))},n.TransactionDelete=function(){if(n.externalaccounts&&n.externalaccounts.length>0&&n.operationType){var i=[];angular.forEach(n.externalaccounts,function(n){n.Checked&&i.push(n.AccountSetupUID)}),i.length>0&&(n.blockUI(),o.commitRejectAccountTransaction(i,n.newnote,n.operationType).success(function(i){i.Status==c.resultstatuses.succesfull?(h.info(i.Message),n.unblockUI(),t.refreshexternalaccounts(),t.refreshinternalaccounts()):(n.unblockUI(),h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&(t.processLogout(),$("#deletePopup").modal("hide")))}).error(function(){h.error(c.staticStrings.serverException),n.unblockUI()}))}},n.isBusyAddSiteToAccount=!1,n.selectedAccountSetupUIDNoPharmacy="",n.searchparams={searchtype:"Description",searchvalue:""},n.searchSites=function(){n.searchparams.searchtype!=""&&n.searchparams.searchtype!="Invoicenumbers"&&n.searchparams.searchvalue!=""&&(n.isBusyAddSiteToAccount=!0,s.list(n.searchparams.searchtype,n.searchparams.searchvalue).success(function(i){i.Status==c.resultstatuses.succesfull?i.Item!=null?(n.areSitesLoaded=!0,n.sites=i.Item,n.searchResult=i.Item.length+(i.Item.length<2?" pharmacy":" pharmacies")):(n.areSitesLoaded=!1,n.sites=null,n.searchResult="0 pharmacy"):(h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&(t.processLogout(),$("#popupSearchForPharmacy").modal("hide"))),n.isBusyAddSiteToAccount=!1}).error(function(){h.error(c.staticStrings.serverException),n.isBusyAddSiteToAccount=!1}))},n.selectSite=function(t){angular.forEach(n.sites,function(n){n.Checked&&(n.Checked=!1)}),t.Checked=!0},n.popupSearchForPharmacy=function(t){n.selectedAccountSetupUIDNoPharmacy=t.AccountSetupUID,$("#popupSearchForPharmacy").modal("show"),n.searchparams.searchvalue="",n.sites=null,n.areSitesLoaded=!1},n.disableAddSiteToAccount=function(){var t=!1;return n.sites&&angular.forEach(n.sites,function(n){n.Checked&&(t=!0)}),!n.selectedAccountSetupUIDNoPharmacy||!t},n.TransactionAmend=function(){var i=!1,r=0;n.sites&&angular.forEach(n.sites,function(n){n.Checked&&(i=!0,r=n.Id)}),n.selectedAccountSetupUIDNoPharmacy&&i&&(n.isBusyAddSiteToAccount=!0,o.amendAccountTransaction(n.selectedAccountSetupUIDNoPharmacy,r,"").success(function(i){i.Status==c.resultstatuses.succesfull?(h.info(i.Message),$("#popupSearchForPharmacy").modal("hide"),t.refreshinternalaccounts(),t.refreshexternalaccounts(),n.selectedDashboardAcountsTabs={Internal:!1,External:!0}):(h.error(i.Message),i.Status==c.resultstatuses.sessionTimedOut&&(t.processLogout(),$("#popupSearchForPharmacy").modal("hide"))),n.isBusyAddSiteToAccount=!1}).error(function(){h.error(c.staticStrings.serverException),n.isBusyAddSiteToAccount=!1}))},n.loadmorenotes=function(t){n.SelectedAccountSetupNotes=t.AccountSetupNotes}}]),app.controller("scPharmacyCtrl",["$scope","$rootScope","sites","suppliers","vendors","accountsetups","orders","outofstocks","invoices","credits","loader","notifier","datehelper","enums",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v){var p,y,b,w,k;n.IsOrders=!0,n.IsInvoices=!0,n.IsNdss=!1,n.IsEditRoles=!1,n.IsEditAccount=!1,n.OldOrders=!1,n.OldInvoices=!1,n.OldNdss=!1,n.popupEditUsedAccountsTriggered=!1,t.refreshSitePage=function(){n.showBackToResults=!0,n.showSearchModule=!0,n.sites=null,n.externalsites=null,n.searchparams.searchvalue="",n.searchparams.searchtype="Description",n.searchBtnText="Search",n.searchKeyword="",n.searchByInvoiceNumbersModel={isFirstTime:!0,siteId:0,supplier1:"",supplier2:"",supplier3:"",supplier4:"",invoiceNumber1:"",invoiceNumber2:"",invoiceNumber3:"",invoiceNumber4:""},n.isFirstTimeAccountNoPharmacy=!0,n.isSiteSelected=!1,n.isSiteEditing=!1,n.isDetailsExpanded=!1,n.selectedSite=null,n.isFirstTimeSiteUser=!0,n.loadVendors(),n.loadSuppliers(),t.userRole==v.roles.pharmacy&&n.searchSitesForPharmacy()},p=0,n.blockUI=function(){p+=1,p>0&&(n.isdownloadingdata=!0)},n.unblockUI=function(){p-=1,p==0&&(n.isdownloadingdata=!1)},n.searchparams={searchtype:"Description",searchvalue:""},n.searchSites=function(){n.searchparams.searchtype=="ABN"?n.popupAbnInfo():n.searchSitesConfirm()},n.searchSitesConfirm=function(){n.searchparams.searchtype!=""&&n.searchparams.searchtype!="Invoicenumbers"&&n.searchparams.searchvalue!=""&&(n.searchByInvNumbersReturnNothing=!1,n.selectedSite=null,n.isSiteSelected=!1,n.isSiteEditing=!1,n.blockUI(),i.list(n.searchparams.searchtype,n.searchparams.searchvalue).success(function(i){i.Status==v.resultstatuses.succesfull?i.Item!=null?(n.sites=i.Item,n.searchResult=i.Item.length+(i.Item.length<2?" pharmacy":" pharmacies")):(n.sites=null,n.searchResult="0 pharmacy"):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()}),n.blockUI(),i.listExternal(n.searchparams.searchtype,n.searchparams.searchvalue).success(function(i){i.Status==v.resultstatuses.succesfull?i.Item!=null?(n.externalsites=i.Item,n.externalsearchResult=i.Item.length+(i.Item.length<2?" pharmacy":" pharmacies")):(n.sites=null,n.externalsearchResult="0 pharmacy"):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()}))},n.searchABN=function(){n.abnInfo="",n.blockUI(),i.abnInfo(n.searchparams.searchvalue).success(function(i){i!=null?n.abnInfo=i:(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()})},n.searchSitesForPharmacy=function(){n.showBackToResults=!1,n.showSearchModule=!1,n.searchByInvNumbersReturnNothing=!1,n.selectedSite=null,n.isSiteSelected=!1,n.isSiteEditing=!1,n.blockUI(),i.list("username",t.username).success(function(i){i.Status==v.resultstatuses.succesfull?i.Item!=null?(n.sites=i.Item,n.sites.length==1&&n.selectSite(n.sites[0].Id)):(n.sites=null,n.searchResult="0 pharmacy",n.showBackToResults=!0,n.showSearchModule=!0):(n.showBackToResults=!0,n.showSearchModule=!0,l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){n.showBackToResults=!0,n.showSearchModule=!0,l.error(v.staticStrings.serverException),n.unblockUI()})},n.searchByInvNumbersReturnNothing=!0,n.searchtypeselected=function(){n.searchparams.searchtype=="Invoicenumbers"&&(n.searchByInvoiceNumbersModel.invoiceNumber1="",n.searchByInvoiceNumbersModel.invoiceNumber2="",n.searchByInvoiceNumbersModel.invoiceNumber3="",n.searchByInvoiceNumbersModel.invoiceNumber4="",$("#searchByInvoiceNumbersPopup").modal("show")),n.searchBtnText=n.searchparams.searchtype=="ABN"?"Check ABN":"Search",setTimeout(function(){$("#txtSearchPharmacy").focus()},0)},n.tryAgainValidateInvNumbers=function(){$("#searchByInvoiceNumbersPopup").modal("show")},n.validateExternalSite=function(i){t.permissions.ShowNewPharmacy?(n.searchByInvoiceNumbersModel.siteId=i.Id,n.searchByInvoiceNumbersModel.supplier1=i.MasterSupplierId,n.searchByInvoiceNumbersModel.supplier2=i.MasterSupplierId,n.searchByInvoiceNumbersModel.supplier3=i.MasterSupplierId,n.searchByInvoiceNumbersModel.supplier4=i.MasterSupplierId,n.searchByInvoiceNumbersModel.invoiceNumber1="",n.searchByInvoiceNumbersModel.invoiceNumber2="",n.searchByInvoiceNumbersModel.invoiceNumber3="",n.searchByInvoiceNumbersModel.invoiceNumber4="",$("#searchByInvoiceNumbersPopup").modal("show"),n.suppliersForInvNumbers=[],angular.forEach(i.SupplierIds,function(i){angular.forEach(t.suppliers,function(t){if(i==t.Id){var u={Description:t.Description,Id:t.Id};n.suppliersForInvNumbers.push(u)}},[])},[])):n.selectSite(i.Id)},n.searchByInvoiceNumbersModel={isFirstTime:!0,siteId:0,supplier1:"",supplier2:"",supplier3:"",supplier4:"",invoiceNumber1:"",invoiceNumber2:"",invoiceNumber3:"",invoiceNumber4:""},n.disableDoSearchByInvNumbers=function(){return n.searchByInvoiceNumbersModel.supplier1==""||n.searchByInvoiceNumbersModel.supplier2==""||n.searchByInvoiceNumbersModel.supplier3==""||n.searchByInvoiceNumbersModel.supplier4==""||n.searchByInvoiceNumbersModel.invoiceNumber1==""||n.searchByInvoiceNumbersModel.invoiceNumber1.length>6||n.searchByInvoiceNumbersModel.invoiceNumber2==""||n.searchByInvoiceNumbersModel.invoiceNumber2.length>6||n.searchByInvoiceNumbersModel.invoiceNumber3==""||n.searchByInvoiceNumbersModel.invoiceNumber3.length>6||n.searchByInvoiceNumbersModel.invoiceNumber4==""||n.searchByInvoiceNumbersModel.invoiceNumber4.length>6||n.searchByInvoiceNumbersModel.invoiceNumber1==n.searchByInvoiceNumbersModel.invoiceNumber2||n.searchByInvoiceNumbersModel.invoiceNumber1==n.searchByInvoiceNumbersModel.invoiceNumber3||n.searchByInvoiceNumbersModel.invoiceNumber1==n.searchByInvoiceNumbersModel.invoiceNumber4||n.searchByInvoiceNumbersModel.invoiceNumber2==n.searchByInvoiceNumbersModel.invoiceNumber3||n.searchByInvoiceNumbersModel.invoiceNumber2==n.searchByInvoiceNumbersModel.invoiceNumber4||n.searchByInvoiceNumbersModel.invoiceNumber3==n.searchByInvoiceNumbersModel.invoiceNumber4},n.doSearchByInvNumbers=function(){n.searchByInvoiceNumbersModel.isFirstTime=!1,n.disableDoSearchByInvNumbers()||($("#searchByInvoiceNumbersPopup").modal("hide"),n.externalsites=null,n.selectedSite=null,n.isSiteSelected=!1,n.blockUI(),i.listByInvNumbers(n.searchByInvoiceNumbersModel.siteId,n.searchByInvoiceNumbersModel.supplier1,n.searchByInvoiceNumbersModel.supplier2,n.searchByInvoiceNumbersModel.supplier3,n.searchByInvoiceNumbersModel.supplier4,n.searchByInvoiceNumbersModel.invoiceNumber1,n.searchByInvoiceNumbersModel.invoiceNumber2,n.searchByInvoiceNumbersModel.invoiceNumber3,n.searchByInvoiceNumbersModel.invoiceNumber4).success(function(i){i.Status==v.resultstatuses.succesfull?i.Item!=null?(n.sites=i.Item,n.searchResult=i.Item.length+(i.Item.length<2?" pharmacy":" pharmacies")):(n.searchResult="0 pharmacy",n.searchByInvNumbersReturnNothing=!0):(i.Item!=null&&(n.sites=i.Item,n.searchResult=i.Item.length+(i.Item.length<2?" pharmacy":" pharmacies"),n.searchByInvNumbersReturnNothing=!0),l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()}))},n.isFirstTimeAccountNoPharmacy=!0,n.popupNewAccountWithNoPharmacyConfirm=function(){$("#popupConfirmNewAccountNoPharm").modal("show")},n.popupNewAccountWithNoPharmacy=function(){$("#popupNewAccountNoPharm").modal("show");var i={Id:0,vendorId:0,SupplierIdandDesc:"",StateSupplierIdandDesc:"",StateSupplierId:null,AccountNumber:"",Password:"",Notes:"",Pharmacy:"",Contact:"",Phone:"",Suburb:""};n.newAccountNoPharmacy=i,t.supplierId&&angular.forEach(t.suppliers,function(i){i.Id==t.supplierId&&(n.statesuppliersNoPharmacy=i.StateSuppliers,n.showStateSupplierNoPharmacy=i.StateSuppliers.length>1)},[])},n.disableConfirmNewAccountWithNoPharmacy=function(){return!n.newAccountNoPharmacy||!n.newAccountNoPharmacy.AccountNumber||!n.newAccountNoPharmacy.vendorId},n.confirmNewAccountWithNoPharmacy=function(){n.isFirstTimeAccountNoPharmacy=!1,n.newAccountNoPharmacy.AccountNumber&&n.newAccountNoPharmacy.vendorId&&(n.isBusyNewAccountNoPharm=!0,n.newAccountNoPharmacy.StateSupplierIdandDesc&&(n.newAccountNoPharmacy.StateSupplierId=n.newAccountNoPharmacy.StateSupplierIdandDesc.substr(0,n.newAccountNoPharmacy.StateSupplierIdandDesc.indexOf(","))),f.addAccountNoPharm(n.newAccountNoPharmacy.vendorId,n.newAccountNoPharmacy.StateSupplierId,n.newAccountNoPharmacy.AccountNumber,n.newAccountNoPharmacy.Password,n.newAccountNoPharmacy.Notes,n.newAccountNoPharmacy.Pharmacy,n.newAccountNoPharmacy.Contact,n.newAccountNoPharmacy.Phone,n.newAccountNoPharmacy.Suburb).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),$("#popupNewAccountNoPharm").modal("hide"),n.isFirstTimeAccountNoPharmacy=!0):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&(t.processLogout(),$("#popupNewAccountNoPharm").modal("hide"))),n.isBusyNewAccountNoPharm=!1}).error(function(){l.error(v.staticStrings.serverException),n.isBusyNewAccountNoPharm=!1}))},n.selectSite=function(r){var u=null;n.sites.length==1&&angular.forEach(n.sites,function(n){n.Id==r&&(u=n)},[]),u&&u.ReturnedByInvNumber?(n.selectedSite=u,n.isSiteSelected=!0,t.permissions.ShowAddEditPharmacyUsers&&r>0&&(!n.selectedSite.SiteUsers||n.selectedSite.SiteUsers.length==0)&&n.popupAddUser(),t.permissions.ShowPharmacyAccountsInActions&&(n.selectedSiteAcountsTabs={Internal:!0,External:!1,complete:!1},n.loadSiteAccountSetups(r)),n.initSiteDocuments(r)):(n.blockUI(),i.get(r).success(function(i){if(i.Status==v.resultstatuses.succesfull?i.Item!=null?(n.selectedSite=i.Item,n.isSiteSelected=!0,t.permissions.ShowAddEditPharmacyUsers&&r>0&&(!n.selectedSite.SiteUsers||n.selectedSite.SiteUsers.length==0)&&n.popupAddUser(),t.permissions.ShowPharmacyAccountsInActions&&(n.selectedSiteAcountsTabs={Internal:!0,External:!1,complete:!1},n.loadSiteAccountSetups(r)),n.initSiteDocuments(r)):l.error(i.Message):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),!n.popupEditUsedAccountsTriggered){$("#popupEditUsedAccount").on("shown",function(){$("#popupEditUsedAccount input[data-title=Orders]").prop("checked",n.editingUsedAccount.isOrders),$("#popupEditUsedAccount input[data-title=Invoices]").prop("checked",n.editingUsedAccount.isInvoices),$("#popupEditUsedAccount input[data-title=NDSS]").prop("checked",n.editingUsedAccount.isNdss),$("#popupEditUsedAccount input[data-title=Approved]").prop("checked",n.editingUsedAccount.approved)});n.popupEditUsedAccountsTriggered=!0}n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()}))},n.createNewSite=function(){n.selectedSite={Id:0,Description:"",ABN:"",ApprovalNumberFixed:"",SiteAddressFixed:{StreetNumber:"",StreetName:"",Suburb:"",AddressStateId:"",PostCode:""},SiteContactFixed:{Name:"",Code:""}},n.isSiteSelected=!0,n.isSiteEditing=!0,n.isDetailsExpanded=!0,n.showRelatedDocuments=!1,y={Description:n.selectedSite.Description,ABN:n.selectedSite.ABN,ApprovalNumberFixed:n.selectedSite.ApprovalNumberFixed,SiteAddressFixed_StreetNumber:n.selectedSite.SiteAddressFixed.SubStreetNumber,SiteAddressFixed_StreetName:n.selectedSite.SiteAddressFixed.StreetName,SiteAddressFixed_Suburb:n.selectedSite.SiteAddressFixed.Suburb,SiteAddressFixed_AddressStateId:n.selectedSite.SiteAddressFixed.AddressStateId,SiteAddressFixed_PostCode:n.selectedSite.SiteAddressFixed.PostCode,SiteContactFixed_Name:n.selectedSite.SiteContactFixed.Name,SiteContactFixed_Code:n.selectedSite.SiteContactFixed.Code,SiteContactFixed_Comment:n.selectedSite.SiteContactFixed.Comment}},n.isSiteSelected=!1,n.isSiteEditing=!1,n.isDetailsExpanded=!1,n.selectedSite=null,n.startSiteEditing=function(){n.isSiteEditing=!0,n.isDetailsExpanded=!0,n.selectedSite.SiteAddressFixed.AddressStateId=n.selectedSite.SiteAddressFixed.AddressStateId==null?1:n.selectedSite.SiteAddressFixed.AddressStateId,y={Description:n.selectedSite.Description,ABN:n.selectedSite.ABN,ApprovalNumberFixed:n.selectedSite.ApprovalNumberFixed,SiteAddressFixed_StreetNumber:n.selectedSite.SiteAddressFixed.SubStreetNumber,SiteAddressFixed_StreetName:n.selectedSite.SiteAddressFixed.StreetName,SiteAddressFixed_Suburb:n.selectedSite.SiteAddressFixed.Suburb,SiteAddressFixed_AddressStateId:n.selectedSite.SiteAddressFixed.AddressStateId,SiteAddressFixed_PostCode:n.selectedSite.SiteAddressFixed.PostCode,SiteContactFixed_Name:n.selectedSite.SiteContactFixed.Name,SiteContactFixed_Code:n.selectedSite.SiteContactFixed.Code,SiteContactFixed_Comment:n.selectedSite.SiteContactFixed.Comment}},n.backToSearchList=function(){n.selectedSite=null,n.isSiteSelected=!1},n.cancelSiteEditing=function(){n.isSiteEditing=!1,n.selectedSite.Description=y.Description,n.selectedSite.ABN=y.ABN,n.selectedSite.ApprovalNumberFixed=y.ApprovalNumberFixed,n.selectedSite.SiteAddressFixed.SubStreetNumber=y.SiteAddressFixed_StreetNumber,n.selectedSite.SiteAddressFixed.StreetName=y.SiteAddressFixed_StreetName,n.selectedSite.SiteAddressFixed.Suburb=y.SiteAddressFixed_Suburb,n.selectedSite.SiteAddressFixed.AddressStateId=y.SiteAddressFixed_AddressStateId,n.selectedSite.SiteAddressFixed.PostCode=y.SiteAddressFixed_PostCode,n.selectedSite.SiteContactFixed.Name=y.SiteContactFixed_Name,n.selectedSite.SiteContactFixed.Code=y.SiteContactFixed_Code,n.selectedSite.SiteContactFixed.Comment=y.SiteContactFixed_Comment},n.disableConfirmSite=function(){var t=!0;return n.selectedSite&&(t=!(n.selectedSite.Id>=0)||!n.selectedSite.Description||!n.selectedSite.ABN),t},n.confirmSiteEditing=function(){n.blockUI();var r=n.selectedSite.Id>0?"edit":"insert";i.editSiteDetails(r,n.selectedSite.Id,n.selectedSite.Description,n.selectedSite.ABN,n.selectedSite.ApprovalNumberFixed,n.selectedSite.SiteAddressFixed.SubStreetNumber,n.selectedSite.SiteAddressFixed.StreetName,n.selectedSite.SiteAddressFixed.Suburb,n.selectedSite.SiteAddressFixed.AddressStateId,n.selectedSite.SiteAddressFixed.PostCode,n.selectedSite.SiteContactFixed.Name,n.selectedSite.SiteContactFixed.Code,n.selectedSite.SiteContactFixed.Comment).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.isSiteEditing=!1,n.selectedSite.Id>0?n.selectSite(n.selectedSite.Id):(n.selectedSite=i.Item,n.isSiteSelected=!0,n.searchByInvoiceNumbersModel.invoiceNumber1="",n.searchByInvoiceNumbersModel.invoiceNumber2="",n.searchByInvoiceNumbersModel.invoiceNumber3="",n.searchByInvoiceNumbersModel.invoiceNumber4="",t.permissions.ShowAddEditPharmacyUsers&&i.Item.Id>0&&(!n.selectedSite.SiteUsers||n.selectedSite.SiteUsers.length==0)&&n.popupAddUser(),t.permissions.ShowPharmacyAccountsInActions&&(n.selectedSiteAcountsTabs={Internal:!0,External:!1,complete:!1},n.loadSiteAccountSetups(i.Item.Id)))):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()})},n.expandeColapseSiteDetails=function(){n.isDetailsExpanded=!n.isDetailsExpanded},n.classForDetailsCollapsed=function(){return n.isDetailsExpanded?"in":"collapsed"},n.isFirstTimeSiteUser=!0,n.popupAddUser=function(){n.isFirstTimeSiteUser=!0,n.userOperation="Add ";var t={User:{Username:"",Password:"",RepeatePassword:""}};n.selectedUser=t,$("#popupAddEditUser").modal("show")},n.popupEditUser=function(t){n.isFirstTimeSiteUser=!0,n.userOperation="Edit ";var i={UserSiteUID:t.UserSiteUID,User:{Username:t.User.Username,Password:t.User.Password,RepeatePassword:t.User.RepeatePassword}};n.selectedUser=i,$("#popupAddEditUser").modal("show")},n.popupDeleteUser=function(t){n.selectedUser=t,$("#popupDeleteUser").modal("show")},n.disableAddNewUser=function(){return!n.selectedUser||!n.selectedUser.User||!n.selectedUser.User.Username||!n.selectedUser.User.Password||n.selectedUser.User.Password!=n.selectedUser.User.RepeatePassword},n.disableUserNameTextbox=function(){var t=!1;return n.selectedUser&&n.selectedUser.UserSiteUID&&(t=!0),t},n.confirmAddEditUser=function(){(n.isFirstTimeSiteUser=!1,n.disableAddNewUser())||($("#popupAddEditUser").modal("hide"),n.selectedUser.UserSiteUID?n.confirmEditUser():n.confirmAddUser())},n.addExistingUserInSite=function(){n.blockUI(),n.isdownloadingdata=!0,i.addExistingUserToSite(n.selectedSite.Id,n.selectedUserId).success(function(t){l.info(t.Message),n.unblockUI(),n.isdownloadingdata=!1,n.isSiteEditing=!1,n.selectSite(n.selectedSite.Id)}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI(),n.isdownloadingdata=!1})},n.addExistingUser=function(){n.isFirstTimeSiteUser=!1,$("#popupAddEditUser").modal("hide"),$("#popupAddExistingUser").modal("show")},n.searchUsers=function(){n.blockUI(),n.isdownloadingdata=!0,i.getUserSite(n.searchKeyword).success(function(t){n.userList=t,n.unblockUI(),n.isdownloadingdata=!1}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI(),n.isdownloadingdata=!1})},n.searchKeyword="",n.selectedUserId=0,n.setSelectedUser=function(t){n.selectedUserId=t},n.userList=null,n.addRow=function(){n.userList.push({name:n.name}),n.name=""},n.removeRow=function(name){for(var index=-1,comArr=eval(n.userList),i=0;i<comArr.length;i++)if(comArr[i].name===name){index=i;break}index===-1&&alert("Something gone wrong"),n.userList.splice(index,1)},n.confirmAddUser=function(){n.blockUI(),i.addUserToSite(n.selectedSite.Id,n.selectedUser.User.Username,n.selectedUser.User.Password,n.searchByInvoiceNumbersModel.supplier1,n.searchByInvoiceNumbersModel.supplier2,n.searchByInvoiceNumbersModel.supplier3,n.searchByInvoiceNumbersModel.supplier4,n.searchByInvoiceNumbersModel.invoiceNumber1,n.searchByInvoiceNumbersModel.invoiceNumber2,n.searchByInvoiceNumbersModel.invoiceNumber3,n.searchByInvoiceNumbersModel.invoiceNumber4).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.isSiteEditing=!1,n.sites&&n.sites.length==1&&angular.forEach(n.sites,function(t){t.Id==n.selectedSite.Id&&t.ReturnedByInvNumber&&(t.ReturnedByInvNumber=!1)},[]),n.selectSite(n.selectedSite.Id)):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()})},n.confirmEditUser=function(){n.blockUI(),i.editUserInSite(n.selectedSite.Id,n.selectedUser.UserSiteUID,n.selectedUser.User.Username,n.selectedUser.User.Password).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.isSiteEditing=!1,n.selectSite(n.selectedSite.Id)):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()})},n.confirmDeleteUser=function(){n.blockUI(),i.deleteUserInSite(n.selectedSite.Id,n.selectedUser.UserSiteUID).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.isSiteEditing=!1,n.selectSite(n.selectedSite.Id)):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()})},n.popupSiteGroups=function(){n.siteGroups=[],angular.forEach(n.selectedSite.GroupsFixed,function(t){n.siteGroups.push(t)}),$("#popupManageSiteGroups").modal("show")},n.clickOnGroup=function(t){var i=!1;angular.forEach(n.siteGroups,function(n){n.GroupUID==t.GroupUID&&(i=!0)}),i||n.siteGroups.push(t)},n.clickOnSiteGroup=function(t){n.siteGroups.splice(n.siteGroups.indexOf(t),1)},n.confirmSiteGroups=function(){n.blockUI(),i.operateSiteGroups(n.selectedSite.Id,n.siteGroups).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.isSiteEditing=!1,n.selectSite(n.selectedSite.Id)):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()})},n.isBusyAccountInUse=!1,n.isFirstTimeAccountInUse=!0,n.popupNewAccounts=function(){var i={Id:0,Supplier:"",SupplierIdandDesc:"",StateSupplierIdandDesc:"",StateSupplierId:null,AccountNumber:"",Password:"",Reference:"",Notes:"",IsOrders:!0,IsInvoices:!0,IsNdss:!1};n.showStateSupplier=!1,t.supplierName&&t.supplierId?(i.SupplierIdandDesc=t.supplierId+","+t.supplierName,n.newAccount=i,n.newAccountSupplierSelected()):n.newAccount=i,n.newlyAddedAccunts=[],$("#popupAddNewAccounts").modal("show")},n.addNewAccount=function(){if(n.isFirstTimeAccountInUse=!1,n.newAccount.SupplierIdandDesc&&n.newAccount.AccountNumber){n.newAccount.Id=n.newlyAddedAccunts.length+1,n.newAccount.SupplierId=n.newAccount.SupplierIdandDesc.substr(0,n.newAccount.SupplierIdandDesc.indexOf(",")),n.newAccount.Supplier=n.newAccount.SupplierIdandDesc.substr(n.newAccount.SupplierIdandDesc.indexOf(",")+1),n.newAccount.StateSupplierIdandDesc&&(n.newAccount.StateSupplierId=n.newAccount.StateSupplierIdandDesc.substr(0,n.newAccount.StateSupplierIdandDesc.indexOf(","))),n.newlyAddedAccunts.push(n.newAccount);var i={Id:0,SupplierId:0,Supplier:"",SupplierIdandDesc:"",StateSupplierIdandDesc:"",AccountNumber:"",Password:"",Reference:"",Notes:"",IsOrders:"",IsInvoices:"",IsNdss:""};n.newAccount=i,t.supplierName&&t.supplierId&&(i.SupplierIdandDesc=t.supplierId+","+t.supplierName),n.isFirstTimeAccountInUse=!0}},n.disableAddNewAccountButtons=function(t){switch(t){case"AddNewAccount":return!n.newAccount||!n.newAccount.AccountNumber||!n.newAccount.SupplierIdandDesc;case"ClearNewAccount":return!n.newAccount||!n.newAccount.AccountNumber&&!n.newAccount.SupplierIdandDesc&&!n.newAccount.Password&&!n.newAccount.Notes;case"IsAnyNew":return!n.newlyAddedAccunts||n.newlyAddedAccunts.length==0;default:return!0}},n.newAccountSupplierSelected=function(){var i=n.newAccount.SupplierIdandDesc.substr(0,n.newAccount.SupplierIdandDesc.indexOf(","));n.supplierAccountFormatDescription="",n.newAccount.StateSupplierIdandDesc="",n.newAccount.StateSupplierId=null,i&&angular.forEach(t.suppliers,function(t){t.Id==i&&(n.supplierAccountFormatDescription=t.AccountFormatDescription,n.statesuppliers=t.StateSuppliers,n.showStateSupplier=t.StateSuppliers.length>1)},[])},n.clearNewAccount=function(){var i={Id:0,Supplier:"",AccountNumber:"",Password:"",Notes:""};n.newAccount=i,t.supplierName&&t.supplierId&&(i.SupplierIdandDesc=t.supplierId+","+t.supplierName)},n.cancelLastAddedAccount=function(){n.newlyAddedAccunts.splice(-1,1)},n.cancelAllAddedAccount=function(){n.newlyAddedAccunts=[]},n.confirmAddedAccounts=function(){if(n.newlyAddedAccunts){n.blockUI();var i=[];angular.forEach(n.newlyAddedAccunts,function(n){var r={SupplierId:n.SupplierId,StateSupplierId:n.StateSupplierId,AccountNumber:n.AccountNumber,AccountPassword:n.Password,Reference:n.Reference,Notes:n.Notes,IsOrders:n.IsOrders,IsInvoices:n.IsInvoices,IsNdss:n.IsNdss};i.push(r)},[]),f.addAccountToSite(n.selectedSite.Id,n.selectedSite.Description,i).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.selectSite(n.selectedSite.Id)):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()})}},n.popupEditUsedAccount=function(t){n.selectedUsedAccount=t,n.editingUsedAccount={password:t.Password,notes:"",approved:t.ApprovedFixed,isOrders:$.grep(t.AccountRoles,function(n){return n.RoleId==3}).length>0,isInvoices:$.grep(t.AccountRoles,function(n){return n.RoleId==4}).length>0,isNdss:$.grep(t.AccountRoles,function(n){return n.RoleId==24}).length>0},n.OldOrders=n.editingUsedAccount.isOrders,n.OldInvoices=n.editingUsedAccount.isInvoices,n.OldNdss=n.editingUsedAccount.isNdss,$("#popupEditUsedAccount").modal("show")},n.popupAbnInfo=function(){n.searchABN(),$("#popupAbnInfo").modal("show")},n.confirmEditUsedAccount=function(){n.selectedUsedAccount&&(n.editingUsedAccount.approved=$("#popupEditUsedAccount input[data-title=Approved]").is(":checked"),n.IsEditAccount=n.selectedUsedAccount.Password==n.editingUsedAccount.password&&n.selectedUsedAccount.ApprovedFixed==n.editingUsedAccount.approved?!1:!0,n.editingUsedAccount.isOrders=$("#popupEditUsedAccount input[data-title=Orders]").is(":checked"),n.editingUsedAccount.isInvoices=$("#popupEditUsedAccount input[data-title=Invoices]").is(":checked"),n.editingUsedAccount.isNdss=$("#popupEditUsedAccount input[data-title=NDSS]").is(":checked"),n.IsEditRoles=n.OldOrders==n.editingUsedAccount.isOrders&&n.OldInvoices==n.editingUsedAccount.isInvoices&&n.OldNdss==n.editingUsedAccount.isNdss?!1:!0,n.blockUI(),i.editAccountInSite(n.selectedSite.Id,n.selectedSite.Description,n.selectedUsedAccount.AccountId,n.editingUsedAccount.password,n.editingUsedAccount.approved,n.editingUsedAccount.notes,n.editingUsedAccount.isOrders,n.editingUsedAccount.isInvoices,n.editingUsedAccount.isNdss,n.IsEditAccount,n.IsEditRoles).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.selectSite(n.selectedSite.Id)):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()}))},n.popupDeleteUsedAccount=function(t){n.selectedUsedAccount=t,n.newnote="",$("#popupDeleteUsedAccount").modal("show")},n.confirmDeleteUsedAccount=function(){n.selectedUsedAccount&&(n.blockUI(),i.deleteAccountInSite(n.selectedSite.Id,n.selectedSite.Description,n.selectedUsedAccount.AccountId,n.newnote).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.selectSite(n.selectedSite.Id)):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()}))},n.showAccountsInAction=function(){var i=!1;return t.permissions&&t.permissions.ShowPharmacyAccountsInActions&&n.selectedSite&&n.selectedSite.Id>0&&(n.selectedSite.internalAccountSetups&&n.selectedSite.internalAccountSetups.length>0||n.selectedSite.externalAccountSetups&&n.selectedSite.externalAccountSetups.length>0||n.selectedSite.completeAccountSetups&&n.selectedSite.completeAccountSetups.length>0)&&(i=!0),i},n.loadSiteAccountSetups=function(i){n.isDownloadingSiteInternal=!0,f.listInternalActionsForSite(i).success(function(i){i.Status==v.resultstatuses.succesfull?n.selectedSite&&(n.selectedSite.internalAccountSetups=i.Item):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.isDownloadingSiteInternal=!1}).error(function(){l.error(v.staticStrings.serverException),n.isDownloadingSiteInternal=!1}),n.isDownloadingSiteExternal=!0,f.listExternalActionsForSite(i).success(function(i){i.Status==v.resultstatuses.succesfull?n.selectedSite&&(n.selectedSite.externalAccountSetups=i.Item):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.isDownloadingSiteExternal=!1}).error(function(){l.error(v.staticStrings.serverException),n.isDownloadingSiteExternal=!1}),n.isDownloadingSitecomplete=!0,f.listcompleteActionsForSite(i).success(function(i){i.Status==v.resultstatuses.succesfull?n.selectedSite&&(n.selectedSite.completeAccountSetups=i.Item):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.isDownloadingSitecomplete=!1}).error(function(){l.error(v.staticStrings.serverException),n.isDownloadingSitecomplete=!1})},n.ProcessSiteAccountTabClick=function(t){n.selectedSiteAcountsTabs={Internal:!1,External:!1,complete:!1};switch(t){case"external":n.selectedSiteAcountsTabs.External=!0;break;case"complete":n.selectedSiteAcountsTabs.complete=!0;break;default:n.selectedSiteAcountsTabs.Internal=!0}},n.disableCommitRejectDeleteButton=function(){var i=0,r=0;return n.selectedSite&&n.selectedSite.internalAccountSetups&&angular.forEach(n.selectedSite.internalAccountSetups,function(n){n.Checked&&n.State!=3?i++:n.Checked&&n.State==3&&r++}),i==0||r>0},n.disableCommitRejectUndoButton=function(){var i=0,r=0;return(n.selectedSite&&n.selectedSite.internalAccountSetups&&angular.forEach(n.selectedSite.internalAccountSetups,function(n){n.Checked&&n.State!=3?i++:n.Checked&&n.State==3&&r++}),r>0&&i>0)?(l.error("Sorry. You can only action one account at a time if one of the account changes has been rejected"),!0):i==0},n.disableInternalEditButton=function(){var i=0;return n.selectedSite&&n.selectedSite.internalAccountSetups&&angular.forEach(n.selectedSite.internalAccountSetups,function(n){n.Checked&&i++}),i!=1},n.openAccountForCommit=function(){if(n.operationType="commit",n.operation="Commit account(s)",n.newnote="",$("#commitrejectpopup2").modal("show"),n.selectedSite.internalAccountSetups&&n.selectedSite.internalAccountSetups.length>0&&n.operationType){var t=[];angular.forEach(n.selectedSite.internalAccountSetups,function(n){n.Checked&&t.push(n)}),n.showRoles=!($.grep(t,function(n){return n.ChangeTypeFixed!="Create"}).length>0)}},n.openAccountForReject=function(){n.operationType="reject",n.operation="Reject account(s)",n.newnote="",$("#commitrejectpopup2").modal("show")},n.openAccountForDelete=function(){n.operationType="delete",n.operation="Delete account(s)",n.newnote="",$("#commitrejectpopup2").modal("show")},n.openInternalAccountForEdit=function(){n.selectedSite&&n.selectedSite.internalAccountSetups&&angular.forEach(n.selectedSite.internalAccountSetups,function(t){t.Checked&&(n.selectedAccountSetup=t)}),n.newnote="",$("#editInternalPopup2").modal("show")},n.TransactionCommitRejectDelete=function(){if(n.selectedSite&&n.selectedSite.internalAccountSetups&&n.selectedSite.internalAccountSetups.length>0&&n.operationType){var i=[],r=[];angular.forEach(n.selectedSite.internalAccountSetups,function(n){if(n.Checked){var u={AccountNumber:n.AccountNumberFixed,MasterSupplierId:n.MasterSupplierId};i.push(n.AccountSetupUID),r.push(u)}}),i.length>0&&(n.blockUI(),f.commitRejectAccountTransaction(i,n.newnote,n.operationType,r,n.IsOrders,n.IsInvoices,n.IsNdss,t.HasOrdersPerm,t.HasInvoicesPerm,t.HasNdssPerm).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.selectSite(n.selectedSite.Id)):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()}))}},n.InternalTransactionEdit=function(){n.selectedAccountSetup&&(n.blockUI(),f.editAccountTransaction(n.selectedAccountSetup.AccountSetupUID,n.selectedAccountSetup.Password,n.selectedAccountSetup.ApprovedFixed,v.editAccountSetupType.internal,n.newnote).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.selectSite(n.selectedSite.Id)):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()}))},n.disableExternalDeleteButton=function(){var i=0;return n.selectedSite&&n.selectedSite.externalAccountSetups&&angular.forEach(n.selectedSite.externalAccountSetups,function(n){n.Checked&&i++}),i==0},n.disableExternalEditButton=function(){var i=0;return n.selectedSite&&n.selectedSite.externalAccountSetups&&angular.forEach(n.selectedSite.externalAccountSetups,function(n){n.Checked&&i++}),i!=1},n.openExternalAccountForEdit=function(){n.selectedSite&&n.selectedSite.externalAccountSetups&&angular.forEach(n.selectedSite.externalAccountSetups,function(t){t.Checked&&(n.selectedAccountSetup=t)}),n.newnote="",$("#editPopup2").modal("show")},n.openExternalAccountForDelete=function(){n.operationType="delete",n.operation="Delete account(s)",n.newnote="",$("#deletePopup2").modal("show")},n.TransactionDeleteExternal=function(){if(n.selectedSite&&n.selectedSite.externalAccountSetups&&n.selectedSite.externalAccountSetups.length>0&&n.operationType){var i=[];angular.forEach(n.selectedSite.externalAccountSetups,function(n){n.Checked&&i.push(n.AccountSetupUID)}),i.length>0&&(n.blockUI(),f.commitRejectAccountTransaction(i,n.newnote,n.operationType).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.selectSite(n.selectedSite.Id)):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()}))}},n.TransactionEdit=function(){n.selectedAccountSetup&&(n.blockUI(),f.editAccountTransaction(n.selectedAccountSetup.AccountSetupUID,n.selectedAccountSetup.Password,n.selectedAccountSetup.ApprovedFixed,v.editAccountSetupType.external,n.newnote).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.selectSite(n.selectedSite.Id)):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockUI()}))},b=!1,n.showRelatedDocuments=function(){var t=!1;return(b||n.selectedSite&&n.selectedSite.Id>0&&(n.siteOrders&&n.siteOrders.length>0||n.siteOutOfStocks&&n.siteOutOfStocks.length>0||n.siteInvoices&&n.siteInvoices.length>0||n.siteCredits&&n.siteCredits.length>0))&&(t=!0,b=!0),t},w=0,n.blockSiteDocumentsUI=function(){w+=1,w>0&&(n.isDownloadingSiteDocuments=!0)},n.unblockSiteDocumentsUI=function(){w-=1,w==0&&(n.isDownloadingSiteDocuments=!1)},k="",n.initSiteDocuments=function(t){n.selectedSiteDocumentsTabs={Orders:!0,OutOfStocks:!1,Invoices:!1,Credits:!1},k="",n.orderFilter={startDate:"",endDate:"",supplierId:0,accountNumber:"",posReference:"",status:"",vendorId:0,orderId:0,siteId:null,group:""},n.filterOpened=!1,n.detailsOpened=!1,n.relatedsOpened=!1,n.siteOrders=null,n.loadOrders(t),n.outOfStockFilter={id:0,startDate:"",endDate:"",supplierId:0,accountNumber:"",vendorId:0,orderId:0,siteId:null,group:""},n.isOutOfStockFilterOpened=!1,n.isOutOfStockDetailsOpened=!1,n.isOutOfStockrelatedsOpened=!1,n.siteOutOfStocks=null,n.loadOutOfStocks(t),n.invoiceFilter={id:0,startDate:"",endDate:"",supplierId:0,accountNumber:"",vendorId:0,orderId:0,siteId:null,group:"",invoiceNumber:""},n.isInvoiceFilterOpened=!1,n.isInvoiceDetailsOpened=!1,n.isInvoicerelatedsOpened=!1,n.siteInvoices=null,n.loadInvoices(t),n.creditFilter={id:0,startDate:"",endDate:"",supplierId:0,accountNumber:"",vendorId:0,orderId:0,siteId:null,group:"",invoiceNumber:"",creditNumber:"",raNumber:""},n.isCreditFilterOpened=!1,n.isCreditDetailsOpened=!1,n.isCreditrelatedsOpened=!1,n.siteCredits=null,n.loadCredits(t),b=!1},n.processSiteDocumentsTabClick=function(t){k=t,n.selectedSiteDocumentsTabs={Orders:!1,OutOfStocks:!1,Invoices:!1,Credits:!1};switch(t){case"outofstocks":n.selectedSiteDocumentsTabs.OutOfStocks=!0;break;case"invoices":n.selectedSiteDocumentsTabs.Invoices=!0;break;case"credits":n.selectedSiteDocumentsTabs.Credits=!0;break;default:n.selectedSiteDocumentsTabs.Orders=!0}},n.refreshSiteDocuments=function(){switch(k){case"outofstocks":n.loadOutOfStocks(n.selectedSite.Id);break;case"invoices":n.loadInvoices(n.selectedSite.Id);break;case"credits":n.loadCredits(n.selectedSite.Id);break;default:n.loadOrders(n.selectedSite.Id)}},n.InitOrderFilter=function(){n.orderFilter={startDate:"",endDate:"",supplierId:0,accountNumber:"",posReference:"",status:"",vendorId:0,orderId:0,siteId:null,group:""}},n.InitOrderFilter(),n.filterOpened=!1,n.detailsOpened=!1,n.relatedsOpened=!1,n.classFilterOpened=function(){return n.filterOpened?"col-md-9":""},n.showHideFilter=function(){n.filterOpened=!n.filterOpened},n.openCloseDetails=function(){n.detailsOpened=!n.detailsOpened,n.detailsOpened?angular.forEach(n.siteOrders,function(t){t.Checked&&(n.loadOrderLines(t),t.detailsOpened=!0)},[]):angular.forEach(n.siteOrders,function(n){n.Checked&&(n.detailsOpened=!1)},[])},n.openCloseRelateds=function(){n.relatedsOpened=!n.relatedsOpened,n.relatedsOpened?angular.forEach(n.siteOrders,function(t){t.Checked&&(n.loadOrderRelatedDocuments(t),t.relatedsOpened=!0)},[]):angular.forEach(n.siteOrders,function(n){n.Checked&&(n.relatedsOpened=!1)},[])},n.siteOrdersCheckboxClick=function(t){var i=t.target;angular.forEach(n.siteOrders,function(n){n.Checked=i.checked},[])},n.loadOrders=function(i){n.blockSiteDocumentsUI();var r="";angular.forEach(n.orderFilter.status,function(n){r+=n+","},[]),e.list(n.orderFilter.startDate,n.orderFilter.endDate,n.orderFilter.supplierId,n.orderFilter.accountNumber,n.orderFilter.posReference,r,n.orderFilter.vendorId,n.orderFilter.orderId,i,n.orderFilter.group).success(function(i){i.Status==v.resultstatuses.succesfull?n.siteOrders=i.Item:(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})},n.loadOrderLines=function(i){i.lines&&i.lines.length!=0||(i.lines=[],n.blockSiteDocumentsUI(),e.listorderlines(i.Id).success(function(r){r.Status==v.resultstatuses.succesfull?i.lines=r.Item:(l.error(r.Message),r.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()}))},n.loadOrderRelatedDocuments=function(i){i.outOfsStocks&&i.outOfsStocks.length!=0||(i.outOfsStocks=[],n.blockSiteDocumentsUI(),e.listoutofstocks(i.Id).success(function(r){r.Status==v.resultstatuses.succesfull?i.outOfsStocks=r.Item:(l.error(r.Message),r.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})),i.invoices&&i.invoices.length!=0||(i.invoices=[],n.blockSiteDocumentsUI(),e.listinvoices(i.Id).success(function(r){r.Status==v.resultstatuses.succesfull?i.invoices=r.Item:(l.error(r.Message),r.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()}))},n.disableExpandButtons=function(){var i=0;return n.siteOrders&&angular.forEach(n.siteOrders,function(n){n.Checked&&i++}),i==0},n.disableCancelButton=function(){var i=0;return n.siteOrders&&angular.forEach(n.siteOrders,function(n){n.Checked&&n.CanCancel&&i++}),i==0},n.cancelOrders=function(){if(n.siteOrders){n.blockSiteDocumentsUI();var i=[];angular.forEach(n.siteOrders,function(n){n.Checked&&i.push(n.Id)},[]),e.cancelOrder(i).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.refreshSiteDocuments()):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})}},n.popupResendOrders=function(){$("#resendOrdersPopup2").modal("show")},n.doResendOrders=function(){if($("#resendOrdersPopup2").modal("hide"),n.siteOrders){n.blockSiteDocumentsUI();var i=[];angular.forEach(n.siteOrders,function(n){n.Checked&&i.push(n.Id)},[]),e.resendOrder(i).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.refreshSiteDocuments()):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})}},n.InitOutOfStockFilter=function(){n.outOfStockFilter={id:0,startDate:"",endDate:"",supplierId:0,accountNumber:"",vendorId:0,orderId:0,siteId:null,group:""}},n.InitOutOfStockFilter(),n.isOutOfStockFilterOpened=!1,n.isOutOfStockDetailsOpened=!1,n.isOutOfStockrelatedsOpened=!1,n.classOutOfStockFilterOpened=function(){return n.isOutOfStockFilterOpened?"col-md-9":""},n.showHideOutOfStockFilter=function(){n.isOutOfStockFilterOpened=!n.isOutOfStockFilterOpened},n.openCloseOutOfStockDetails=function(){n.isOutOfStockDetailsOpened=!n.isOutOfStockDetailsOpened,n.isOutOfStockDetailsOpened?angular.forEach(n.siteOutOfStocks,function(t){t.Checked&&(n.loadOutOfStockLines(t),t.detailsOpened=!0)},[]):angular.forEach(n.siteOutOfStocks,function(n){n.Checked&&(n.detailsOpened=!1)},[])},n.openCloseOutOfStockRelateds=function(){n.isOutOfStockrelatedsOpened=!n.isOutOfStockrelatedsOpened,n.isOutOfStockrelatedsOpened?angular.forEach(n.siteOutOfStocks,function(t){t.Checked&&(n.loadOutOfStockRelatedDocuments(t),t.relatedsOpened=!0)},[]):angular.forEach(n.siteOutOfStocks,function(n){n.Checked&&(n.relatedsOpened=!1)},[])},n.siteOutOfStocksCheckboxClick=function(t){var i=t.target;angular.forEach(n.siteOutOfStocks,function(n){n.Checked=i.checked},[])},n.loadOutOfStocks=function(i){n.blockSiteDocumentsUI(),o.list(0,n.outOfStockFilter.startDate,n.outOfStockFilter.endDate,n.outOfStockFilter.supplierId,n.outOfStockFilter.accountNumber,n.outOfStockFilter.vendorId,n.outOfStockFilter.orderId,i,n.outOfStockFilter.group).success(function(i){i.Status==v.resultstatuses.succesfull?n.siteOutOfStocks=i.Item:(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})},n.loadOutOfStockLines=function(i){i.lines&&i.lines.length!=0||(i.lines=[],n.blockSiteDocumentsUI(),o.listoutofstocklines(i.Id).success(function(r){r.Status==v.resultstatuses.succesfull?i.lines=r.Item:(l.error(r.Message),r.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()}))},n.loadOutOfStockRelatedDocuments=function(i){i.OrderId==0||i.orders&&i.orders.length!=0||(i.orders=[],n.blockSiteDocumentsUI(),o.listorders(i.OrderId).success(function(r){r.Status==v.resultstatuses.succesfull?i.orders=r.Item:(l.error(r.Message),r.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()}))},n.disableOutOfStockExpandButtons=function(){var i=0;return n.siteOutOfStocks&&angular.forEach(n.siteOutOfStocks,function(n){n.Checked&&i++}),i==0},n.cancelOutOfStocks=function(){if(n.siteOutOfStocks){n.blockSiteDocumentsUI();var i=[];angular.forEach(n.siteOutOfStocks,function(n){n.Checked&&i.push(n.Id)},[]),o.canceloutofstocks(i).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.refreshSiteDocuments()):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})}},n.resendOutOfStocks=function(){if(n.siteOutOfStocks){n.blockSiteDocumentsUI();var i=[];angular.forEach(n.siteOutOfStocks,function(n){n.Checked&&i.push(n.Id)},[]),o.resendoutofstocks(i).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.refreshSiteDocuments()):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})}},n.InitInvoiceFilter=function(){n.invoiceFilter={id:0,startDate:"",endDate:"",supplierId:0,accountNumber:"",vendorId:0,orderId:0,siteId:null,group:"",invoiceNumber:""}},n.InitInvoiceFilter(),n.isInvoiceFilterOpened=!1,n.isInvoiceDetailsOpened=!1,n.isInvoicerelatedsOpened=!1,n.classInvoiceFilterOpened=function(){return n.isInvoiceFilterOpened?"col-md-9":""},n.showHideInvoiceFilter=function(){n.isInvoiceFilterOpened=!n.isInvoiceFilterOpened},n.openCloseInvoiceDetails=function(){n.isInvoiceDetailsOpened=!n.isInvoiceDetailsOpened,n.isInvoiceDetailsOpened?angular.forEach(n.siteInvoices,function(t){t.Checked&&(n.loadInvoiceLines(t),t.detailsOpened=!0)},[]):angular.forEach(n.siteInvoices,function(n){n.Checked&&(n.detailsOpened=!1)},[])},n.openCloseInvoiceRelateds=function(){n.isInvoicerelatedsOpened=!n.isInvoicerelatedsOpened,n.isInvoicerelatedsOpened?angular.forEach(n.siteInvoices,function(t){t.Checked&&(n.loadInvoiceRelatedDocuments(t),t.relatedsOpened=!0)},[]):angular.forEach(n.siteInvoices,function(n){n.Checked&&(n.relatedsOpened=!1)},[])},n.siteInvoicesCheckboxClick=function(t){var i=t.target;angular.forEach(n.siteInvoices,function(n){n.Checked=i.checked},[])},n.loadInvoices=function(i){n.blockSiteDocumentsUI(),s.list(0,n.invoiceFilter.startDate,n.invoiceFilter.endDate,n.invoiceFilter.supplierId,n.invoiceFilter.accountNumber,n.invoiceFilter.vendorId,n.invoiceFilter.orderId,i,n.invoiceFilter.group,n.invoiceFilter.invoiceNumber).success(function(i){i.Status==v.resultstatuses.succesfull?n.siteInvoices=i.Item:(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})},n.loadInvoiceLines=function(i){i.lines&&i.lines.length!=0||(i.lines=[],n.blockSiteDocumentsUI(),s.listinvoicelines(i.Id).success(function(r){r.Status==v.resultstatuses.succesfull?i.lines=r.Item:(l.error(r.Message),r.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()}))},n.loadInvoiceRelatedDocuments=function(i){i.OrderID==0||i.orders&&i.orders.length!=0||(i.orders=[],n.blockSiteDocumentsUI(),s.listorders(i.OrderID).success(function(r){r.Status==v.resultstatuses.succesfull?i.orders=r.Item:(l.error(r.Message),r.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})),i.credits&&i.credits.length!=0||(i.credits=[],n.blockSiteDocumentsUI(),s.listcredits(i.Id).success(function(r){r.Status==v.resultstatuses.succesfull?i.credits=r.Item:(l.error(r.Message),r.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()}))},n.disableInvoiceExpandButtons=function(){var i=0;return n.siteInvoices&&angular.forEach(n.siteInvoices,function(n){n.Checked&&i++}),i==0},n.cancelInvoices=function(){if(n.siteInvoices){n.blockSiteDocumentsUI();var i=[];angular.forEach(n.siteInvoices,function(n){n.Checked&&i.push(n.Id)},[]),s.cancelinvoices(i).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.refreshSiteDocuments()):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})}},n.resendInvoices=function(){if(n.siteInvoices){n.blockSiteDocumentsUI();var i=[];angular.forEach(n.siteInvoices,function(n){n.Checked&&i.push(n.Id)},[]),s.resendinvoices(i).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.refreshSiteDocuments()):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})}},n.InitCreditFilter=function(){n.creditFilter={id:0,startDate:"",endDate:"",supplierId:0,accountNumber:"",vendorId:0,orderId:0,siteId:null,group:"",invoiceNumber:"",creditNumber:"",raNumber:""}},n.InitCreditFilter(),n.isCreditFilterOpened=!1,n.isCreditDetailsOpened=!1,n.isCreditrelatedsOpened=!1,n.classCreditFilterOpened=function(){return n.isCreditFilterOpened?"col-md-9":""},n.showHideCreditFilter=function(){n.isCreditFilterOpened=!n.isCreditFilterOpened},n.openCloseCreditDetails=function(){n.isCreditDetailsOpened=!n.isCreditDetailsOpened,n.isCreditDetailsOpened?angular.forEach(n.siteCredits,function(t){t.Checked&&(n.loadCreditLines(t),t.detailsOpened=!0)},[]):angular.forEach(n.siteCredits,function(n){n.Checked&&(n.detailsOpened=!1)},[])},n.openCloseCreditRelateds=function(){n.isCreditrelatedsOpened=!n.isCreditrelatedsOpened,n.isCreditrelatedsOpened?angular.forEach(n.siteCredits,function(t){t.Checked&&(n.loadCreditRelatedDocuments(t),t.relatedsOpened=!0)},[]):angular.forEach(n.siteCredits,function(n){n.Checked&&(n.relatedsOpened=!1)},[])},n.siteCreditsCheckboxClick=function(t){var i=t.target;angular.forEach(n.siteCredits,function(n){n.Checked=i.checked},[])},n.loadCredits=function(i){n.blockSiteDocumentsUI(),h.list(0,n.creditFilter.startDate,n.creditFilter.endDate,n.creditFilter.supplierId,n.creditFilter.accountNumber,n.creditFilter.vendorId,n.creditFilter.orderId,i,n.creditFilter.group,0,n.creditFilter.invoiceNumber,n.creditFilter.creditNumber,n.creditFilter.raNumber).success(function(i){i.Status==v.resultstatuses.succesfull?n.siteCredits=i.Item:(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})},n.loadCreditLines=function(i){i.lines&&i.lines.length!=0||(i.lines=[],n.blockSiteDocumentsUI(),h.listcreditlines(i.Id).success(function(r){r.Status==v.resultstatuses.succesfull?i.lines=r.Item:(l.error(r.Message),r.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()}))},n.loadCreditRelatedDocuments=function(){},n.disableCreditExpandButtons=function(){var i=0;return n.siteCredits&&angular.forEach(n.siteCredits,function(n){n.Checked&&i++}),i==0},n.cancelCredits=function(){if(n.siteCredits){n.blockSiteDocumentsUI();var i=[];angular.forEach(n.siteCredits,function(n){n.Checked&&i.push(n.Id)},[]),h.cancelcredits(i).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.refreshSiteDocuments()):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})}},n.resendCredits=function(){if(n.siteCredits){n.blockSiteDocumentsUI();var i=[];angular.forEach(n.siteCredits,function(n){n.Checked&&i.push(n.Id)},[]),h.resendcredits(i).success(function(i){i.Status==v.resultstatuses.succesfull?(l.info(i.Message),n.refreshSiteDocuments()):(l.error(i.Message),i.Status==v.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockSiteDocumentsUI()}).error(function(){l.error(v.staticStrings.serverException),n.unblockSiteDocumentsUI()})}},n.loadSuppliers=function(){r.listallsuppliers("").success(function(n){n.Status==v.resultstatuses.succesfull?t.suppliersForFilter=n.Item:(l.error(n.Message),n.Status==v.resultstatuses.sessionTimedOut&&t.processLogout())}).error(function(){l.error(v.staticStrings.serverException)})},n.loadVendors=function(){u.listallvendors("").success(function(n){n.Status==v.resultstatuses.succesfull?t.vendorsForFilter=n.Item:(l.error(n.Message),n.Status==v.resultstatuses.sessionTimedOut&&t.processLogout())}).error(function(){l.error(v.staticStrings.serverException)})}}]),app.controller("scDocumentsCtrl",["$scope","$rootScope","suppliers","vendors","orders","outofstocks","invoices","credits","loader","notifier","datehelper","enums",function(n,t,i,r,u,f,e,o,s,h,c,l){var v=!1,y=!1,p=!1,w="",a;t.refreshDocumentsPage=function(){n.selectedDocumentsTabs={Orders:!0,OutOfStocks:!1,Invoices:!1,Credits:!1},v=!1,y=!1,p=!1,w="",n.orderFilter={startDate:"",endDate:"",supplierId:0,accountNumber:"",posReference:"",status:"",vendorId:0,orderId:"",Id:null,group:""},n.filterOpened=!1,n.detailsOpened=!1,n.relatedsOpened=!1,n.Orders=null,n.outOfStockFilter={id:"",startDate:"",endDate:"",supplierId:0,accountNumber:"",vendorId:0,orderId:0,Id:null,group:""},n.isOutOfStockFilterOpened=!1,n.isOutOfStockDetailsOpened=!1,n.isOutOfStockrelatedsOpened=!1,n.OutOfStocks=null,n.invoiceFilter={id:"",startDate:"",endDate:"",supplierId:0,accountNumber:"",vendorId:0,orderId:0,Id:null,group:"",invoiceNumber:""},n.isInvoiceFilterOpened=!1,n.isInvoiceDetailsOpened=!1,n.isInvoicerelatedsOpened=!1,n.Invoices=null,n.creditFilter={id:"",startDate:"",endDate:"",supplierId:0,accountNumber:"",vendorId:0,orderId:0,Id:null,group:"",invoiceNumber:"",creditNumber:"",raNumber:""},n.isCreditFilterOpened=!1,n.isCreditDetailsOpened=!1,n.isCreditrelatedsOpened=!1,n.Credits=null,n.loadOrders(),n.loadVendors(),n.loadSuppliers()},a=0,n.blockUI=function(){a+=1,a>0&&(n.isdownloadingdata=!0)},n.unblockUI=function(){a-=1,a==0&&(n.isdownloadingdata=!1)},n.processDocumentsTabClick=function(t){w=t,n.selectedDocumentsTabs={Orders:!1,OutOfStocks:!1,Invoices:!1,Credits:!1};switch(t){case"outofstocks":n.selectedDocumentsTabs.OutOfStocks=!0,v||(v=!0,n.loadOutOfStocks());break;case"invoices":n.selectedDocumentsTabs.Invoices=!0,y||(y=!0,n.loadInvoices());break;case"credits":n.selectedDocumentsTabs.Credits=!0,p||(p=!0,n.loadCredits());break;default:n.selectedDocumentsTabs.Orders=!0}},n.refreshDocuments=function(){switch(w){case"outofstocks":n.loadOutOfStocks();break;case"invoices":n.loadInvoices();break;case"credits":n.loadCredits();break;default:n.loadOrders()}},n.InitOrderFilter=function(){n.orderFilter={startDate:"",endDate:"",supplierId:0,accountNumber:"",posReference:"",status:"",vendorId:0,orderId:"",Id:null,group:""}},n.InitOrderFilter(),n.filterOpened=!1,n.detailsOpened=!1,n.relatedsOpened=!1,n.classFilterOpened=function(){return n.filterOpened?"col-md-9":""},n.showHideFilter=function(){n.filterOpened=!n.filterOpened},n.openCloseDetails=function(){n.detailsOpened=!n.detailsOpened,n.detailsOpened?angular.forEach(n.Orders,function(t){t.Checked&&(n.loadOrderLines(t),t.detailsOpened=!0)},[]):angular.forEach(n.Orders,function(n){n.Checked&&(n.detailsOpened=!1)},[])},n.openCloseRelateds=function(){n.relatedsOpened=!n.relatedsOpened,n.relatedsOpened?angular.forEach(n.Orders,function(t){t.Checked&&(n.loadOrderRelatedDocuments(t),t.relatedsOpened=!0)},[]):angular.forEach(n.Orders,function(n){n.Checked&&(n.relatedsOpened=!1)},[])},n.OrdersCheckboxClick=function(t){var i=t.target;angular.forEach(n.Orders,function(n){n.Checked=i.checked},[])},n.loadOrders=function(){var i,r;n.blockUI(),i=n.orderFilter.orderId,i||(i=0),r="",angular.forEach(n.orderFilter.status,function(n){r+=n+","},[]),u.list(n.orderFilter.startDate,n.orderFilter.endDate,n.orderFilter.supplierId,n.orderFilter.accountNumber,n.orderFilter.posReference,r,n.orderFilter.vendorId,i,0,n.orderFilter.group).success(function(i){i.Status==l.resultstatuses.succesfull?n.Orders=i.Item:(h.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})},n.loadOrderLines=function(i){i.lines&&i.lines.length!=0||(i.lines=[],n.blockUI(),u.listorderlines(i.Id).success(function(r){r.Status==l.resultstatuses.succesfull?i.lines=r.Item:(h.error(r.Message),r.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()}))},n.loadOrderRelatedDocuments=function(i){i.outOfsStocks&&i.outOfsStocks.length!=0||(i.outOfsStocks=[],n.blockUI(),u.listoutofstocks(i.Id).success(function(r){r.Status==l.resultstatuses.succesfull?i.outOfsStocks=r.Item:(h.error(r.Message),r.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})),i.invoices&&i.invoices.length!=0||(i.invoices=[],n.blockUI(),u.listinvoices(i.Id).success(function(r){r.Status==l.resultstatuses.succesfull?i.invoices=r.Item:(h.error(r.Message),r.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()}))},n.disableExpandButtons=function(){var i=0;return n.Orders&&angular.forEach(n.Orders,function(n){n.Checked&&i++}),i==0},n.disableCancelButton=function(){var i=0;return n.Orders&&angular.forEach(n.Orders,function(n){n.Checked&&n.CanCancel&&i++}),i==0},n.cancelOrders=function(){if(n.Orders){n.blockUI();var i=[];angular.forEach(n.Orders,function(n){n.Checked&&i.push(n.Id)},[]),u.cancelOrder(i).success(function(i){i.Status==l.resultstatuses.succesfull?(h.info(i.Message),n.refreshDocuments()):(h.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})}},n.popupResendOrders=function(){$("#resendOrdersPopup").modal("show")},n.doResendOrders=function(){if($("#resendOrdersPopup").modal("hide"),n.Orders){n.blockUI();var i=[];angular.forEach(n.Orders,function(n){n.Checked&&i.push(n.Id)},[]),u.resendOrder(i).success(function(i){i.Status==l.resultstatuses.succesfull?(h.info(i.Message),n.refreshDocuments()):(h.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})}},n.InitOutOfStockFilter=function(){n.outOfStockFilter={id:"",startDate:"",endDate:"",supplierId:0,accountNumber:"",vendorId:0,orderId:0,Id:null,group:""}},n.InitOutOfStockFilter(),n.isOutOfStockFilterOpened=!1,n.isOutOfStockDetailsOpened=!1,n.isOutOfStockrelatedsOpened=!1,n.classOutOfStockFilterOpened=function(){return n.isOutOfStockFilterOpened?"col-md-9":""},n.showHideOutOfStockFilter=function(){n.isOutOfStockFilterOpened=!n.isOutOfStockFilterOpened},n.openCloseOutOfStockDetails=function(){n.isOutOfStockDetailsOpened=!n.isOutOfStockDetailsOpened,n.isOutOfStockDetailsOpened?angular.forEach(n.OutOfStocks,function(t){t.Checked&&(n.loadOutOfStockLines(t),t.detailsOpened=!0)},[]):angular.forEach(n.OutOfStocks,function(n){n.Checked&&(n.detailsOpened=!1)},[])},n.openCloseOutOfStockRelateds=function(){n.isOutOfStockrelatedsOpened=!n.isOutOfStockrelatedsOpened,n.isOutOfStockrelatedsOpened?angular.forEach(n.OutOfStocks,function(t){t.Checked&&(n.loadOutOfStockRelatedDocuments(t),t.relatedsOpened=!0)},[]):angular.forEach(n.OutOfStocks,function(n){n.Checked&&(n.relatedsOpened=!1)},[])},n.OutOfStocksCheckboxClick=function(t){var i=t.target;angular.forEach(n.OutOfStocks,function(n){n.Checked=i.checked},[])},n.loadOutOfStocks=function(){n.blockUI();var i=n.outOfStockFilter.id;i||(i=0),f.list(i,n.outOfStockFilter.startDate,n.outOfStockFilter.endDate,n.outOfStockFilter.supplierId,n.outOfStockFilter.accountNumber,n.outOfStockFilter.vendorId,n.outOfStockFilter.orderId,0,n.outOfStockFilter.group).success(function(i){i.Status==l.resultstatuses.succesfull?n.OutOfStocks=i.Item:(h.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})},n.loadOutOfStockLines=function(i){i.lines&&i.lines.length!=0||(i.lines=[],n.blockUI(),f.listoutofstocklines(i.Id).success(function(r){r.Status==l.resultstatuses.succesfull?i.lines=r.Item:(h.error(r.Message),r.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()}))},n.loadOutOfStockRelatedDocuments=function(i){i.OrderId==0||i.orders&&i.orders.length!=0||(i.orders=[],n.blockUI(),f.listorders(i.OrderId).success(function(r){r.Status==l.resultstatuses.succesfull?i.orders=r.Item:(h.error(r.Message),r.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()}))},n.disableOutOfStockExpandButtons=function(){var i=0;return n.OutOfStocks&&angular.forEach(n.OutOfStocks,function(n){n.Checked&&i++}),i==0},n.cancelOutOfStocks=function(){if(n.OutOfStocks){n.blockUI();var i=[];angular.forEach(n.OutOfStocks,function(n){n.Checked&&i.push(n.Id)},[]),f.canceloutofstocks(i).success(function(i){i.Status==l.resultstatuses.succesfull?(h.info(i.Message),n.refreshDocuments()):(h.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})}},n.resendOutOfStocks=function(){if(n.OutOfStocks){n.blockUI();var i=[];angular.forEach(n.OutOfStocks,function(n){n.Checked&&i.push(n.Id)},[]),f.resendoutofstocks(i).success(function(i){i.Status==l.resultstatuses.succesfull?(h.info(i.Message),n.refreshDocuments()):(h.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})}},n.InitInvoiceFilter=function(){n.invoiceFilter={id:"",startDate:"",endDate:"",supplierId:0,accountNumber:"",vendorId:0,orderId:0,Id:null,group:"",invoiceNumber:""}},n.InitInvoiceFilter(),n.isInvoiceFilterOpened=!1,n.isInvoiceDetailsOpened=!1,n.isInvoicerelatedsOpened=!1,n.classInvoiceFilterOpened=function(){return n.isInvoiceFilterOpened?"col-md-9":""},n.showHideInvoiceFilter=function(){n.isInvoiceFilterOpened=!n.isInvoiceFilterOpened},n.openCloseInvoiceDetails=function(){n.isInvoiceDetailsOpened=!n.isInvoiceDetailsOpened,n.isInvoiceDetailsOpened?angular.forEach(n.Invoices,function(t){t.Checked&&(n.loadInvoiceLines(t),t.detailsOpened=!0)},[]):angular.forEach(n.Invoices,function(n){n.Checked&&(n.detailsOpened=!1)},[])},n.openCloseInvoiceRelateds=function(){n.isInvoicerelatedsOpened=!n.isInvoicerelatedsOpened,n.isInvoicerelatedsOpened?angular.forEach(n.Invoices,function(t){t.Checked&&(n.loadInvoiceRelatedDocuments(t),t.relatedsOpened=!0)},[]):angular.forEach(n.Invoices,function(n){n.Checked&&(n.relatedsOpened=!1)},[])},n.InvoicesCheckboxClick=function(t){var i=t.target;angular.forEach(n.Invoices,function(n){n.Checked=i.checked},[])},n.loadInvoices=function(){n.blockUI();var i=n.invoiceFilter.id;i||(i=0),e.list(i,n.invoiceFilter.startDate,n.invoiceFilter.endDate,n.invoiceFilter.supplierId,n.invoiceFilter.accountNumber,n.invoiceFilter.vendorId,n.invoiceFilter.orderId,0,n.invoiceFilter.group,n.invoiceFilter.invoiceNumber).success(function(i){i.Status==l.resultstatuses.succesfull?n.Invoices=i.Item:(h.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})},n.loadInvoiceLines=function(i){i.lines&&i.lines.length!=0||(i.lines=[],n.blockUI(),e.listinvoicelines(i.Id).success(function(r){r.Status==l.resultstatuses.succesfull?i.lines=r.Item:(h.error(r.Message),r.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()}))},n.loadInvoiceRelatedDocuments=function(i){i.OrderID==0||i.orders&&i.orders.length!=0||(i.orders=[],n.blockUI(),e.listorders(i.OrderID).success(function(r){r.Status==l.resultstatuses.succesfull?i.orders=r.Item:(h.error(r.Message),r.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})),i.credits&&i.credits.length!=0||(i.credits=[],n.blockUI(),e.listcredits(i.Id).success(function(r){r.Status==l.resultstatuses.succesfull?i.credits=r.Item:(h.error(r.Message),r.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()}))},n.disableInvoiceExpandButtons=function(){var i=0;return n.Invoices&&angular.forEach(n.Invoices,function(n){n.Checked&&i++}),i==0},n.cancelInvoices=function(){if(n.Invoices){n.blockUI();var i=[];angular.forEach(n.Invoices,function(n){n.Checked&&i.push(n.Id)},[]),e.cancelinvoices(i).success(function(i){i.Status==l.resultstatuses.succesfull?(h.info(i.Message),n.refreshDocuments()):(h.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})}},n.resendInvoices=function(){if(n.Invoices){n.blockUI();var i=[];angular.forEach(n.Invoices,function(n){n.Checked&&i.push(n.Id)},[]),e.resendinvoices(i).success(function(i){i.Status==l.resultstatuses.succesfull?(h.info(i.Message),n.refreshDocuments()):(h.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})}},n.InitCreditFilter=function(){n.creditFilter={id:"",startDate:"",endDate:"",supplierId:0,accountNumber:"",vendorId:0,orderId:0,Id:null,group:"",invoiceNumber:"",creditNumber:"",raNumber:""}},n.InitCreditFilter(),n.isCreditFilterOpened=!1,n.isCreditDetailsOpened=!1,n.isCreditrelatedsOpened=!1,n.classCreditFilterOpened=function(){return n.isCreditFilterOpened?"col-md-9":""},n.showHideCreditFilter=function(){n.isCreditFilterOpened=!n.isCreditFilterOpened},n.openCloseCreditDetails=function(){n.isCreditDetailsOpened=!n.isCreditDetailsOpened,n.isCreditDetailsOpened?angular.forEach(n.Credits,function(t){t.Checked&&(n.loadCreditLines(t),t.detailsOpened=!0)},[]):angular.forEach(n.Credits,function(n){n.Checked&&(n.detailsOpened=!1)},[])},n.openCloseCreditRelateds=function(){n.isCreditrelatedsOpened=!n.isCreditrelatedsOpened,n.isCreditrelatedsOpened?angular.forEach(n.Credits,function(t){t.Checked&&(n.loadCreditRelatedDocuments(t),t.relatedsOpened=!0)},[]):angular.forEach(n.Credits,function(n){n.Checked&&(n.relatedsOpened=!1)},[])},n.CreditsCheckboxClick=function(t){var i=t.target;angular.forEach(n.Credits,function(n){n.Checked=i.checked},[])},n.loadCredits=function(){n.blockUI();var i=n.creditFilter.id;i||(i=0),o.list(i,n.creditFilter.startDate,n.creditFilter.endDate,n.creditFilter.supplierId,n.creditFilter.accountNumber,n.creditFilter.vendorId,n.creditFilter.orderId,0,n.creditFilter.group,0,n.creditFilter.invoiceNumber,n.creditFilter.creditNumber,n.creditFilter.raNumber).success(function(i){i.Status==l.resultstatuses.succesfull?n.Credits=i.Item:(h.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})},n.loadCreditLines=function(i){i.lines&&i.lines.length!=0||(i.lines=[],n.blockUI(),o.listcreditlines(i.Id).success(function(r){r.Status==l.resultstatuses.succesfull?i.lines=r.Item:(h.error(r.Message),r.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()}))},n.loadCreditRelatedDocuments=function(){},n.disableCreditExpandButtons=function(){var i=0;return n.Credits&&angular.forEach(n.Credits,function(n){n.Checked&&i++}),i==0},n.cancelCredits=function(){if(n.Credits){n.blockUI();var i=[];angular.forEach(n.Credits,function(n){n.Checked&&i.push(n.Id)},[]),o.cancelcredits(i).success(function(i){i.Status==l.resultstatuses.succesfull?(h.info(i.Message),n.refreshDocuments()):(h.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})}},n.resendCredits=function(){if(n.Credits){n.blockUI();var i=[];angular.forEach(n.Credits,function(n){n.Checked&&i.push(n.Id)},[]),o.resendcredits(i).success(function(i){i.Status==l.resultstatuses.succesfull?(h.info(i.Message),n.refreshDocuments()):(h.error(i.Message),i.Status==l.resultstatuses.sessionTimedOut&&t.processLogout()),n.unblockUI()}).error(function(){h.error(l.staticStrings.serverException),n.unblockUI()})}},n.loadSuppliers=function(){i.listallsuppliers("").success(function(n){n.Status==l.resultstatuses.succesfull?t.suppliersForFilter=n.Item:(h.error(n.Message),n.Status==l.resultstatuses.sessionTimedOut&&t.processLogout())}).error(function(){h.error(l.staticStrings.serverException)})},n.loadVendors=function(){r.listallvendors("").success(function(n){n.Status==l.resultstatuses.succesfull?t.vendorsForFilter=n.Item:(h.error(n.Message),n.Status==l.resultstatuses.sessionTimedOut&&t.processLogout())}).error(function(){h.error(l.staticStrings.serverException)})}}]),app.controller("scReportsCtrl",["$scope","$rootScope","reports","loader","notifier","datehelper","enums",function(n,t,i,r,u,f,e){t.refreshReportsPage=function(){n.reports=null,n.parameters=null,n.executedreport=null,n.filter.selectedReport="",n.loadReports()},n.filter={selectedReport:""},n.reportSelected=function(){angular.forEach(n.reports,function(t){t.ReportName==n.filter.selectedReport&&(n.parameters=t.Parameters)})},n.loadReports=function(){n.isdownloadingdata=!0,i.listallreports().success(function(i){i.Status==e.resultstatuses.succesfull?n.reports=i.Item:(u.error(i.Message),i.Status==e.resultstatuses.sessionTimedOut&&t.processLogout()),n.isdownloadingdata=!1}).error(function(){u.error(e.staticStrings.serverException)})},n.exportToCSV=function(){var r=[],t,f,u,i,n;$("#rptTable tr").each(function(){var n=[];$(this).find("th").each(function(){n.push($(this).find("a").first().text().replace(/(\r\n|\n|\r)/gm,"").replace(/^\s+|\s+$/g,""))}),$(this).find("td").each(function(){n.push($(this).text().replace(/(\r\n|\n|\r)/gm,"").replace(/^\s+|\s+$/g,""))}),r.push(n)}),t="data:text/csv;charset=utf-8,",r.forEach(function(n,i){dataString=n.join(","),t+=i<r.length?dataString+"\n":dataString}),window.navigator.msSaveOrOpenBlob?(f=new Blob([decodeURIComponent(encodeURI(t))],{type:"text/csv;charset=utf-8;"}),window.navigator.msSaveBlob(f,"report_data.csv")):(u=encodeURI(t),"download"in document.createElement("a")?(i=document.createElement("a"),i.setAttribute("href",u),i.setAttribute("download","report_data.csv"),n=document.createEvent("MouseEvent"),n.initMouseEvent("click",!0,!0,window,0,n.screenX,n.screenY,n.clientX,n.clientY,n.ctrlKey,n.altKey,n.shiftKey,n.metaKey,0,null),i.dispatchEvent(n)):window.open(u))},n.invalidDateParam=function(n){var t,i,r,u;return!n.IsDateTime||!n.Value?!1:(t=n.Value.split("/"),t.length!=3)?!0:(i=new Date(t[0],t[1]-1,t[2]),n.MinRangeValue||(n.MinRangeValue="01/01/1900"),n.MaxRangeValue||(n.MaxRangeValue="01/01/2100"),t=n.MinRangeValue.split("/"),r=new Date(t[2],t[1]-1,t[0]),t=n.MaxRangeValue.split("/"),u=new Date(t[2],t[1]-1,t[0]),i>u||i<r)},n.invalidStringParam=function(n){return!n.IsString||!n.Value||!n.MaxLength?!1:n.Value.length>n.MaxLength},n.invalidIntParam=function(n){var t,i,r;return!n.IsInteger||n.Value==""?!1:(t=parseInt(n.Value),isNaN(t))?!0:(i=parseInt(n.MinRangeValue),r=parseInt(n.MaxRangeValue),t>r||t<i)},n.invalidFloParam=function(n){var t,i,r;return!n.IsDecimal||n.Value==""?!1:(t=parseFloat(n.Value),isNaN(t))?!0:(i=parseFloat(n.MinRangeValue),r=parseFloat(n.MaxRangeValue),t>r||t<i)},n.disableApplyButton=function(){var t=!1;return n.parameters?(angular.forEach(n.parameters,function(i){i.ReportName==n.filter.selectedReport&&(n.parameters=i.Parameters),angular.forEach(n.parameters,function(i){(n.invalidDateParam(i)||n.invalidStringParam(i)||n.invalidIntParam(i)||n.invalidFloParam(i))&&(t=!0)})}),t):!0},n.setPredicate=function(t){n.predicate="Values["+t+"]",n.reverse=!n.reverse},n.applyReportParameters=function(){var r=[];angular.forEach(n.parameters,function(n){var i={Name:n.Name,Value:n.Value};r.push(i)}),n.isdownloadingdata=!0,i.executereport(n.filter.selectedReport,r).success(function(i){i.Status==e.resultstatuses.succesfull?(angular.forEach(i.Item.Rows,function(n){for(var t=0;t<i.Item.ColumnHeadings.length;t++)i.Item.ColumnHeadings[t].DataType=="Int"?n.Values[i.Item.ColumnHeadings[t].SourcePosition]=parseInt(n.Values[i.Item.ColumnHeadings[t].SourcePosition]):i.Item.ColumnHeadings[t].DataType=="Date"&&(n.Values[i.Item.ColumnHeadings[t].SourcePosition]=moment(n.Values[i.Item.ColumnHeadings[t].SourcePosition],"DD/MM/YY").format("YYYY/MM/DD"))}),n.executedreport=i.Item):(u.error(i.Message),i.Status==e.resultstatuses.sessionTimedOut&&t.processLogout()),n.isdownloadingdata=!1,n.showCSV=!0}).error(function(){u.error(e.staticStrings.serverException),n.showCSV=!1})}}])