{"version":3,"sources":["app.js","apiService.js","sessionService.js","searchCriteriaService.js","cuSearchCriteriaService.js","verificationSessionService.js","excelExportService.js","realTimeCurrencyDirective.js","telDirective.js","serviceDirective.js","nameSearchDirective.js","cusoProfileDirective.js","cuProfileDirective.js","loginDirective.js","searchDirective.js","cuSearchDirective.js","menuDirective.js","aboutDirective.js","contactDirective.js","logoutDirective.js","editCusoDirective.js","ownerDirective.js","clientDirective.js","relationDirective.js","confirmDirective.js","verifyApiService.js","popupDirective.js"],"names":["app","angular","module","run","$rootScope","$location","$window","ga","$on","event","path","config","$stateProvider","$urlRouterProvider","RestangularProvider","otherwise","state","url","views","mainView","template","menuView","setBaseUrl","setDefaultHeaders","Accept","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","setResponseExtractor","response","operation","newResponse","_","isArray","Data","Metadata","controller","$scope","loading","stylesheet","scope","next","current","$$route","moduleName","service","api","cusoUser","search","location","errorMessage","log","MemberId","memberId","Location","ErrorMessage","$log","error","insert","then","data","Restangular","track","login","param","one","customPOST","logout","id","get","verification","cu","byCdsId","affiliates","criteria","byName","utilizedCusos","getList","profile","searchAndAnalyze","cuso","passcode","activatePasscode","generatePasscode","addUpdateCuso","model","owners","clients","update","updateOwner","insertOwner","deleteOwner","cusoCdsId","insertClient","deleteClient","selection","states","servicelist","servicesByCuso","withPreSelection","save","errorParam","factory","cusoApi","$cookies","sessionEndTime","this","getTrackId","getIsAdmin","credential","momentOfTime","Date","isAdmin","Email","substring","lastIndexOf","Passcode","setTime","getTime","put","expires","validateSession","cusoTrackId","isundefined","cusoSession","searchModel","State","ServiceIds","Name","Charter","Assets","IsWhollyOwned","OnlyNacuso","NeedInvestor","TrackId","SortBy","SortDirection","PageNum","Isexport","newSearch","set","resetSearch","isNewSearch","sort","field","ShowClients","cusoVerifyApi","verificationUser","getUser","undefined","SessionId","verificationTrackId","exportCusoSearchToExcel","fields","jsonData","reportTitle","showLabel","header","fieldsIndexes","arrData","JSON","parse","CSV","fieldIndex","row","index","indexOf","slice","i","length","alert","fileName","replace","uri","escape","link","document","createElement","href","style","download","body","appendChild","click","removeChild","exportCusoProfileToExcel","fieldsGeneral","jsonDataGeneral","jsonDataService","fieldsOwner","jsonDataOwner","fieldsClient","jsonDataClient","arrDataGeneral","Address","City","Zipcode","Website","HasNonCuOwner","arrDataService","arrDataOwner","ItemName","arrDataClient","exportCuSearchToExcel","CusoCount","exportCuProfileToExcel","fieldsPerformance","jsonDataPerformance","fieldsInvested","jsonDataInvested","fieldsUtilized","jsonDataUtilized","arrDataPerformance","StateCode","ZipCode","NumberOfBranches","Telephone","FaxNumber","CharterNumber","URL","arrDataInvested","Loans","Investments","Capital","Members","Employees","toFixed","ShareGrowth","LoanGrowth","Roa","TotalInvestments","TotalAmountLoaned","TotalCashOutlay","arrDataUtilized","directive","$filter","$locale","filterFunc","value","decimalSep","NUMBER_FORMATS","DECIMAL_SEP","toNumberRegex","RegExp","restrict","require","elem","attrs","modelCtrl","$formatters","push","$parsers","newViewValue","oldModelValue","$modelValue","newModelValue","parseInt","pos","$viewValue","input","selectionStart","focus","createRange","moveStart","text","newPos","val","isNaN","offsetWidth","offsetHeight","setSelectionRange","createTextRange","range","collapse","moveEnd","select","$browser","$element","$attrs","ngModelCtrl","listener","viewValue","$render","bind","key","keyCode","defer","filter","tel","city","number","toString","trim","match","ServiceCtrl","cuSearchCriteria","vm","checkAllService","allServices","forEach","services","obj","Selected","getSelectedServices","checkService","option","ServiceId","ParentServiceId","selectedServices","selectedServiceNames","showServiceError","initial","preSelected","selectedServiceName","templateUrl","controllerAs","bindToController","$inject","NameSearchCtrl","cusosByName","CusoCdsid","cdsId","ExclusionListName","exclusionListName","selectionList","map","item","creditunionsByName","listType","selectedCuName","CusoProfileCtrl","$stateParams","excelExport","init","ResultStringGeneral","stringify","ResultStringService","ClientCount","ResultStringClients","populateOwnerList","getPasscode","OwnerListModel","OwnerCount","ResultStringOwners","isUndefined","passCodeStatus","passCode","IsActive","console","SortOrder","exportToExcel","cdsid","adminFlag","PageNumber","linkVerification","open","CuProfileCtrl","Financial","cyclename","CycleName","populateAffiliateList","UtilizedCusoCount","AffiliateListModel","LoginCtrl","$analytics","trackId","ShowError","setUsername","FirstName","LastName","SearchCtrl","searchCriteria","$uibModal","Model","serviceid","showModal","title","message","size","resolve","PopupTitle","PopupMsg","srcBtnClick","split","ResultList","TotalResultCount","ResultString","cancel","cusoFormFlag","Cuso","newCuso","CdsId","isCuso","deactivateCuso","clearForm","showCusoForm","selectedService","find","submitFirstStep","clearServices","order","selectPage","pageNum","reset","reload","pass","analyzerError","verificationError","showError","moduleType","SelectionList","FullResultList","CuSearchCtrl","assets","AssetId","showAssetError","checkAsset","MenuCtrl","cusoSearch","cuSearch","about","contact","showMenu","toSearch","toCuSearch","currentPath","AboutCtrl","ContactCtrl","LogoutCtrl","$route","VerifyLoginCtrl","verificationSession","user","EditCusoCtrl","originalInvestor","Investor","setMonth","sessionId","statelist","EditOwnerCtrl","CuCdsId","splice","AddOwner","CuName","newOwner","ItemId","CusoCdsId","edit","IsEdit","redirect","direction","CllientCtrl","addClient","newClient","RelationCtrl","addOwner","selectedItem","CuNameOwner","selectedCU","CuNameClient","Client","Owner","ConfirmCtrl","addCU","PopupCtrl","$uibModalInstance","close"],"mappings":"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","file":"compiled.min.js","sourcesContent":["(function () {\r\n 'use strict';\r\n // \r\n // Here is how to define your module \r\n // has dependent on mobile-angular-ui\r\n // \r\n var app = angular.module('cusoAnalyzer', [\r\n 'ngRoute',\r\n 'restangular',\r\n 'ngCookies',\r\n 'ui.bootstrap',\r\n 'ui.router',\r\n 'angulartics',\r\n 'angulartics.google.tagmanager'\r\n ]);\r\n\r\n app.run(['$rootScope', '$location', '$window', function ($rootScope, $location, $window) {\r\n //window.$transform = $transform;\r\n\r\n //-------------- BEGIN GOOGLE ANALYTICS ------------------------\r\n // https://github.com/angulartics/angulartics-google-tag-manager/blob/master/readme.md \r\n // http://angulartics.github.io/ \r\n //$window.ga('create', 'UA-416148-26', 'auto');\r\n ga('create', 'UA-416148-26', 'auto');\r\n //ga('send', 'pageview');\r\n \r\n\r\n // track pageview on state change\r\n $rootScope.$on('$stateChangeSuccess', function (event) {\r\n $window.ga('send', 'pageview', $location.path());\r\n });\r\n //-------------- END GOOGLE ANALYTICS ------------------------\r\n }]);\r\n\r\n app.config(['$stateProvider', '$urlRouterProvider', 'RestangularProvider', function ($stateProvider, $urlRouterProvider, RestangularProvider) {\r\n //$analyticsProvider.virtualPageviews(false);\r\n //$analyticsProvider.settings.ga = {\r\n // userId: myUserIdValue\r\n //};\r\n\r\n $urlRouterProvider.otherwise('/search');\r\n $stateProvider\r\n .state('login',\r\n {\r\n url: '/login',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('search',\r\n {\r\n url: '/search/:id',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('searchall',\r\n {\r\n url: '/search',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('cusearch',\r\n {\r\n url: '/cusearch',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('cusearchall',\r\n {\r\n url: '/cusearch/:id',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('cuso',\r\n {\r\n url: '/:cdsid/view',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n\r\n .state('cu',\r\n {\r\n url: '/:cdsid/cu',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('about',\r\n {\r\n url: '/about',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('contact',\r\n {\r\n url: '/contact',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('logout',\r\n {\r\n url: '/logout',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('verifylogin',\r\n {\r\n url: '/verify/login',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('editcuso',\r\n {\r\n url: '/verify/:cdsid/edit',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('editowner',\r\n {\r\n url: '/verify/:cdsid/owner',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('editclient',\r\n {\r\n url: '/verify/:cdsid/client',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('editrelation',\r\n {\r\n url: '/verify/:cdsid/relation',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n })\r\n .state('confirm',\r\n {\r\n url: '/verify/:cdsid/confirm',\r\n views: {\r\n 'mainView': {\r\n template: ''\r\n },\r\n 'menuView': {\r\n template: ''\r\n }\r\n }\r\n });\r\n\r\n //RestangularProvider.setBaseUrl('http://localhost:53958');\r\n //RestangularProvider.setBaseUrl('http://tiger:8082');\r\n RestangularProvider.setBaseUrl('https://callahanws.com');\r\n RestangularProvider.setDefaultHeaders({\r\n 'Accept': 'application/json, text/plain, */*',\r\n 'Access-Control-Allow-Headers': 'Accept, X-Requested-With',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE',\r\n 'Access-Control-Allow-Origin': '*'\r\n });\r\n\r\n RestangularProvider.setResponseExtractor(function (response, operation) {\r\n // This is a get for a list\r\n var newResponse;\r\n if (operation === \"getList\") {\r\n if (_.isArray(response.Data))\r\n newResponse = response.Data;\r\n else if (_.isArray(response))\r\n newResponse = response;\r\n else\r\n newResponse = [];\r\n\r\n newResponse.Metadata = response.Metadata;\r\n } else {\r\n // This is an element\r\n newResponse = response;\r\n }\r\n return newResponse;\r\n });\r\n }]);\r\n\r\n\r\n //\r\n // For this trivial demo we have just a unique MainController \r\n // for everything\r\n //\r\n app.controller('MainController', ['$rootScope', '$scope', function ($rootScope, $scope) {\r\n // Needed for the loading screen\r\n $rootScope.$on('$routeChangeStart', function () {\r\n $scope.loading = true;\r\n });\r\n\r\n $rootScope.$on('$routeChangeSuccess', function () {\r\n $scope.loading = false;\r\n });\r\n $scope.stylesheet = \"style/bootstrap.css\";\r\n\r\n $scope.$on('$routeChangeStart', function (scope, next, current) {\r\n var moduleName = next.$$route.moduleName;\r\n if (moduleName) {\r\n if (moduleName == 'sales') {\r\n\r\n }\r\n }\r\n });\r\n\r\n }]);\r\n\r\n app.service('error', ['api', 'cusoUser', function (api, cusoUser) {\r\n return {\r\n\r\n search: function (location, errorMessage) {\r\n var log = {\r\n MemberId: cusoUser.memberId(),\r\n Location: location,\r\n ErrorMessage: errorMessage\r\n };\r\n $log.error(location, errorMessage);\r\n return api.error.insert(log).then(function (data) {\r\n }, function (error) {\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n\r\n\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('cusoAnalyzer').service('cusoApi', ['Restangular', function (Restangular) {\r\n //var RestangularWithCache = function () {\r\n // return Restangular.withConfig(function (RestangularConfigurer) {\r\n // RestangularConfigurer.setDefaultHttpFields({ cache: true, useXDomain: true });\r\n // });\r\n //};\r\n return {\r\n track: {\r\n login: function (param) {\r\n return Restangular.one('Cuso').one('Tracking').one(\"Login\").customPOST(param);\r\n },\r\n logout: function (id) {\r\n return Restangular.one('Cuso').one('Tracking', id).one(\"Logout\").get();\r\n },\r\n verification: {\r\n login: function(param) {\r\n return Restangular.one('Cuso').one('Tracking').one(\"VerifyLogin\").customPOST(param);\r\n },\r\n logout: function (param) {\r\n return Restangular.one('Cuso').one('Tracking').one(\"VerifyLogout\").customPOST(param);\r\n }\r\n }\r\n },\r\n cu: {\r\n byCdsId: function (id) {\r\n return Restangular.one('Cuso').one(\"CreditUnion\", id).get();\r\n },\r\n affiliates: function (id, criteria) {\r\n return Restangular.one('Cuso').one(\"CreditUnion\", id).one('CUSOs').get(criteria);\r\n },\r\n byName: function (criteria) {\r\n return Restangular.one('Cuso').one(\"CreditUnion\").one(\"ByName\").get(criteria);\r\n },\r\n utilizedCusos: function (id) {\r\n return Restangular.one('Cuso').one(\"CreditUnion\", id).getList('UtilizedCUSOs');\r\n },\r\n profile: function (id, memberId) {\r\n return Restangular.one('CreditUnion', id).one('CompanyProfile', memberId).get();\r\n },\r\n searchAndAnalyze: function (id, memberId) {\r\n return Restangular.one('CreditUnion', id).one('SearchAndAnalyze', memberId).get();\r\n }\r\n },\r\n cuso: {\r\n byCdsId: function (id) {\r\n return Restangular.one('Cuso', id).get();\r\n },\r\n passcode: function (id) {\r\n return Restangular.one('Cuso', id).one('Passcode').get();\r\n },\r\n activatePasscode: function (id) {\r\n return Restangular.one('Cuso', id).one('ActivatePasscode').get();\r\n },\r\n generatePasscode: function (id) {\r\n return Restangular.one('Cuso', id).one('GeneratePasscode').get();\r\n },\r\n addUpdateCuso: function (model) {\r\n return Restangular.one('Cuso').one('AddUpdateCuso').customPOST(model);\r\n },\r\n owners: function (id, criteria) {\r\n return Restangular.one('Cuso', id).one('Owners').get(criteria);\r\n },\r\n clients: function (id) {\r\n return Restangular.one('Cuso', id).getList('Clients');\r\n },\r\n update: function (model) {\r\n return Restangular.one('Cuso').customPOST(model);\r\n },\r\n updateOwner: function (model) {\r\n return Restangular.one('Cuso').one('UpdateOwner').customPOST(model);\r\n },\r\n insertOwner: function (model) {\r\n return Restangular.one('Cuso').one('InsertOwner').customPOST(model);\r\n //return Restangular.one('Cuso').one('InsertOwner').customPOST(model);\r\n },\r\n deleteOwner: function (id, cusoCdsId) {\r\n //return Restangular.one('Cuso', id).one('DeleteOwner', cusoCdsId).customDELETE();\r\n return Restangular.one('Cuso', id).one('DeleteOwner', cusoCdsId).get();\r\n },\r\n insertClient: function (model) {\r\n return Restangular.one('Cuso').one('InsertClient').customPOST(model);\r\n //return Restangular.one('Cuso').one('InsertClient').customPOST(model);\r\n },\r\n deleteClient: function (id, cusoCdsId) {\r\n return Restangular.one('Cuso', id).one('DeleteClient', cusoCdsId).get();\r\n //return Restangular.one('Cuso', id).one('DeleteClient', cusoCdsId).get();\r\n },\r\n byName: function (criteria) {\r\n return Restangular.one('Cuso').one(\"ByName\").get(criteria);\r\n }\r\n },\r\n selection: {\r\n states: function () {\r\n return Restangular.one('Selection').getList(\"UsStates\");\r\n }\r\n },\r\n search: {\r\n cuso: function (criteria) {\r\n return Restangular.one('Cuso').one(\"Search\").get(criteria);\r\n },\r\n cu: function (criteria) {\r\n return Restangular.one('Cuso').one(\"CreditUnion\").one(\"Search\").get(criteria);\r\n }\r\n },\r\n service: {\r\n // below are APIs for logged in user\r\n servicelist: function () {\r\n return Restangular.one('Cuso').one('Service').getList('All');\r\n },\r\n servicesByCuso: function (id) {\r\n return Restangular.one('Cuso').one('Service', id).getList('ByCuso');\r\n },\r\n withPreSelection: function (id) {\r\n return Restangular.one('Cuso').one('Service', id).getList('ServiceWithPreSelection');\r\n },\r\n save: function (id, data) {\r\n return Restangular.one('Cuso').one('Service', id).one('Save').customPOST(data);\r\n }\r\n },\r\n\r\n error: {\r\n insert: function (errorParam) {\r\n return Restangular.one('Error', id).one(\"Insert\", memberId).customPOST(errorParam);\r\n }\r\n }\r\n }\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.factory('cusoSession', ['cusoApi', '$cookies', function (cusoApi, $cookies) {\r\n var trackId = $cookies.get(\"cusoTrackId\");\r\n var sessionEndTime = null;\r\n\r\n return {\r\n sessionEndTime: function () {\r\n return this.sessionEndTime;\r\n },\r\n getTrackId: function () {\r\n return $cookies.get(\"cusoTrackId\");\r\n //return trackId;\r\n },\r\n getIsAdmin: function () {\r\n return $cookies.get(\"isAdmin\");\r\n //return trackId;\r\n },\r\n\r\n login: function (credential) {\r\n //return 16;\r\n return cusoApi.track.login(credential).then(function (data) {\r\n if (data.Data === 0) return data.Data; //invalid login\r\n\r\n var momentOfTime = new Date(); // just for example, can be any other time\r\n var myTimeSpan = 30 * 60 * 1000; // 31 minutes in milliseconds\r\n var domain = credential.Email.substring(credential.Email.lastIndexOf(\"@\") + 1);\r\n var isAdmin = domain == 'callahan.com' && credential.Passcode == 41985 ? true : false;\r\n\r\n momentOfTime.setTime(momentOfTime.getTime() + myTimeSpan);\r\n $cookies.put(\"cusoTrackId\", data.Data, { expires: momentOfTime });\r\n $cookies.put(\"isAdmin\", isAdmin, { expires: momentOfTime });\r\n //$cookies.put(\"emailDomain\", domain, { expires: momentOfTime });\r\n\r\n return data.Data;\r\n }, function (error) {\r\n return 0;\r\n });\r\n },\r\n validateSession: function () {\r\n var cusoTrackId = $cookies.get(\"cusoTrackId\");\r\n if (angular.isundefined(cusoTrackId)) return 0;\r\n\r\n var momentOfTime = new Date(); // just for example, can be any other time\r\n var myTimeSpan = 30 * 60 * 1000; // 30 minutes in milliseconds\r\n momentOfTime.setTime(momentOfTime.getTime() + myTimeSpan);\r\n $cookies.put(\"cusoTrackId\", cusoTrackId, { expires: myTimeSpan });\r\n return cusoTrackId;\r\n },\r\n logout: function (id) {\r\n return cusoApi.track.logout(id).then(function () {\r\n var momentOfTime = new Date(); // just for example, can be any other time\r\n var myTimeSpan = 31 * 60 * 1000; // 31 minutes in milliseconds\r\n momentOfTime.setTime(momentOfTime.getTime() - myTimeSpan);\r\n $cookies.put(\"cusoTrackId\", id, { expires: momentOfTime });\r\n }, function (error) {\r\n return 0;\r\n });\r\n }\r\n };\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.factory('searchCriteria', ['cusoSession', function (cusoSession) {\r\n var searchModel =\r\n {\r\n State: '',\r\n ServiceIds: [],\r\n Name: '',\r\n Charter: '',\r\n Assets: [],\r\n IsWhollyOwned: '',\r\n OnlyNacuso: '',\r\n NeedInvestor: false,\r\n TrackId: cusoSession.getTrackId(),\r\n SortBy: 'Name',\r\n SortDirection: 'ASC',\r\n PageNum: 1,\r\n Isexport: false\r\n };\r\n var newSearch = true;\r\n function set(data) {\r\n searchModel = data;\r\n newSearch = false;\r\n }\r\n function get() {\r\n searchModel.TrackId = cusoSession.getTrackId();\r\n return searchModel;\r\n }\r\n function resetSearch() {\r\n newSearch = true;\r\n searchModel.State = '';\r\n searchModel.ServiceIds = [];\r\n searchModel.Name = '';\r\n searchModel.Charter = '';\r\n searchModel.Assets = [];\r\n searchModel.IsWhollyOwned = '';\r\n searchModel.OnlyNacuso = '';\r\n searchModel.NeedInvestor = false;\r\n searchModel.SortBy = 'Name';\r\n searchModel.SortDirection = 'ASC';\r\n searchModel.PageNum = 1;\r\n searchModel.Isexport = false;\r\n return searchModel;\r\n }\r\n function sort(field) {\r\n searchModel.SortBy = field;\r\n searchModel.SortDirection = searchModel.SortDirection == 'ASC' ? 'DESC' : 'ASC';\r\n searchModel.PageNum = 1;\r\n }\r\n function isNewSearch() {\r\n return newSearch;\r\n }\r\n return {\r\n set: set,\r\n get: get,\r\n resetSearch: resetSearch,\r\n isNewSearch: isNewSearch,\r\n sort: sort\r\n\r\n };\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.factory('cuSearchCriteria', ['cusoSession', function ( cusoSession) {\r\n var searchModel =\r\n {\r\n State: '',\r\n ServiceIds: [],\r\n Name: '',\r\n Charter: '',\r\n Assets: [],\r\n TrackId: cusoSession.getTrackId(),\r\n SortBy: 'Name',\r\n SortDirection: 'ASC',\r\n PageNum: 1,\r\n Isexport: 0\r\n };\r\n var newSearch = true;\r\n function set(data) {\r\n searchModel = data;\r\n newSearch = false;\r\n }\r\n function get() {\r\n searchModel.TrackId = cusoSession.getTrackId();\r\n return searchModel;\r\n }\r\n function resetSearch() {\r\n newSearch = true;\r\n searchModel.State = '';\r\n searchModel.ServiceIds = [];\r\n searchModel.Name = '';\r\n searchModel.Charter = '';\r\n searchModel.Assets = [];\r\n searchModel.ShowClients = '',\r\n searchModel.SortBy = 'Name';\r\n searchModel.SortDirection = 'ASC';\r\n searchModel.PageNum = 1;\r\n searchModel.Isexport = 0;\r\n }\r\n function isNewSearch() {\r\n return newSearch;\r\n }\r\n return {\r\n set: set,\r\n get: get,\r\n resetSearch: resetSearch,\r\n isNewSearch: isNewSearch\r\n };\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.factory('verificationSession', ['cusoVerifyApi', '$cookies', function (cusoVerifyApi, $cookies) {\r\n var verificationTrackId = $cookies.get(\"verificationTrackId\");\r\n var sessionEndTime = null;\r\n var verificationUser = {};\r\n\r\n return {\r\n sessionEndTime: function () {\r\n return this.sessionEndTime;\r\n },\r\n getTrackId: function () {\r\n return $cookies.get(\"verificationTrackId\");\r\n //return trackId;\r\n },\r\n getUser: function () {\r\n return verificationUser;\r\n //return trackId;\r\n },\r\n login: function (credential) {\r\n //return 16;\r\n return cusoVerifyApi.track.login(credential).then(function (data) {\r\n if (data.Data.SessionId === undefined) return \"0\"; //invalid login\r\n\r\n verificationUser = data.Data;\r\n var momentOfTime = new Date(); // just for example, can be any other time\r\n var myTimeSpan = 30 * 60 * 1000; // 31 minutes in milliseconds\r\n momentOfTime.setTime(momentOfTime.getTime() + myTimeSpan);\r\n $cookies.put(\"verificationTrackId\", data.Data.SessionId, { expires: momentOfTime });\r\n return data.Data;\r\n }, function (error) {\r\n return 0;\r\n });\r\n },\r\n validateSession: function () {\r\n var verificationTrackId = $cookies.get(\"verificationTrackId\");\r\n if (angular.isundefined(verificationTrackId)) return 0;\r\n\r\n var momentOfTime = new Date(); // just for example, can be any other time\r\n var myTimeSpan = 30 * 60 * 1000; // 30 minutes in milliseconds\r\n momentOfTime.setTime(momentOfTime.getTime() + myTimeSpan);\r\n $cookies.put(\"verificationTrackId\", verificationTrackId, { expires: myTimeSpan });\r\n return verificationTrackId;\r\n },\r\n logout: function (id) {\r\n var session = {SessionId: id}\r\n return cusoVerifyApi.track.logout(session).then(function () {\r\n var momentOfTime = new Date(); // just for example, can be any other time\r\n var myTimeSpan = 31 * 60 * 1000; // 31 minutes in milliseconds\r\n momentOfTime.setTime(momentOfTime.getTime() - myTimeSpan);\r\n $cookies.put(\"verificationTrackId\", id, { expires: momentOfTime });\r\n }, function (error) {\r\n return 0;\r\n });\r\n }\r\n };\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.factory('excelExport', function () {\r\n return {\r\n exportCusoSearchToExcel: function (fields, jsonData, reportTitle, showLabel, header) {\r\n var fieldsIndexes = \"\";\r\n //var JSONData = vm.ResultString;\r\n //var ReportTitle = \"CUSOs\";\r\n //var ShowLabel = true;\r\n //If JSONData is not an object then JSON.parse will parse the JSON string in an Object\r\n var arrData = typeof jsonData != 'object' ? JSON.parse(jsonData) : jsonData;\r\n var CSV = header + '\\r\\n';\r\n //Set Report title in first row or line\r\n //CSV += ReportTitle + '\\r\\n\\n';\r\n var fieldIndex = 0;\r\n //This condition will generate the Label/Header\r\n if (showLabel) {\r\n var row = \"\";\r\n //This loop will extract the label from 1st index of on array\r\n for (var index in arrData[0]) {\r\n //Now convert each value to string and comma-seprated\r\n if (fields.indexOf('|' + index + '|') > -1) {\r\n fieldsIndexes += fieldIndex + ',';\r\n row += index + ',';\r\n }\r\n fieldIndex++;\r\n }\r\n row = row.slice(0, -1);\r\n //append Label row with line break\r\n CSV += row + '\\r\\n';\r\n }\r\n //1st loop is to extract each row\r\n for (var i = 0; i < arrData.length; i++) {\r\n var row = \"\";\r\n //2nd loop will extract each column and convert it in string comma-seprated\r\n fieldIndex = 0;\r\n for (var index in arrData[i]) {\r\n if (fieldsIndexes.indexOf(fieldIndex + ',') > -1)\r\n row += '\"' + arrData[i][index] + '\",';\r\n fieldIndex++;\r\n }\r\n row.slice(0, row.length - 1);\r\n //add a line break after each row\r\n CSV += row + '\\r\\n';\r\n }\r\n if (CSV == '') {\r\n alert(\"Invalid data\");\r\n return;\r\n }\r\n //Generate a file name\r\n var fileName = reportTitle.replace(/ /g, \"_\");\r\n //Initialize file format you want csv or xls\r\n var uri = 'data:text/csv;charset=utf-8,' + escape(CSV);\r\n //this trick will generate a temp tag\r\n var link = document.createElement(\"a\");\r\n link.href = uri;\r\n //set the visibility hidden so it will not effect on your web-layout\r\n link.style = \"visibility:hidden\";\r\n link.download = fileName + \".csv\";\r\n //this part will append the anchor tag and remove it after automatic click\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n ,\r\n exportCusoProfileToExcel: function (fieldsGeneral, jsonDataGeneral, jsonDataService, fieldsOwner, jsonDataOwner, fieldsClient, jsonDataClient, reportTitle) {\r\n var fieldsIndexes = \"\";\r\n //If JSONData is not an object then JSON.parse will parse the JSON string in an Object\r\n var arrDataGeneral = typeof jsonDataGeneral != 'object' ? JSON.parse(jsonDataGeneral) : jsonDataGeneral;\r\n var CSV = \"General Information\\r\\n\";\r\n CSV += fieldsGeneral + '\\r\\n';\r\n var row = \"\";\r\n row = '\"' + arrDataGeneral.Name + '\",\"' + arrDataGeneral.Address + '\",\"' + arrDataGeneral.City + '\",\"' + arrDataGeneral.State + '\",\"'\r\n + arrDataGeneral.Zipcode + '\",\"' + arrDataGeneral.Website + '\",\"' + (arrDataGeneral.IsWhollyOwned == \"TRUE\" ? \"Yes\" : \"No\") + '\",\"'\r\n + (arrDataGeneral.HasNonCuOwner == \"TRUE\" ? \"Yes\" : \"No\") + '\"\\r\\n';\r\n CSV += row + '\\r\\n';\r\n //---------- service report ---------------------\r\n fieldsIndexes = \"\";\r\n var arrDataService = typeof jsonDataService != 'object' ? JSON.parse(jsonDataService) : jsonDataService;\r\n CSV += 'CUSO Services' + '\\r\\n';\r\n row = \"\";\r\n for (var index in arrDataService) {\r\n row += '\"' + arrDataService[index].Name + '\",';\r\n }\r\n row.slice(0, row.length - 1);\r\n CSV += row + '\\r\\n\\n';\r\n //--------------- CU Owners -------------------------------\r\n //fieldsIndexes = \"\";\r\n //var arrDataOwner = typeof jsonDataOwner != 'object' ? JSON.parse(jsonDataOwner) : jsonDataOwner;\r\n //CSV += \"Credit Union Owners\\r\\n\";\r\n //row = \"\";\r\n //CSV += fieldsOwner + '\\r\\n';\r\n //row = '';\r\n //for (var index in arrDataOwner) {\r\n // row += '\"' + arrDataOwner[index].Name + '\",' + '\"$' + arrDataOwner[index].TotalInvestments + '\",' + '\"$' + arrDataOwner[index].TotalAmountLoaned + '\",' + '\"$' + arrDataOwner[index].TotalCashOutlay + '\"\\r\\n';\r\n //}\r\n //row.slice(0, row.length - 1);\r\n //CSV += row + '\\r\\n';\r\n fieldsIndexes = \"\";\r\n var arrDataOwner = typeof jsonDataOwner != 'object' ? JSON.parse(jsonDataOwner) : jsonDataOwner;\r\n CSV += \"Credit Union Owners\\r\\n\";\r\n row = \"\";\r\n for (var index in arrDataOwner) {\r\n row += '\"' + arrDataOwner[index].ItemName + '\"\\r\\n';\r\n }\r\n row.slice(0, row.length - 1);\r\n CSV += row + '\\r\\n';\r\n //--------------- CU Clients -------------------------------\r\n fieldsIndexes = \"\";\r\n var arrDataClient = typeof jsonDataClient != 'object' ? JSON.parse(jsonDataClient) : jsonDataClient;\r\n CSV += \"Additional Credit Union Clients\\r\\n\";\r\n row = \"\";\r\n for (var index in arrDataClient) {\r\n row += '\"' + arrDataClient[index].ItemName + '\"\\r\\n';\r\n }\r\n row.slice(0, row.length - 1);\r\n CSV += row + '\\r\\n';\r\n if (CSV == '') {\r\n alert(\"Invalid data\");\r\n return;\r\n }\r\n\r\n //Generate a file name\r\n var fileName = reportTitle.replace(/ /g, \"_\");\r\n //Initialize file format you want csv or xls\r\n var uri = 'data:text/csv;charset=utf-8,' + escape(CSV);\r\n //this trick will generate a temp tag\r\n var link = document.createElement(\"a\");\r\n link.href = uri;\r\n //set the visibility hidden so it will not effect on your web-layout\r\n link.style = \"visibility:hidden\";\r\n link.download = fileName + \".csv\";\r\n //this part will append the anchor tag and remove it after automatic click\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n },\r\n //------------------------------------------------------------------------------------------\r\n exportCuSearchToExcel: function (data) {\r\n var fieldsIndexes = \"\";\r\n var arrData = typeof data != 'object' ? JSON.parse(data) : data;\r\n var CSV = \"Credit Union Name,Number of CUSO Investments\\r\\n\";\r\n var row = '';\r\n for (var index in arrData) {\r\n row += '\"' + arrData[index].Name + '\",\"' + arrData[index].CusoCount + '\"\\r\\n';\r\n }\r\n CSV += row;\r\n\r\n if (CSV == '') {\r\n alert(\"Invalid data\");\r\n return;\r\n }\r\n //Generate a file name\r\n var fileName = \"CU Search Results\";\r\n //Initialize file format you want csv or xls\r\n var uri = 'data:text/csv;charset=utf-8,' + escape(CSV);\r\n //this trick will generate a temp tag\r\n var link = document.createElement(\"a\");\r\n link.href = uri;\r\n //set the visibility hidden so it will not effect on your web-layout\r\n link.style = \"visibility:hidden\";\r\n link.download = fileName + \".csv\";\r\n //this part will append the anchor tag and remove it after automatic click\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n },\r\n //------------------------------------------------------------------------------------------\r\n exportCuProfileToExcel: function (fieldsGeneral, jsonDataGeneral, fieldsPerformance, jsonDataPerformance,\r\n fieldsInvested, jsonDataInvested, fieldsUtilized, jsonDataUtilized, reportTitle) {\r\n var fieldsIndexes = \"\";\r\n //If JSONData is not an object then JSON.parse will parse the JSON string in an Object\r\n var arrDataGeneral = typeof jsonDataGeneral != 'object' ? JSON.parse(jsonDataGeneral) : jsonDataGeneral;\r\n var arrDataPerformance = typeof jsonDataPerformance != 'object' ? JSON.parse(jsonDataPerformance) : jsonDataPerformance;\r\n var CSV = \"Contact Information\\r\\n\";\r\n CSV += fieldsGeneral + '\\r\\n';\r\n var row = \"\";\r\n row = '\"' + arrDataGeneral.Name + '\",\"' + arrDataGeneral.Address + ' ' + arrDataGeneral.City + ' ' + arrDataGeneral.StateCode + ' '\r\n + arrDataGeneral.ZipCode + '\",\"' + arrDataPerformance.NumberOfBranches + '\",\"'\r\n + arrDataGeneral.Telephone + '\",\"' + arrDataGeneral.FaxNumber + '\",\"'\r\n + arrDataGeneral.CharterNumber + '\",\"'\r\n + arrDataGeneral.URL + '\"\\r\\n';\r\n CSV += row + '\\r\\n';\r\n //---------- performance report ---------------------\r\n\r\n CSV += 'Performance Profile' + '\\r\\n';\r\n CSV += fieldsPerformance + '\\r\\n';\r\n row = \"\";\r\n row = '\"$' + arrDataPerformance.Assets + '\",\"$' + arrDataPerformance.Loans + '\",\"$' + arrDataPerformance.Investments + '\",\"$'\r\n + arrDataPerformance.Capital + '\",\"'\r\n + arrDataPerformance.Members + '\",\"' + arrDataPerformance.Employees.toFixed(0) + '\",\"' + arrDataPerformance.ShareGrowth.toFixed(1) + '%\",\"'\r\n + arrDataPerformance.LoanGrowth.toFixed(1) + '%\",\"'\r\n + arrDataPerformance.Roa.toFixed(2) + '%\"\\r\\n';\r\n CSV += row + '\\r\\n';\r\n //--------------- CUSOs invested -------------------------------\r\n var arrDataInvested = typeof jsonDataInvested != 'object' ? JSON.parse(jsonDataInvested) : jsonDataInvested;\r\n CSV += \"CUSOs Invested In\\r\\n\";\r\n row = \"\";\r\n CSV += fieldsInvested + '\\r\\n';\r\n row = '';\r\n for (var index in arrDataInvested) {\r\n row += '\"' + arrDataInvested[index].Name + '\",' + '\"$' + arrDataInvested[index].TotalInvestments + '\",'\r\n + '\"$' + arrDataInvested[index].TotalAmountLoaned + '\",' + '\"$' + arrDataInvested[index].TotalCashOutlay + '\"\\r\\n';\r\n }\r\n //row.slice(0, row.length - 1);\r\n CSV += row + '\\r\\n';\r\n //--------------- CUSOs utilized -------------------------------\r\n var arrDataUtilized = typeof jsonDataUtilized != 'object' ? JSON.parse(jsonDataUtilized) : jsonDataUtilized;\r\n CSV += \"CUSOs Utilized\\r\\nCUSO\\r\\n\";\r\n row = \"\";\r\n for (var index in arrDataUtilized) {\r\n row += '\"' + arrDataUtilized[index].ItemName + '\"\\r\\n';\r\n }\r\n row.slice(0, row.length - 1);\r\n CSV += row + '\\r\\n';\r\n if (CSV == '') {\r\n alert(\"Invalid data\");\r\n return;\r\n }\r\n\r\n //Generate a file name\r\n var fileName = reportTitle.replace(/ /g, \"_\");\r\n //Initialize file format you want csv or xls\r\n var uri = 'data:text/csv;charset=utf-8,' + escape(CSV);\r\n //this trick will generate a temp tag\r\n var link = document.createElement(\"a\");\r\n link.href = uri;\r\n //set the visibility hidden so it will not effect on your web-layout\r\n link.style = \"visibility:hidden\";\r\n link.download = fileName + \".csv\";\r\n //this part will append the anchor tag and remove it after automatic click\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n };\r\n });\r\n})();\r\n\r\n","(function () {\r\n 'use strict';\r\n\r\n angular.module('cusoAnalyzer')\r\n .directive('realTimeCurrency', function ($filter, $locale) {\r\n var decimalSep = $locale.NUMBER_FORMATS.DECIMAL_SEP;\r\n //var toNumberRegex = new RegExp('[^0-9\\\\' + decimalSep + ']', 'g');\r\n var trailingZerosRegex = new RegExp('\\\\' + decimalSep + '0+$');\r\n var toNumberRegex = new RegExp('[^0-9]', 'g');\r\n //var trailingZerosRegex = new RegExp('\\\\' + decimalSep + '0+$');\r\n var filterFunc = function (value) {\r\n if ($filter('currency')(value) == undefined)\r\n return $filter('currency')(value);\r\n \r\n return $filter('currency')(value).replace(\".00\", \"\"); //removing decimal points\r\n };\r\n\r\n function getCaretPosition(input) {\r\n if (!input) return 0;\r\n if (input.selectionStart !== undefined) {\r\n return input.selectionStart;\r\n } else if (document.selection) {\r\n // Curse you IE\r\n input.focus();\r\n var selection = document.selection.createRange();\r\n selection.moveStart('character', input.value ? -input.value.length : 0);\r\n return selection.text.length;\r\n }\r\n return 0;\r\n }\r\n\r\n function setCaretPosition(input, pos) {\r\n if (!input) return 0;\r\n if (input.offsetWidth === 0 || input.offsetHeight === 0) {\r\n return; // Input's hidden\r\n }\r\n if (input.setSelectionRange) {\r\n input.focus();\r\n input.setSelectionRange(pos, pos);\r\n }\r\n else if (input.createTextRange) {\r\n // Curse you IE\r\n var range = input.createTextRange();\r\n range.collapse(true);\r\n range.moveEnd('character', pos);\r\n range.moveStart('character', pos);\r\n range.select();\r\n }\r\n }\r\n\r\n function toNumber(currencyStr) {\r\n return parseInt(currencyStr.replace(toNumberRegex, ''), 10);\r\n }\r\n\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n link: function postLink(scope, elem, attrs, modelCtrl) {\r\n modelCtrl.$formatters.push(filterFunc);\r\n modelCtrl.$parsers.push(function (newViewValue) {\r\n var oldModelValue = modelCtrl.$modelValue;\r\n var newModelValue = toNumber(newViewValue);\r\n modelCtrl.$viewValue = filterFunc(newModelValue).replace(\".00\", \"\"); //removing decimal points\r\n \r\n var pos = getCaretPosition(elem[0]);\r\n elem.val(modelCtrl.$viewValue);\r\n var newPos = pos + modelCtrl.$viewValue.length -\r\n newViewValue.length;\r\n if ((oldModelValue === undefined) || isNaN(oldModelValue)) {\r\n newPos -= 3;\r\n }\r\n setCaretPosition(elem[0], newPos);\r\n return newModelValue;\r\n });\r\n }\r\n };\r\n });\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('cusoAnalyzer')\r\n .directive('phoneInput', function ($filter, $browser) {\r\n return {\r\n require: 'ngModel',\r\n link: function ($scope, $element, $attrs, ngModelCtrl) {\r\n var listener = function () {\r\n var value = $element.val().replace(/[^0-9]/g, '');\r\n $element.val($filter('tel')(value, false));\r\n };\r\n\r\n // This runs when we update the text field\r\n ngModelCtrl.$parsers.push(function (viewValue) {\r\n return viewValue.replace(/[^0-9]/g, '').slice(0, 10);\r\n });\r\n\r\n // This runs when the model gets updated on the scope directly and keeps our view in sync\r\n ngModelCtrl.$render = function () {\r\n $element.val($filter('tel')(ngModelCtrl.$viewValue, false));\r\n };\r\n\r\n $element.bind('change', listener);\r\n $element.bind('keydown', function (event) {\r\n var key = event.keyCode;\r\n // If the keys include the CTRL, SHIFT, ALT, or META keys, or the arrow keys, do nothing.\r\n // This lets us support copy and paste too\r\n if (key == 91 || (15 < key && key < 19) || (37 <= key && key <= 40)) {\r\n return;\r\n }\r\n $browser.defer(listener); // Have to do this or changes don't get picked up properly\r\n });\r\n\r\n $element.bind('paste cut', function () {\r\n $browser.defer(listener);\r\n });\r\n }\r\n\r\n };\r\n })\r\n .filter('tel', function () {\r\n return function (tel) {\r\n //console.log(tel);\r\n if (!tel) { return ''; }\r\n\r\n var value = tel.toString().trim().replace(/^\\+/, '');\r\n\r\n if (value.match(/[^0-9]/)) {\r\n return tel;\r\n }\r\n\r\n var country, city, number;\r\n\r\n switch (value.length) {\r\n case 1:\r\n case 2:\r\n case 3:\r\n city = value;\r\n break;\r\n\r\n default:\r\n city = value.slice(0, 3);\r\n number = value.slice(3);\r\n }\r\n\r\n if (number) {\r\n if (number.length > 3) {\r\n number = number.slice(0, 3) + '-' + number.slice(3, 7);\r\n }\r\n else {\r\n number = number;\r\n }\r\n\r\n return (\"(\" + city + \") \" + number).trim();\r\n }\r\n else {\r\n return \"(\" + city;\r\n }\r\n\r\n };\r\n });\r\n})();","\r\n(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"serviceTree\", function () {\r\n return {\r\n templateUrl: 'utility/serviceTree.html',\r\n controller: 'ServiceCtrl',\r\n controllerAs: 'vm',\r\n bindToController: true,\r\n scope: {\r\n selectedServices: \"=\",\r\n preSelected: \"=\",\r\n selectedServiceName: \"=\",\r\n selectedServiceNames: \"=\",\r\n initial: \"=\"\r\n }\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('ServiceCtrl', ServiceCtrl);\r\n\r\n ServiceCtrl.$inject = ['$location', 'cusoApi', 'cuSearchCriteria'];\r\n\r\n function ServiceCtrl($location, cusoApi, cuSearchCriteria) {\r\n\r\n var vm = this;\r\n vm.checkAllService = checkAllService;\r\n vm.checkService = checkService;\r\n vm.getSelectedServices = getSelectedServices;\r\n vm.allServices = true;\r\n vm.showServiceError = false;\r\n init();\r\n\r\n function init() {\r\n //service list\r\n if (vm.initial) {\r\n cusoApi.service.servicelist().then(function(data) {\r\n vm.services = data;\r\n if (vm.preSelected > 0) { //service is pre-selected\r\n angular.forEach(vm.services,\r\n function(value, key, obj) {\r\n if (value.ServiceId === vm.preSelected) {\r\n checkService(value);\r\n vm.selectedServiceName = value.Name;\r\n vm.selectedServiceNames = value.Name;\r\n }\r\n });\r\n\r\n } else {\r\n checkAllService();\r\n }\r\n },\r\n function(error) {\r\n });\r\n vm.initial = false;\r\n }\r\n }\r\n\r\n\r\n function checkAllService() {\r\n if (vm.allServices) {\r\n angular.forEach(vm.services,\r\n function (value, key, obj) {\r\n value.Selected = true;\r\n });\r\n } else {\r\n angular.forEach(vm.services,\r\n function (value, key, obj) {\r\n value.Selected = false;\r\n });\r\n }\r\n getSelectedServices();\r\n }\r\n\r\n function checkService(option) {\r\n if (option.ServiceId == option.ParentServiceId) {\r\n option.Selected = !option.Selected;\r\n //all the children whill be conformed\r\n angular.forEach(vm.services, function (value, key, obj) {\r\n if (value.ParentServiceId == option.ServiceId)\r\n value.Selected = option.Selected;\r\n });\r\n } else {\r\n option.Selected = !option.Selected;\r\n }\r\n //if (!option.Selected)\r\n vm.allServices = false;\r\n getSelectedServices();\r\n }\r\n\r\n function getSelectedServices() {\r\n vm.selectedServices = [];\r\n vm.selectedServiceNames = '';\r\n //get all checked services\r\n if (vm.allServices) { // all services selected\r\n angular.forEach(vm.services,\r\n function (value, key, obj) {\r\n if (value.ParentServiceId !== value.ServiceId) {\r\n vm.selectedServices.push(value.ServiceId);\r\n vm.selectedServiceNames += value.Name + ', ';\r\n }\r\n });\r\n } else { // individual service selected\r\n angular.forEach(vm.services,\r\n function (value, key, obj) {\r\n if ((value.ParentServiceId !== value.ServiceId) && value.Selected) {\r\n vm.selectedServices.push(value.ServiceId);\r\n vm.selectedServiceNames += value.Name + ', ';\r\n }\r\n });\r\n }\r\n if (vm.selectedServices.length < 1) {\r\n vm.showServiceError = true;\r\n }\r\n vm.selectedServiceNames = vm.selectedServiceNames.substring(0, (vm.selectedServiceNames.length - 2));\r\n }\r\n\r\n \r\n }\r\n})();","\r\n(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"nameSearch\", function () {\r\n return {\r\n templateUrl: 'utility/nameSearch.html',\r\n controller: 'NameSearchCtrl',\r\n controllerAs: 'vm',\r\n bindToController: true,\r\n restrict: 'E',\r\n scope: {\r\n listType: \"=\",\r\n selectedCuName: \"=\",\r\n exclusionListName: \"=\",\r\n cdsId: \"=\",\r\n selectionList: \"=\"\r\n }\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('NameSearchCtrl', NameSearchCtrl);\r\n\r\n NameSearchCtrl.$inject = ['$location', 'cusoApi'];\r\n\r\n function NameSearchCtrl($location, cusoApi) {\r\n var vm = this;\r\n vm.search = search;\r\n vm.cusosByName = cusosByName;\r\n vm.creditunionsByName = creditunionsByName;\r\n vm.criteria = {};\r\n\r\n function search(val) {\r\n if (val.length < 3) return;\r\n if (vm.listType === 'cuso') return cusosByName(val);\r\n else return creditunionsByName(val);\r\n }\r\n\r\n function cusosByName(val) {\r\n //if (val.length < 3) return;\r\n vm.criteria.Name = val;\r\n vm.criteria.CusoCdsid = vm.cdsId;\r\n vm.criteria.ExclusionListName = vm.exclusionListName;\r\n return cusoApi.cuso.byName(vm.criteria).then(function (data) {\r\n vm.selectionList = data.Data;\r\n return data.Data.map(function (item) {\r\n return item.ItemName;\r\n });\r\n });\r\n }\r\n\r\n function creditunionsByName(val) {\r\n //if (val.length < 3) return;\r\n vm.criteria.Name = val;\r\n vm.criteria.CusoCdsid = vm.cdsId;\r\n vm.criteria.ExclusionListName = vm.exclusionListName;\r\n return cusoApi.cu.byName(vm.criteria).then(function (data) {\r\n vm.selectionList = data.Data;\r\n return data.Data.map(function (item) {\r\n return item.ItemName;\r\n });\r\n });\r\n }\r\n }\r\n})();","\r\n(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"cusoProfileDirective\", function () {\r\n return {\r\n templateUrl: 'cusoProfile.html',\r\n controller: 'CusoProfileCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('CusoProfileCtrl', CusoProfileCtrl);\r\n\r\n CusoProfileCtrl.$inject = ['cusoApi', 'cusoSession', '$stateParams', '$location', '$window', 'excelExport'];\r\n\r\n function CusoProfileCtrl(cusoApi, cusoSession, $stateParams, $location, $window, excelExport) {\r\n \r\n var vm = this;\r\n vm.init = init;\r\n vm.sort = sort;\r\n vm.exportToExcel = exportToExcel;\r\n vm.cdsId = parseInt($stateParams.cdsid);\r\n vm.TrackId = cusoSession.getTrackId();\r\n vm.adminFlag = cusoSession.getIsAdmin() === 'true' ? true : false;\r\n vm.OwnerListModel = {\r\n SortBy: 'Name',\r\n SortOrder: 'ASC',\r\n PageNumber: 0\r\n };\r\n vm.linkVerification = linkVerification;\r\n vm.passCode = undefined;\r\n vm.passCodeStatus = undefined;\r\n vm.getPasscode = getPasscode;\r\n vm.activatePasscode = activatePasscode;\r\n vm.generatePasscode = generatePasscode;\r\n \r\n init();\r\n\r\n function init() {\r\n //valid session?\r\n if (vm.TrackId == undefined) {\r\n $location.path('/login');\r\n }\r\n\r\n cusoApi.cuso.byCdsId(vm.cdsId).then(function (data) {\r\n vm.data = data.Data;\r\n vm.ResultStringGeneral = JSON.stringify(vm.data);\r\n }, function (error) {\r\n });\r\n cusoApi.service.servicesByCuso(vm.cdsId).then(function (data) {\r\n vm.services = data;\r\n vm.ResultStringService = JSON.stringify(vm.services);\r\n }, function (error) {\r\n });\r\n \r\n cusoApi.cuso.clients(vm.cdsId).then(function (data) {\r\n vm.clients = data;\r\n vm.ClientCount = data.length;\r\n vm.ResultStringClients = JSON.stringify(vm.clients);\r\n }, function (error) {\r\n });\r\n populateOwnerList();\r\n getPasscode();\r\n }\r\n\r\n function populateOwnerList() {\r\n cusoApi.cuso.owners(vm.cdsId, vm.OwnerListModel).then(function (data) {\r\n vm.owners = data.Data;\r\n vm.OwnerCount = data.Data.length;\r\n vm.ResultStringOwners = JSON.stringify(vm.owners);\r\n }, function (error) {\r\n });\r\n }\r\n\r\n //vm.filterCriteria = {\r\n // CompanyName: '',\r\n // //Address: '',\r\n // City: '',\r\n // StateId: '',\r\n // UserCount: -1,\r\n // AdminCount: -1,\r\n // IsAsc: false,\r\n // SortByField: 'CompanyName'//,\r\n // //pageSize: $scope.pageSizes[0].value\r\n //};\r\n\r\n function sort(field) {\r\n if (vm.OwnerListModel.SortBy === field) {\r\n vm.OwnerListModel.SortOrder = vm.OwnerListModel.SortOrder === 'ASC' ? 'DESC' : 'ASC';\r\n } else {\r\n vm.OwnerListModel.SortBy = field;\r\n vm.OwnerListModel.SortOrder = 'ASC';\r\n }\r\n populateOwnerList();\r\n }\r\n\r\n function linkVerification() {\r\n $window.open('#/verify/login');\r\n }\r\n function exportToExcel() {\r\n excelExport.exportCusoProfileToExcel(\"Name,Address,City,State,Zip,Website,Wholly Owned?,Non-CU Owners?\",\r\n vm.ResultStringGeneral,\r\n vm.ResultStringService,\r\n //\"Credit Union,Investments ($) ,Loans ($),Cash Outlay ($)\",\r\n \"Name\",\r\n vm.ResultStringOwners,\r\n \"Name\",\r\n vm.ResultStringClients, vm.data.Name);\r\n }\r\n\r\n function getPasscode() {\r\n cusoApi.cuso.passcode(vm.cdsId).then(function (data) {\r\n if (!angular.isUndefined(data.Data) && data.Data != null) {\r\n vm.passCode = data.Data.Passcode;\r\n vm.passCodeStatus = data.Data.IsActive ? vm.passCode : 'Inactive';\r\n } else {\r\n vm.passCodeStatus = 'No record found, please generate passcode';\r\n }\r\n }, function (error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n function activatePasscode() {\r\n cusoApi.cuso.activatePasscode(vm.cdsId).then(function (data) {\r\n if (!angular.isUndefined(data.Data) && data.Data != null) {\r\n vm.passCode = data.Data.Passcode;\r\n vm.passCodeStatus = data.Data.IsActive ? vm.passCode : 'Inactive';\r\n } else {\r\n vm.passCodeStatus = 'No record found, please generate passcode';\r\n }\r\n }, function (error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n function generatePasscode() {\r\n if (angular.isUndefined(vm.passCode)) {\r\n cusoApi.cuso.generatePasscode(vm.cdsId).then(function (data) {\r\n debugger\r\n vm.passCodeStatus = vm.passCode = data.Data.Passcode;\r\n }, function (error) {\r\n console.log(error);\r\n });\r\n }\r\n else {\r\n alert('Passcode exists');\r\n }\r\n }\r\n }\r\n})();","\r\n(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"cuProfileDirective\", function () {\r\n return {\r\n templateUrl: 'cuProfile.html',\r\n controller: 'CuProfileCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('CuProfileCtrl', CuProfileCtrl);\r\n\r\n CuProfileCtrl.$inject = ['$location', 'cusoApi', 'cusoSession', '$stateParams', 'excelExport'];\r\n\r\n function CuProfileCtrl($location, cusoApi, cusoSession, $stateParams, excelExport) {\r\n\r\n var vm = this;\r\n vm.cdsId = parseInt($stateParams.cdsid);\r\n vm.TrackId = cusoSession.getTrackId();\r\n vm.init = init;\r\n vm.sort = sort;\r\n vm.exportToExcel = exportToExcel;\r\n\r\n vm.AffiliateListModel = {\r\n SortBy: 'Name',\r\n SortOrder: 'ASC',\r\n PageNumber: 0\r\n };\r\n\r\n init();\r\n\r\n function init() {\r\n //valid session?\r\n if (vm.TrackId == undefined) {\r\n $location.path('/login');\r\n }\r\n\r\n //cusoSession.validateSession().then(function(data) {\r\n // if (data === 0) { // not valid session\r\n // $location.path(\"logout\");\r\n // } else {\r\n // vm.trackId = data;\r\n // }\r\n // },\r\n // function(error) {\r\n // });\r\n\r\n cusoApi.cu.profile(vm.cdsId, 0).then(function (data) {\r\n if (angular.isUndefined(data.Data.Name)) {\r\n // error \r\n }\r\n else\r\n vm.data = data.Data;\r\n }, function (error) {\r\n // error handling\r\n });\r\n\r\n cusoApi.cu.searchAndAnalyze(vm.cdsId, 0).then(function (data) {\r\n //vm.Financial = data.Data.data;\r\n vm.Financial = {\r\n Assets: data.Data.data[0][112],\r\n Loans: data.Data.data[0][113],\r\n Investments: data.Data.data[0][144],\r\n Capital: data.Data.data[0][143],\r\n Members: data.Data.data[0][121],\r\n Employees: data.Data.data[0][58],\r\n ShareGrowth: data.Data.data[0][4] * 100,\r\n LoanGrowth: data.Data.data[0][5] * 100,\r\n Roa: data.Data.data[0][117] * 100, //169? -- no matching #\r\n NumberOfBranches: data.Data.data[0][82]\r\n };\r\n }, function (error) {\r\n // error handling\r\n });\r\n\r\n //get the cycle name\r\n cusoApi.cu.byCdsId(vm.cdsId).then(function (data) {\r\n vm.cyclename = data.Data.CycleName;\r\n\r\n\r\n }, function (error) {\r\n });\r\n populateAffiliateList();\r\n populateUtilizedCusoList();\r\n\r\n }\r\n\r\n function populateAffiliateList() {\r\n cusoApi.cu.affiliates(vm.cdsId, vm.AffiliateListModel).then(function (data) {\r\n vm.affiliates = data.Data;\r\n vm.CusoCount = data.Data.length;\r\n }, function (error) {\r\n });\r\n }\r\n\r\n function populateUtilizedCusoList() {\r\n cusoApi.cu.utilizedCusos(vm.cdsId).then(function (data) {\r\n vm.utilizedCusos = data;\r\n vm.UtilizedCusoCount = data.length;\r\n }, function (error) {\r\n });\r\n }\r\n function sort(field) {\r\n if (vm.AffiliateListModel.SortBy === field) {\r\n vm.AffiliateListModel.SortOrder = vm.AffiliateListModel.SortOrder === 'ASC' ? 'DESC' : 'ASC';\r\n } else {\r\n vm.AffiliateListModel.SortBy = field;\r\n vm.AffiliateListModel.SortOrder = 'ASC';\r\n }\r\n populateAffiliateList();\r\n }\r\n\r\n function exportToExcel() {\r\n excelExport.exportCuProfileToExcel(\"Name,Address,Branches,Phone,Fax,Charter Number,URL\", JSON.stringify(vm.data), \r\n \"Assets,Loans,Investments,Capital,Members,Employees,12-Month Share Growth,12-Month Loan Growth,ROA\",\r\n JSON.stringify(vm.Financial), \"CUSO,Investments ($),Loans ($),Cash Outlay ($)\",\r\n JSON.stringify(vm.affiliates), \"CUSO\", JSON.stringify(vm.utilizedCusos), vm.data.Name);\r\n }\r\n }\r\n})();","\r\n(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"verifyLoginDirective\", function () {\r\n return {\r\n templateUrl: 'verify/login.html',\r\n controller: 'VerifyLoginCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('VerifyLoginCtrl', VerifyLoginCtrl);\r\n\r\n VerifyLoginCtrl.$inject = ['verificationSession', '$location'];\r\n\r\n function VerifyLoginCtrl(verificationSession, $location) {\r\n\r\n var vm = this;\r\n vm.login = login;\r\n\r\n function login() {\r\n verificationSession.login(vm.credential).then(function (data) {\r\n vm.user = data;\r\n if (vm.user.CdsId === 0) {\r\n vm.ShowError = true;\r\n return;\r\n }\r\n //var cdsId = verificationSession.getCdsId();\r\n $location.path('verify/' + vm.user.CdsId + '/edit');\r\n }, function (error) {\r\n return 0;\r\n });\r\n //$location.path('verify/85191/edit');\r\n }\r\n\r\n }\r\n})();","\r\n(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"searchDirective\", function () {\r\n return {\r\n templateUrl: 'search.html',\r\n controller: 'SearchCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('SearchCtrl', SearchCtrl);\r\n\r\n SearchCtrl.$inject = ['$scope', '$location', 'cusoApi', 'cusoVerifyApi', 'cusoSession', '$stateParams', 'searchCriteria', '$window', 'excelExport', '$uibModal'];\r\n\r\n function SearchCtrl($scope, $location, cusoApi, cusoVerifyApi, cusoSession, $stateParams, searchCriteria, $window, excelExport, $uibModal) {\r\n\r\n var vm = this;\r\n vm.serviceid = $stateParams.id ? parseInt($stateParams.id) : 0;\r\n vm.init = init;\r\n vm.cancel = cancel;\r\n vm.addUpdateCuso = addUpdateCuso;\r\n vm.showCusoForm = showCusoForm;\r\n vm.submitFirstStep;\r\n\r\n vm.services = {};\r\n vm.checkService = checkService;\r\n vm.clearServices = clearServices;\r\n\r\n vm.isCuso;\r\n vm.clearForm = clearForm;\r\n vm.search = search;\r\n vm.sort = sort;\r\n vm.selectPage = selectPage;\r\n vm.reset = reset;\r\n vm.generatePasscode = generatePasscode;\r\n vm.adminFlag = cusoSession.getIsAdmin() === 'true' ? true : false;\r\n\r\n vm.showError = false;\r\n vm.states = [];\r\n vm.selectedServiceName = '';\r\n vm.allServices = true;\r\n vm.Model = searchCriteria.get();\r\n vm.criteria = {};\r\n vm.initial = true;\r\n vm.moduleType = 'cuso';\r\n vm.exclusionListName = '';\r\n vm.SelectionList = [];\r\n vm.ServiceIds = [];\r\n vm.exportToExcel = exportToExcel;\r\n vm.selectedServiceNames = '';\r\n vm.Model.OnlyNacuso = 2;\r\n vm.cusoFormFlag = false;\r\n //vm.popup = {\r\n // PopupMsg: '',\r\n // PopupTitle: ''\r\n //}\r\n vm.Cuso = {\r\n CdsId: undefined,\r\n //EinId: '',\r\n //RegistryId: '',\r\n //Name: '',\r\n //Address: '',\r\n //City: '',\r\n //State: '',\r\n //Zipcode: '',\r\n //IsWhollyOwned: '',\r\n //ManagerName: '',\r\n //Phone: '',\r\n //Website: '',\r\n //HasNonCuOwner: '',\r\n //LastUpdated: Date.now,\r\n IsActive: true,\r\n //TotalInvestment: '',\r\n //TotalLoans: '',\r\n //NumEmployees: '',\r\n //CycleName: '',\r\n //NumOwners: '',\r\n //NumMemberClients: '',\r\n //NeedInvestor: '',\r\n //IsNacuso: ''\r\n }\r\n\r\n init();\r\n\r\n function init() {\r\n //valid session?\r\n if (vm.Model.TrackId == undefined) {\r\n $location.path('/login');\r\n }\r\n //state list\r\n cusoApi.selection.states().then(function (data) {\r\n vm.states = data;\r\n }, function (error) {\r\n });\r\n\r\n cusoApi.service.servicelist().then(function (data) {\r\n vm.services = data;\r\n });\r\n\r\n //service list\r\n if (vm.serviceid > 0) {\r\n vm.Model = searchCriteria.resetSearch();\r\n vm.Model.ServiceIds.push(vm.serviceid);\r\n //vm.Model = searchCriteria.resetSearch();\r\n search(1, 0);\r\n } else if (!searchCriteria.isNewSearch()) {\r\n search(0, 0);\r\n }\r\n }\r\n\r\n function showModal(title, message) {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: 'popup.html',\r\n controller: 'PopupCtrl',\r\n size: 'md',\r\n controllerAs: 'vm',\r\n resolve: {\r\n PopupTitle: function () {\r\n return title;\r\n },\r\n PopupMsg: function () {\r\n return message;\r\n },\r\n }\r\n });\r\n vm.title = vm.message = '';\r\n }\r\n\r\n function showCusoForm() {\r\n vm.cusoFormFlag = vm.Cuso.CdsId == undefined ? false : true;\r\n\r\n cusoApi.cuso.byCdsId(vm.Cuso.CdsId).then(function (data) {\r\n if(data.Data) vm.Cuso = data.Data;\r\n return vm.Cuso;\r\n }).then(function (cuso) {\r\n if (!cuso) return;\r\n cusoApi.service.servicesByCuso(cuso.CdsId).then(function (data) {\r\n\r\n var selectedServices = data;\r\n selectedServices.forEach(function (selectedService) {\r\n vm.services.find(function (service) {\r\n return service.ServiceId == selectedService.ServiceId;\r\n }).Selected = true;\r\n });\r\n }, function (error) {\r\n });\r\n });\r\n }\r\n\r\n function cancel() {\r\n vm.cusoFormFlag = false;\r\n }\r\n\r\n function clearForm() {\r\n vm.Cuso = null;\r\n vm.clearServices();\r\n vm.isCuso = undefined;\r\n vm.cancel();\r\n }\r\n\r\n function clearServices() {\r\n vm.ServiceIds = [];\r\n vm.services.forEach(function (option){\r\n option.Selected = false;\r\n });\r\n }\r\n\r\n function addUpdateCuso() {\r\n cusoApi.cuso.addUpdateCuso(vm.Cuso).then(function (data) {\r\n vm.newCuso = data.Data;\r\n return vm.newCuso;\r\n }, function (error) {\r\n console.error(error);\r\n })\r\n .then(function (cuso) {\r\n //save service list\r\n angular.forEach(vm.services,\r\n function (value, key, obj) {\r\n if ((value.ParentServiceId !== value.ServiceId) && value.Selected)\r\n vm.ServiceIds.push(value.ServiceId);\r\n });\r\n cusoApi.service.save(cuso.CdsId, vm.ServiceIds).then(function () { });\r\n cusoVerifyApi.service.save(cuso.CdsId, vm.ServiceIds).then(function () { });\r\n\r\n cusoApi.cuso.passcode(cuso.CdsId).then(function (data) {\r\n if (!angular.isUndefined(data.Data) && data.Data != null) {\r\n vm.passCode = data.Data.Passcode\r\n return data.Data.Passcode;\r\n }\r\n }, function (error) {\r\n console.error(error);\r\n })\r\n .then(function (passCode) {\r\n if (passCode) {\r\n vm.passCode = passCode;\r\n if (vm.isCuso) {\r\n // required. passcode passed into Cuso Model. passcode retrieved from NacusoUser table in CusoAnalyzer\r\n vm.Cuso.Passcode = passCode;\r\n cusoVerifyApi.cuso.addUpdateCuso(vm.Cuso).then(function (data) {\r\n vm.newCuso = data.Data;\r\n }, function (error) {\r\n console.error(error);\r\n });\r\n } else {\r\n cusoVerifyApi.cuso.deactivateCuso(vm.Cuso.CdsId).then(function () {});\r\n }\r\n } else {\r\n //console.log('Passcode does not exist');\r\n }\r\n var title = 'Cuso ' + cuso.Name + ' added/updated';\r\n var message = 'Cds ID: ' + vm.Cuso.CdsId + ' Passcode: ' + vm.passCode;\r\n showModal(title, message);\r\n vm.clearForm();\r\n //vm.cancel();\r\n });\r\n }, function (error) {\r\n console.error(error);\r\n });\r\n }\r\n\r\n function generatePasscode() {\r\n if (!angular.isUndefined(vm.Cuso.CdsId)) {\r\n cusoApi.cuso.generatePasscode(vm.Cuso.CdsId).then(function (data) {\r\n var pass;\r\n if (data.Data != null) {\r\n pass = data.Data.Passcode;\r\n //console.log('Nacuso User - Passcode ' + pass + ' Generated for ' + vm.Cuso.CdsId);\r\n vm.title = 'Passcode Generated';\r\n vm.message = 'Cds ID: ' + vm.Cuso.CdsId + '\\nPasscode: ' + pass;\r\n } else {\r\n vm.title = \"Cuso doesn't exist\";\r\n vm.message = \"Please Add/Update Cuso first\";\r\n }\r\n return pass;\r\n }, function (analyzerError) {\r\n console.error(analyzerError);\r\n }).then(function (pass) {\r\n if (vm.isCuso && pass) {\r\n cusoVerifyApi.cuso.generatePasscode(vm.Cuso.CdsId, pass).then(function (data) {\r\n if (data.Data != null) {\r\n //console.log('Verification User - Passcode ' + pass + ' Generated for ' + vm.Cuso.CdsId);\r\n vm.title = 'Passcode Generated';\r\n vm.message = 'Cds ID: ' + vm.Cuso.CdsId + '\\nPasscode: ' + pass;\r\n } else {\r\n vm.title = \"Cuso doesn't exist in verfication database\";\r\n vm.message = \"Please select Yes for 'Is it a CUSO?' and Add Cuso first\";\r\n }\r\n showModal(vm.title, vm.message);\r\n }, function (error) {\r\n console.error(error);\r\n });\r\n } else {\r\n showModal(vm.title, vm.message);\r\n }\r\n\r\n }, function (verificationError) {\r\n console.error(verificationError);\r\n });\r\n }\r\n }\r\n\r\n function checkService(option) {\r\n if (option.ServiceId === option.ParentServiceId) {\r\n option.Selected = !option.Selected;\r\n //all the children will conform\r\n angular.forEach(vm.services, function (value, key, obj) {\r\n if (value.ParentServiceId == option.ServiceId)\r\n value.Selected = option.Selected;\r\n });\r\n } else {\r\n option.Selected = !option.Selected;\r\n }\r\n if (option.Selected)\r\n vm.allServices = false;\r\n }\r\n\r\n function search(newSearch, srcBtnClick) { \r\n if (newSearch)\r\n vm.Model.PageNum = 1;\r\n\r\n if (srcBtnClick) //the page was originally loaded with service id, but now the search criteria has changed from search button\r\n vm.serviceid = 0;\r\n\r\n if (vm.Model.Name != undefined)\r\n vm.Model.Name = vm.Model.Name.split(' (')[0];\r\n else\r\n vm.Model.Name = '';\r\n\r\n searchCriteria.set(vm.Model);\r\n if (vm.serviceid < 1 && vm.Model.ServiceIds.length < 1) {\r\n vm.showServiceError = true;\r\n return;\r\n }\r\n else vm.showServiceError = false;\r\n\r\n //if (vm.Model.OnlyNacuso === '') vm.Model.OnlyNacuso = 1;\r\n vm.Model.Isexport = false;\r\n cusoApi.search.cuso(vm.Model).then(function (data) {\r\n vm.ResultList = data.Data.ResultList;\r\n vm.PageNum = data.Data.PageNum;\r\n vm.TotalResultCount = data.Data.TotalResultCount;\r\n vm.ResultString = JSON.stringify(vm.ResultList);\r\n vm.ResultString = vm.ResultString.replace('|', ',');\r\n }, function (error) {\r\n });\r\n }\r\n\r\n function sort(order) {\r\n searchCriteria.sort(order);\r\n search(1, 0);\r\n }\r\n\r\n function selectPage(pageNum) {\r\n vm.Model.PageNum = pageNum;\r\n search(0, 0);\r\n }\r\n\r\n function reset() {\r\n $window.location.reload();\r\n }\r\n\r\n function exportToExcel() {\r\n //create header\r\n //var header = '\"Name: ' + vm.Model.Name + '\"\\r\\n' + '\"Services: ' + vm.selectedServiceNames + '\"\\r\\n\\r\\n';\r\n //excelExport.exportToExcel(\"|Name|State|Services|\", vm.ResultString, \"CUSOs\", true, header);\r\n vm.Model.Isexport = true;\r\n cusoApi.search.cuso(vm.Model).then(function (data) {\r\n vm.FullResultList = data.Data.FullResultList;\r\n excelExport.exportCusoSearchToExcel(\"|Name|State|Services|\", vm.FullResultList, \"CUSO Search Results\", true, \"CUSO Search Results\");\r\n }, function (error) {\r\n });\r\n\r\n }\r\n\r\n }\r\n})();","\r\n(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"cuSearchDirective\", function () {\r\n return {\r\n templateUrl: 'cuSearch.html',\r\n controller: 'CuSearchCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('CuSearchCtrl', CuSearchCtrl);\r\n\r\n CuSearchCtrl.$inject = ['$location', 'cusoApi', 'cusoSession', '$stateParams', 'cuSearchCriteria', 'excelExport'];\r\n\r\n function CuSearchCtrl($location, cusoApi, cusoSession, $stateParams, cuSearchCriteria, excelExport) {\r\n\r\n var vm = this;\r\n vm.serviceid = parseInt($stateParams.id);\r\n vm.init = init;\r\n vm.search = search;\r\n vm.sort = sort;\r\n vm.selectPage = selectPage; \r\n vm.checkService = checkService;\r\n vm.checkAsset = checkAsset;\r\n vm.reset = reset;\r\n vm.checkAllService = checkAllService;\r\n vm.showServiceError = false;\r\n vm.showAssetError = false;\r\n vm.states = [];\r\n vm.services = [];\r\n vm.assets = [];\r\n vm.allServices = true;\r\n vm.Model = cuSearchCriteria.get();\r\n vm.criteria = {};\r\n vm.initial = true;\r\n vm.moduleType = 'cu';\r\n vm.exclusionListName = '';\r\n vm.SelectionList = [];\r\n vm.selectedServiceNames = '';\r\n vm.exportToExcel = exportToExcel;\r\n init();\r\n\r\n function init() {\r\n //valid session?\r\n if (vm.Model.TrackId == undefined) {\r\n $location.path('/login');\r\n }\r\n vm.Model = cuSearchCriteria.get();\r\n vm.assets = [\r\n { AssetId: 1, Name: 'All', Selected: true },\r\n { AssetId: 2, Name: 'Over $1B', Selected: true },\r\n { AssetId: 3, Name: '$500M - $1B', Selected: true },\r\n { AssetId: 4, Name: '$250M - $500M', Selected: true },\r\n { AssetId: 5, Name: '$100M - $250M', Selected: true },\r\n { AssetId: 6, Name: 'Under $100M', Selected: true }\r\n ];\r\n\r\n //state list\r\n cusoApi.selection.states().then(function(data) {\r\n vm.states = data;\r\n },\r\n function(error) {\r\n });\r\n\r\n //service list\r\n if (vm.serviceid > 0) {\r\n vm.Model = cuSearchCriteria.resetSearch();\r\n search(1);\r\n\r\n } else if (!cuSearchCriteria.isNewSearch()) {\r\n search(0, 0);\r\n }\r\n\r\n \r\n }\r\n\r\n function search(newSearch) {\r\n vm.Model.Assets = [];\r\n \r\n vm.ResultList = []; \r\n if (newSearch)\r\n vm.Model.PageNum = 1;\r\n\r\n //get all checked assets\r\n angular.forEach(vm.assets, function (value, key, obj) {\r\n if (value.Selected)\r\n vm.Model.Assets.push(value.AssetId);\r\n });\r\n if (vm.Model.Name != undefined)\r\n vm.Model.Name = vm.Model.Name.split(' (')[0];\r\n else\r\n vm.Model.Name = '';\r\n cuSearchCriteria.set(vm.Model);\r\n if (vm.Model.ServiceIds.length < 1) {\r\n vm.showServiceError = true;\r\n vm.showAssetError = false;\r\n return;\r\n }\r\n else if (vm.Model.Assets.length < 1) {\r\n vm.showAssetError = true;\r\n vm.showServiceError = false;\r\n return;\r\n } else {\r\n vm.showServiceError = false;\r\n vm.showAssetError = false;\r\n }\r\n vm.Model.Isexport = false;\r\n cusoApi.search.cu(vm.Model).then(function (data) { \r\n vm.ResultList = data.Data.ResultList; \r\n vm.PageNum = data.Data.PageNum;\r\n vm.TotalResultCount = data.Data.TotalResultCount;\r\n }, function (error) {\r\n }); \r\n }\r\n\r\n function checkAllService() {\r\n if (vm.allServices) {\r\n angular.forEach(vm.services,\r\n function(value, key, obj) {\r\n value.Selected = true;\r\n });\r\n } else {\r\n angular.forEach(vm.services,\r\n function (value, key, obj) {\r\n value.Selected = false;\r\n });\r\n }\r\n }\r\n\r\n function checkService(option) {\r\n\r\n if (option.ServiceId === option.ParentServiceId) {\r\n option.Selected = !option.Selected;\r\n //all the children whill be conformed\r\n angular.forEach(vm.services, function (value, key, obj) {\r\n if (value.ParentServiceId == option.ServiceId)\r\n value.Selected = option.Selected;\r\n });\r\n } else {\r\n option.Selected = !option.Selected;\r\n }\r\n if (option.Selected)\r\n vm.allServices = false;\r\n\r\n }\r\n\r\n function checkAsset(option) {\r\n if (option.AssetId === 1) { // all option\r\n option.Selected = !option.Selected;\r\n angular.forEach(vm.assets,\r\n function (value, key, obj) {\r\n value.Selected = option.Selected;\r\n });\r\n } else {\r\n option.Selected = !option.Selected;\r\n vm.assets[0].Selected = false;\r\n }\r\n \r\n }\r\n\r\n function sort(order) {\r\n vm.Model.SortBy = order;\r\n vm.Model.SortDirection = vm.Model.SortDirection == 'ASC' ? 'DESC' : 'ASC';\r\n vm.Model.PageNum = 1;\r\n search(1);\r\n }\r\n\r\n function selectPage(pageNum) {\r\n vm.Model.PageNum = pageNum;\r\n search(0);\r\n } \r\n\r\n function reset() {\r\n $window.location.reload();\r\n }\r\n\r\n function exportToExcel() {\r\n //create header\r\n //var header = '\"Name: ' + vm.Model.Name + '\"\\r\\n' + '\"Services: ' + vm.selectedServiceNames + '\"\\r\\n\\r\\n';\r\n vm.Model.Isexport = true;\r\n cusoApi.search.cu(vm.Model).then(function (data) {\r\n vm.FullResultList = data.Data.FullResultList;\r\n excelExport.exportCuSearchToExcel(JSON.stringify(vm.FullResultList));\r\n }, function (error) {\r\n });\r\n }\r\n }\r\n})();","\r\n(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"menuDirective\", function () {\r\n return {\r\n templateUrl: 'menu.html',\r\n controller: 'MenuCtrl',\r\n controllerAs: 'menuVm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('MenuCtrl', MenuCtrl);\r\n\r\n MenuCtrl.$inject = ['$location', 'cusoSession', 'searchCriteria', 'cuSearchCriteria'];\r\n\r\n function MenuCtrl($location, cusoSession, searchCriteria, cuSearchCriteria) {\r\n\r\n var vm = this;\r\n vm.cusoSearch = false;\r\n vm.cuSearch = false;\r\n vm.about = false;\r\n vm.contact = false;\r\n vm.showMenu = true;\r\n vm.toSearch = toSearch;\r\n vm.toCuSearch = toCuSearch;\r\n vm.currentPath = $location.path();\r\n\r\n vm.TrackId = cusoSession.getTrackId();\r\n \r\n if (vm.currentPath.indexOf('/search') > -1) {\r\n vm.cusoSearch = true;\r\n vm.cuSearch = false;\r\n vm.about = false;\r\n vm.contact = false;\r\n }\r\n else if (vm.currentPath.indexOf('/cusearch') > -1) {\r\n vm.cusoSearch = false;\r\n vm.cuSearch = true;\r\n vm.about = false;\r\n vm.contact = false;\r\n vm.showMenu = true;\r\n }\r\n else if (vm.currentPath.indexOf('/about') > -1) {\r\n vm.cusoSearch = false;\r\n vm.cuSearch = false;\r\n vm.about = true;\r\n vm.contact = false;\r\n vm.showMenu = true;\r\n }\r\n else if (vm.currentPath.indexOf('/contact') > -1) {\r\n vm.cusoSearch = false;\r\n vm.cuSearch = false;\r\n vm.about = false;\r\n vm.contact = true;\r\n vm.showMenu = true;\r\n if (vm.TrackId == undefined) {\r\n vm.showMenu = false;\r\n }\r\n }\r\n else if (vm.currentPath.indexOf('/login') > -1 || vm.currentPath.indexOf('/logout') > -1 || vm.currentPath.indexOf('/verify') > -1)\r\n {\r\n vm.showMenu = false;\r\n }\r\n\r\n function toSearch() {\r\n searchCriteria.resetSearch();\r\n $location.path('#/search');\r\n }\r\n\r\n function toCuSearch() {\r\n cuSearchCriteria.resetSearch();\r\n $location.path('#/cusearch');\r\n }\r\n }\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"aboutDirective\", function () {\r\n return {\r\n templateUrl: 'about.html',\r\n controller: 'AboutCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('AboutCtrl', AboutCtrl);\r\n\r\n AboutCtrl.$inject = ['$location', 'cusoSession'];\r\n\r\n function AboutCtrl($location, cusoSession) {\r\n\r\n var vm = this;\r\n vm.TrackId = cusoSession.getTrackId(),\r\n init();\r\n\r\n function init() {\r\n //valid session?\r\n if (vm.TrackId == undefined) {\r\n $location.path('/login');\r\n }\r\n }\r\n }\r\n})();","\r\n(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"contactDirective\", function () {\r\n return {\r\n templateUrl: 'contact.html',\r\n controller: 'ContactCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('ContactCtrl', ContactCtrl);\r\n\r\n ContactCtrl.$inject = ['$location', 'cusoSession'];\r\n function ContactCtrl($location, cusoSession) {\r\n\r\n var vm = this;\r\n\r\n vm.TrackId = cusoSession.getTrackId(),\r\n init();\r\n\r\n function init() {\r\n //valid session?\r\n //if (vm.TrackId == undefined) {\r\n // $location.path('/login');\r\n //}\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"logoutDirective\", function () {\r\n return {\r\n templateUrl: 'logout.html',\r\n controller: 'LogoutCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('LogoutCtrl', LogoutCtrl);\r\n\r\n LogoutCtrl.$inject = ['$location', '$route', 'cusoSession', '$stateParams'];\r\n\r\n function LogoutCtrl($location, $route, cusoSession, $stateParams) {\r\n var vm = this;\r\n\r\n init();\r\n\r\n function init() {\r\n var trackId = cusoSession.getTrackId();\r\n cusoSession.logout(trackId).then(function (data) {\r\n \r\n }, function (error) {\r\n return 0;\r\n });\r\n }\r\n }\r\n})();","\r\n(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"editCusoDirective\", function () {\r\n return {\r\n templateUrl: 'verify/editCuso.html',\r\n controller: 'EditCusoCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('EditCusoCtrl', EditCusoCtrl);\r\n\r\n EditCusoCtrl.$inject = ['cusoApi', 'cusoVerifyApi', 'verificationSession', '$stateParams', '$location', '$window'];\r\n\r\n function EditCusoCtrl(cusoApi, cusoVerifyApi, verificationSession, $stateParams, $location, $window) {\r\n\r\n var vm = this;\r\n vm.user = verificationSession.getUser();\r\n vm.cdsId = parseInt($stateParams.cdsid);\r\n vm.Model = {};\r\n vm.save = save;\r\n vm.reset = reset;\r\n vm.checkService = checkService;\r\n vm.ServiceIds = [];\r\n vm.initial = true;\r\n init();\r\n\r\n function init() {\r\n //check session\r\n vm.sessionId = verificationSession.getTrackId();\r\n if (vm.sessionId == undefined) {\r\n $location.path('/verify/login');\r\n }\r\n\r\n //state list\r\n cusoVerifyApi.selection.states(vm.cdsId).then(function (data) {\r\n vm.statelist = data;\r\n });\r\n\r\n //service list\r\n \r\n cusoVerifyApi.service.withPreSelection(vm.cdsId).then(function (data) {\r\n vm.services = data;\r\n });\r\n\r\n //general info data\r\n cusoVerifyApi.cuso.byCdsId(vm.cdsId).then(function (data) {\r\n vm.Model = data.Data;\r\n vm.originalInvestor = data.Data.NeedInvestor;\r\n if (data.Data.NeedInvestor != null) vm.Model.Investor = true;\r\n else vm.Model.Investor = false;\r\n }, function (error) {\r\n });\r\n }\r\n\r\n function checkService(option) {\r\n //console.log(option);\r\n if (option.ServiceId == option.ParentServiceId) {\r\n option.Selected = !option.Selected;\r\n //all the children whill be conformed\r\n angular.forEach(vm.services, function (value, key, obj) {\r\n if (value.ParentServiceId == option.ServiceId)\r\n value.Selected = option.Selected;\r\n });\r\n } else {\r\n option.Selected = !option.Selected;\r\n }\r\n\r\n }\r\n\r\n function save() {\r\n //investor from bool -> datetime\r\n if (vm.originalInvestor == null && vm.Model.Investor)\r\n vm.Model.NeedInvestor = new Date((new Date()).setMonth(8));\r\n else if (!vm.Model.Investor) vm.Model.NeedInvestor = null;\r\n\r\n //save general info\r\n cusoVerifyApi.cuso.update(vm.Model).then(function () { });\r\n cusoApi.cuso.addUpdateCuso(vm.Model).then(function () { });\r\n\r\n //save service list\r\n angular.forEach(vm.services,\r\n function (value, key, obj) {\r\n if ((value.ParentServiceId !== value.ServiceId) && value.Selected)\r\n vm.ServiceIds.push(value.ServiceId);\r\n });\r\n cusoApi.service.save(vm.cdsId, vm.ServiceIds).then(function () { })\r\n .then(function () {\r\n cusoVerifyApi.service.save(vm.cdsId, vm.ServiceIds).then(function () { });\r\n });\r\n\r\n $location.path('verify/' + vm.cdsId + '/relation');\r\n }\r\n\r\n function reset() {\r\n $window.location.reload();\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"editOwnerDirective\", function () {\r\n return {\r\n templateUrl: 'verify/owner.html',\r\n controller: 'EditOwnerCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('EditOwnerCtrl', EditOwnerCtrl);\r\n\r\n EditOwnerCtrl.$inject = ['cusoVerifyApi', 'verificationSession', '$stateParams', '$location'];\r\n\r\n function EditOwnerCtrl(cusoVerifyApi, verificationSession, $stateParams, $location) {\r\n var vm = this;\r\n vm.user = verificationSession.getUser();\r\n vm.cdsId = parseInt($stateParams.cdsid); \r\n vm.AddOwner = AddOwner;\r\n vm.deleteOwner = deleteOwner;\r\n vm.updateOwner = deleteOwner;\r\n vm.edit = edit;\r\n vm.redirect = redirect;\r\n vm.CuName = '';\r\n vm.SelectionList = [];\r\n vm.criteria = {};\r\n vm.moduleType = 'cu';\r\n vm.exclusionListName = 'Owner';\r\n\r\n vm.newOwner = {\r\n CusoCdsId: vm.cdsId,\r\n CuCdsId: 0,\r\n //TotalInvestments: 0.00,\r\n //TotalAmountLoaned: 0.00,\r\n //TotalCashOutlay: 0.00,\r\n IsActive: true\r\n }\r\n vm.OwnerListModel = {\r\n SortBy: 'Name',\r\n SortOrder: 'ASC',\r\n PageNumber: 0\r\n };\r\n init();\r\n\r\n function init() {\r\n //check session\r\n vm.sessionId = verificationSession.getTrackId();\r\n if (vm.sessionId == undefined) {\r\n $location.path('/verify/login');\r\n }\r\n cusoVerifyApi.cuso.owners(vm.cdsId, vm.OwnerListModel).then(function (data) {\r\n vm.owners = data.Data;\r\n }, function (error) {\r\n });\r\n }\r\n\r\n function AddOwner() {\r\n if (vm.CuName.length < 3 || vm.SelectionList.length < 1) return;\r\n angular.forEach(vm.SelectionList, function (value, key) {\r\n if (value.ItemName === vm.CuName)\r\n vm.newOwner.CuCdsId = value.ItemId;\r\n });\r\n cusoVerifyApi.cuso.insertOwner(vm.newOwner).then(function () { });\r\n vm.newOwner = {\r\n CuCdsId: vm.newOwner.CuCdsId,\r\n Name: vm.CuName.split('(')[0],\r\n //TotalInvestments: vm.newOwner.TotalInvestments,\r\n //TotalAmountLoaned: vm.newOwner.TotalAmountLoaned,\r\n //TotalCashOutlay: vm.newOwner.TotalCashOutlay,\r\n CusoCdsId: vm.newOwner.CusoCdsId\r\n };\r\n vm.owners.push(vm.newOwner);\r\n vm.newOwner = {\r\n CusoCdsId: vm.cdsId,\r\n CuCdsId: 0,\r\n //TotalInvestments: 0.00,\r\n //TotalAmountLoaned: 0.00,\r\n //TotalCashOutlay: 0.00,\r\n IsActive: true\r\n }\r\n vm.CuName = '';\r\n }\r\n\r\n function deleteOwner(model) {\r\n cusoVerifyApi.cuso.deleteOwner(model.CuCdsId, vm.cdsId).then(function () {\r\n var index = vm.owners.indexOf(model);\r\n vm.owners.splice(index, 1);\r\n });\r\n }\r\n\r\n function redirect(direction) {\r\n if (direction === 'prev') $location.path('verify/' + vm.cdsId + '/edit');\r\n else $location.path('verify/' + vm.cdsId + '/client');\r\n }\r\n\r\n function edit(item) {\r\n cusoVerifyApi.cuso.updateOwner(item).then(function () { });\r\n item.IsEdit = false;\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"editClientDirective\", function () {\r\n return {\r\n templateUrl: 'verify/client.html',\r\n controller: 'CllientCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('CllientCtrl', CllientCtrl);\r\n\r\n CllientCtrl.$inject = ['cusoVerifyApi', 'verificationSession', '$stateParams', '$location'];\r\n\r\n function CllientCtrl(cusoVerifyApi, verificationSession, $stateParams, $location) {\r\n var vm = this;\r\n vm.user = verificationSession.getUser();\r\n vm.cdsId = parseInt($stateParams.cdsid);\r\n vm.redirect = redirect;\r\n vm.addClient = addClient;\r\n vm.deleteClient = deleteClient;\r\n vm.criteria = {};\r\n vm.newClient = {\r\n CusoCdsId: vm.cdsId,\r\n CuCdsId: 0,\r\n IsActive: true\r\n }\r\n vm.SelectionList = [];\r\n vm.moduleType = 'cu';\r\n vm.exclusionListName = 'Client';\r\n\r\n init();\r\n function init() {\r\n //check session\r\n vm.sessionId = verificationSession.getTrackId();\r\n if (vm.sessionId == undefined) {\r\n $location.path('/verify/login');\r\n }\r\n\r\n cusoVerifyApi.cuso.clients(vm.cdsId).then(function (data) {\r\n vm.clients = data;\r\n }, function (error) {\r\n });\r\n }\r\n\r\n function addClient() {\r\n if (vm.CuName.length < 3 || vm.SelectionList.length < 1) return;\r\n angular.forEach(vm.SelectionList, function (value, key) {\r\n if (value.ItemName === vm.CuName)\r\n vm.newClient.CuCdsId = value.ItemId;\r\n });\r\n cusoVerifyApi.cuso.insertClient(vm.newClient).then(function () { });\r\n vm.newClient = {\r\n ItemId: vm.newClient.CuCdsId,\r\n ItemName: vm.CuName.split('(')[0]//,\r\n //CusoCdsId: vm.newClient.CusoCdsId\r\n };\r\n vm.clients.push(vm.newClient);\r\n vm.newClient = {\r\n CusoCdsId: vm.cdsId,\r\n CuCdsId: 0,\r\n TotalInvestments: 0.00,\r\n TotalAmountLoaned: 0.00,\r\n TotalCashOutlay: 0.00,\r\n IsActive: true\r\n }\r\n vm.CuName = '';\r\n }\r\n\r\n function deleteClient(model) {\r\n cusoVerifyApi.cuso.deleteClient(model.ItemId, vm.cdsId).then(function () {\r\n var index = vm.clients.indexOf(model);\r\n vm.clients.splice(index, 1);\r\n });\r\n }\r\n\r\n function redirect(direction) {\r\n if (direction === 'prev') $location.path('verify/' + vm.cdsId + '/owner');\r\n else $location.path('verify/' + vm.cdsId + '/confirm');\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"editRelationDirective\", function () {\r\n return {\r\n templateUrl: 'verify/relation.html',\r\n controller: 'RelationCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('RelationCtrl', RelationCtrl);\r\n\r\n RelationCtrl.$inject = ['cusoApi', 'cusoVerifyApi', 'verificationSession', '$stateParams', '$location'];\r\n\r\n function RelationCtrl(cusoApi, cusoVerifyApi, verificationSession, $stateParams, $location) {\r\n var vm = this;\r\n vm.user = verificationSession.getUser();\r\n vm.cdsId = parseInt($stateParams.cdsid);\r\n vm.redirect = redirect;\r\n \r\n /* Owner */\r\n vm.newOwner = {\r\n CusoCdsId: vm.cdsId,\r\n CuCdsId: 0,\r\n //TotalInvestments: 0.00,\r\n //TotalAmountLoaned: 0.00,\r\n //TotalCashOutlay: 0.00,\r\n IsActive: true\r\n }\r\n vm.OwnerListModel = {\r\n SortBy: 'Name',\r\n SortOrder: 'ASC',\r\n PageNumber: 0\r\n };\r\n vm.addOwner = addOwner;\r\n vm.deleteOwner = deleteOwner;\r\n\r\n /* Client */\r\n vm.newClient = {\r\n CusoCdsId: vm.cdsId,\r\n CuCdsId: 0,\r\n IsActive: true\r\n };\r\n\r\n vm.selectedCU = {\r\n CusoCdsId: vm.cdsId,\r\n CuCdsId: 0,\r\n IsActive: true\r\n }\r\n\r\n vm.addClient = addClient;\r\n vm.deleteClient = deleteClient;\r\n\r\n /* Search */\r\n vm.SelectionList = [];\r\n vm.moduleType = 'cu';\r\n vm.exclusionListName = {\r\n Client: 'Client',\r\n Owner: 'Owner'\r\n };\r\n\r\n init();\r\n function init() {\r\n //check session\r\n vm.sessionId = verificationSession.getTrackId();\r\n if (vm.sessionId == undefined) {\r\n $location.path('/verify/login');\r\n }\r\n\r\n cusoApi.cuso.owners(vm.cdsId, vm.OwnerListModel).then(function (data) {\r\n vm.owners = data.Data;\r\n console.log(vm.owners);\r\n }, function (error) {\r\n });\r\n\r\n cusoApi.cuso.clients(vm.cdsId).then(function (data) {\r\n vm.clients = data;\r\n console.log(vm.clients);\r\n }, function (error) {\r\n });\r\n }\r\n\r\n /* Owner */\r\n function addOwner() {\r\n if (angular.isUndefined(vm.CuNameOwner) || vm.CuNameOwner.length < 3 || vm.SelectionList.length < 1) return;\r\n var selectedItem = vm.SelectionList.find(function (item) {\r\n return item.ItemName == vm.CuNameOwner;\r\n });\r\n vm.selectedCU.CuCdsId = selectedItem.ItemId;\r\n\r\n cusoVerifyApi.cuso.insertOwner(vm.selectedCU).then(function () { })\r\n .then(function () {\r\n cusoApi.cuso.insertOwner(vm.selectedCU).then(function () {\r\n var newOwner = {\r\n ItemId: vm.selectedCU.CuCdsId,\r\n ItemName: vm.CuNameOwner//.split('(')[0]\r\n };\r\n vm.owners.push(newOwner);\r\n vm.selectedCU.CuCdsId = 0;\r\n vm.CuNameOwner = '';\r\n });\r\n });\r\n\r\n //angular.forEach(vm.SelectionList, function (value, key) {\r\n // if (value.ItemName === vm.CuNameOwner)\r\n // vm.newOwner.CuCdsId = value.ItemId;\r\n //});\r\n //cusoVerifyApi.cuso.insertOwner(vm.newOwner).then(function () { })\r\n // .then(function () {\r\n // cusoApi.cuso.insertOwner(vm.newOwner).then(function () {\r\n // });\r\n // });\r\n\r\n //vm.newOwner = {\r\n // CuCdsId: vm.newOwner.CuCdsId,\r\n // Name: vm.CuNameOwner.split('(')[0],\r\n // //TotalInvestments: vm.newOwner.TotalInvestments,\r\n // //TotalAmountLoaned: vm.newOwner.TotalAmountLoaned,\r\n // //TotalCashOutlay: vm.newOwner.TotalCashOutlay,\r\n // CusoCdsId: vm.newOwner.CusoCdsId\r\n //};\r\n //vm.owners.push(vm.newOwner);\r\n //vm.newOwner = {\r\n // CusoCdsId: vm.cdsId,\r\n // CuCdsId: 0,\r\n // //TotalInvestments: 0.00,\r\n // //TotalAmountLoaned: 0.00,\r\n // //TotalCashOutlay: 0.00,\r\n // IsActive: true\r\n //}\r\n //vm.CuNameOwner = '';\r\n }\r\n\r\n function deleteOwner(model) {\r\n cusoVerifyApi.cuso.deleteOwner(model.ItemId, vm.cdsId).then(function () {\r\n var index = vm.owners.indexOf(model);\r\n vm.owners.splice(index, 1);\r\n }).then(function () {\r\n cusoApi.cuso.deleteOwner(model.ItemId, vm.cdsId).then(function () {\r\n });\r\n });\r\n }\r\n\r\n /* Client */\r\n function addClient() {\r\n if (angular.isUndefined(vm.CuNameClient) || vm.CuNameClient.length < 3 || vm.SelectionList.length < 1) return;\r\n var selectedItem = vm.SelectionList.find(function (item) {\r\n return item.ItemName == vm.CuNameClient;\r\n });\r\n vm.selectedCU.CuCdsId = selectedItem.ItemId;\r\n\r\n cusoVerifyApi.cuso.insertClient(vm.selectedCU).then(function () { })\r\n .then(function () {\r\n cusoApi.cuso.insertClient(vm.selectedCU).then(function () {\r\n var newClient = {\r\n ItemId: vm.selectedCU.CuCdsId,\r\n ItemName: vm.CuNameClient//.split('(')[0]\r\n };\r\n vm.clients.push(newClient);\r\n vm.selectedCU.CuCdsId = 0;\r\n vm.CuNameClient = '';\r\n });\r\n });\r\n }\r\n\r\n function deleteClient(model) {\r\n cusoVerifyApi.cuso.deleteClient(model.ItemId, vm.cdsId).then(function () {\r\n var index = vm.clients.indexOf(model);\r\n vm.clients.splice(index, 1);\r\n }).then(function () {\r\n cusoApi.cuso.deleteClient(model.ItemId, vm.cdsId).then(function () {\r\n });\r\n });\r\n }\r\n\r\n function redirect(direction) {\r\n if (direction === 'prev') $location.path('verify/' + vm.cdsId + '/edit');\r\n else $location.path('verify/' + vm.cdsId + '/confirm');\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"confirmDirective\", function () {\r\n return {\r\n templateUrl: 'verify/confirm.html',\r\n controller: 'ConfirmCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n angular.module('cusoAnalyzer')\r\n .controller('ConfirmCtrl', ConfirmCtrl);\r\n\r\n ConfirmCtrl.$inject = ['cusoVerifyApi', 'verificationSession', '$stateParams', '$location'];\r\n\r\n function ConfirmCtrl(cusoVerifyApi, verificationSession, $stateParams, $location) {\r\n var vm = this;\r\n vm.user = verificationSession.getUser();\r\n vm.cdsId = parseInt($stateParams.cdsid);\r\n init();\r\n function init() {\r\n //check session\r\n vm.sessionId = verificationSession.getTrackId();\r\n if (vm.sessionId == undefined) {\r\n $location.path('/verify/login');\r\n }\r\n\r\n var trackId = verificationSession.getTrackId();\r\n verificationSession.logout(vm.sessionId).then(function () { });\r\n\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('cusoAnalyzer').service('cusoVerifyApi', ['Restangular', function (Restangular) {\r\n //var RestangularWithCache = function () {\r\n // return Restangular.withConfig(function (RestangularConfigurer) {\r\n // RestangularConfigurer.setDefaultHttpFields({ cache: true, useXDomain: true });\r\n // });\r\n //};\r\n return {\r\n track: {\r\n\r\n login: function (param) {\r\n return Restangular.one('Cuso').one('Verify').one(\"VerifyLogin\").customPOST(param);\r\n },\r\n logout: function (param) {\r\n return Restangular.one('Cuso').one('Verify').one(\"VerifyLogout\").customPOST(param);\r\n }\r\n },\r\n //cu: {\r\n // byCdsId: function (id) {\r\n // return Restangular.one('Cuso').one(\"CreditUnion\", id).get();\r\n // },\r\n // affiliates: function (id, criteria) {\r\n // return Restangular.one('Cuso').one(\"CreditUnion\", id).one('CUSOs').get(criteria);\r\n // },\r\n // byName: function (criteria) {\r\n // return Restangular.one('Cuso').one(\"CreditUnion\").one(\"ByName\").get(criteria);\r\n // },\r\n // utilizedCusos: function (id) {\r\n // return Restangular.one('Cuso').one(\"CreditUnion\", id).getList('UtilizedCUSOs');\r\n // }\r\n //},\r\n cuso: {\r\n byCdsId: function (id) {\r\n return Restangular.one('Cuso').one('Verify', id).get();\r\n },\r\n passcode: function (id) {\r\n return Restangular.one('Cuso').one('Verify', id).one('Passcode').get();\r\n },\r\n activatePasscode: function (id) {\r\n return Restangular.one('Cuso').one('Verify', id).one('ActivatePasscode').get();\r\n },\r\n generatePasscode: function (id, pass) {\r\n return Restangular.one('Cuso').one('Verify', id).one('GeneratePasscode', pass).get();\r\n },\r\n addCU: function (model) {\r\n return Restangular.one('Cuso').one('Verify').one('addCU').customPOST(model);\r\n },\r\n addUpdateCuso: function (model) {\r\n return Restangular.one('Cuso').one('Verify').one('AddUpdateCuso').customPOST(model);\r\n },\r\n deactivateCuso: function (id) {\r\n //return Restangular.one('Cuso').one('Verify', id).one('ClientOut', cusoCdsId).customDELETE();\r\n return Restangular.one('Cuso').one('Verify', id).one('DeactivateCuso').get();\r\n },\r\n owners: function (id, criteria) {\r\n return Restangular.one('Cuso').one('Verify', id).one('Owners').get(criteria);\r\n },\r\n clients: function (id) {\r\n return Restangular.one('Cuso').one('Verify', id).getList('Clients');\r\n },\r\n update: function (model) {\r\n return Restangular.one('Cuso').one('Verify').customPOST(model);\r\n },\r\n updateOwner: function (model) {\r\n return Restangular.one('Cuso').one('Verify').one('UpdateOwner').customPOST(model);\r\n },\r\n insertOwner: function (model) {\r\n return Restangular.one('Cuso').one('Verify').one('InsertOwner').customPOST(model);\r\n },\r\n deleteOwner: function (id, cusoCdsId) {\r\n //return Restangular.one('Cuso').one('Verify', id).one('DeleteOwner', cusoCdsId).customDELETE();\r\n return Restangular.one('Cuso').one('Verify', id).one('DeleteOwner', cusoCdsId).get();\r\n },\r\n insertClient: function (model) {\r\n return Restangular.one('Cuso').one('Verify').one('InsertClient').customPOST(model);\r\n },\r\n deleteClient: function (id, cusoCdsId) {\r\n //return Restangular.one('Cuso').one('Verify', id).one('ClientOut', cusoCdsId).customDELETE();\r\n return Restangular.one('Cuso').one('Verify', id).one('ClientOut', cusoCdsId).get();\r\n }\r\n //,\r\n //byName: function (criteria) {\r\n // return Restangular.one('Cuso').one(\"ByName\").get(criteria);\r\n //}\r\n },\r\n selection: {\r\n states: function () {\r\n return Restangular.one('Selection').getList(\"UsStates\");\r\n }\r\n },\r\n //search: {\r\n // cuso: function (criteria) {\r\n // return Restangular.one('Cuso').one(\"Search\").get(criteria);\r\n // },\r\n // cu: function (criteria) {\r\n // return Restangular.one('Cuso').one(\"CreditUnion\").one(\"Search\").get(criteria);\r\n // }\r\n //},\r\n service: {\r\n // below are APIs for logged in user\r\n servicelist: function () {\r\n return Restangular.one('Cuso').one('Verify').one('Service').getList('All');\r\n },\r\n servicesByCuso: function (id) {\r\n return Restangular.one('Cuso').one('Verify').one('Service', id).getList('ByCuso');\r\n },\r\n withPreSelection: function (id) {\r\n return Restangular.one('Cuso').one('Verify').one('Service', id).getList('ServiceWithPreSelection');\r\n },\r\n save: function (id, data) {\r\n return Restangular.one('Cuso').one('Verify').one('Service', id).one('Save').customPOST(data);\r\n }\r\n },\r\n\r\n error: {\r\n insert: function (errorParam) {\r\n return Restangular.one('Error', id).one(\"Insert\", memberId).customPOST(errorParam);\r\n }\r\n }\r\n }\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n\r\n var app = angular.module(\"cusoAnalyzer\");\r\n app.directive(\"popupDirective\", function () {\r\n return {\r\n templateUrl: 'popupDirective.html',\r\n controller: 'PopupCtrl',\r\n controllerAs: 'vm'\r\n\r\n };\r\n });\r\n\r\n angular.module('cusoAnalyzer')\r\n .controller('PopupCtrl', PopupCtrl);\r\n\r\n PopupCtrl.$inject = ['$scope', '$uibModalInstance', 'PopupMsg', 'PopupTitle'];\r\n function PopupCtrl($scope, $uibModalInstance, PopupMsg, PopupTitle) {\r\n var vm = this;\r\n vm.PopupMsg = PopupMsg;\r\n vm.PopupTitle = PopupTitle;\r\n vm.cancel = cancel;\r\n\r\n function cancel() {\r\n $uibModalInstance.close();\r\n };\r\n };\r\n})();"]}