define(['dashboard/dashboard'], function (dashboard) { dashboard.controller('DashboardHouseholdMembers', ['$scope', '$state', '$http', '$mdDialog', 'Helpers', function ($scope, $state, $http, $mdDialog, Helpers) { //$scope.hasHomeContents = function () { // return typeof $scope.Dashboard.Policy.RiskItemDetails.Home !== 'undefined' && // $scope.Dashboard.Policy.RiskItemDetails.Home !== null && // typeof $scope.Dashboard.Policy.RiskItemDetails.Home.Description !== 'undefined' && // $scope.Dashboard.Policy.RiskItemDetails.Home.Description !== null && // $scope.Dashboard.Policy.RiskItemDetails.Home.Description !== ''; //}; //$scope.hasBuilding = function () { // return typeof $scope.Dashboard.Policy.RiskItemDetails.Building !== 'undefined' != null && // $scope.Dashboard.Policy.RiskItemDetails.Building !== null && // typeof $scope.Dashboard.Policy.RiskItemDetails.Building.Description !== 'undefined' && // $scope.Dashboard.Policy.RiskItemDetails.Building.Description !== null && // $scope.Dashboard.Policy.RiskItemDetails.Building.Description !== ''; //}; //$scope.hasRegularDrivers = function () { // return typeof $scope.Dashboard.Policy.RegularDrivers !== 'undefined' && // $scope.Dashboard.Policy.RegularDrivers !== null && // $scope.Dashboard.Policy.RegularDrivers.length > 0 //}; //$scope.hasHouseholdMembers = function () { // return typeof $scope.Dashboard.Policy.HouseholdMembers !== 'undefined' && // $scope.Dashboard.Policy.HouseholdMembers !== null && // $scope.Dashboard.Policy.HouseholdMembers.length > 0 //}; //$scope.hasFirstName = function () { // return typeof $scope.Dashboard.Policy.AccountDetails.PolicyHolder.FirstName !== 'undefined' && // $scope.Dashboard.Policy.AccountDetails.PolicyHolder.FirstName !== null && // $scope.Dashboard.Policy.AccountDetails.PolicyHolder.FirstName !== '' //}; //$scope.hasRiskAddress = function () { // return typeof $scope.Dashboard.Policy.AccountDetails.ResidentialAddress !== 'undefined' && // $scope.Dashboard.Policy.AccountDetails.ResidentialAddress !== null && // $scope.Dashboard.Policy.AccountDetails.ResidentialAddress.Address1 !== '' //}; $scope.DashboardPost = function (url, data, paramObj) { if ($scope.Dashboard.Policy.ReferenceNumber) { url = "/dashboard/" + encodeURIComponent($scope.Dashboard.Policy.ReferenceNumber.match(/^[^\|]+/)[0]) + '/' + url; } else if ($scope.Dashboard.IsGuest) { url = "/dashboard/guest/" + url; } else { url = "/dashboard/" + url; } //Goes through and adds additional parameters to the url if (paramObj) { url += "?"; var count = 0; for (var x in paramObj) { if (count++ > 0) url += "&"; url += encodeURIComponent(x) + "=" + encodeURIComponent(paramObj[x]) } } //do the http call return $http({ method: 'POST', url: url, data: data }); }; // Household Member stuff $scope.busyDelete = false; var RemoveDialog = function (ev) { var template = Helpers.dialog('Confirm'); return $mdDialog.show({ clickOutsideToClose: true, disableParentScroll: false, scope: $scope, preserveScope: true, targetEvent: ev, template: template, controller: 'DashboardProfile' }); }; $scope.deleteHH = function deleteHH(person, ev) { if (!$scope.busyDelete) { $scope.PersonalNumber = person.PersonNumber; $scope.ReferenceNumber = $scope.Dashboard.Policy.ReferenceNumber; $scope.portableList = person.PortablePossessions; $scope.vehicles = person.Vehicles; $scope.isRegularDriver = person.IsRegularDriver; //show the confirm dialog RemoveDialog(ev); } }; $scope.updateHH = function (person) { if (!$scope.busyDelete) { var amendmentType = 'regularDriver'; if (!person.IsRegularDriver) amendmentType = 'householdMember' window.location = "/quote/?quoteType=amendment&amendmentType=" + amendmentType + "&amendmentMode=edit&referenceNumber=" + $scope.Dashboard.Policy.ReferenceNumber + "&sequenceNumber=" + person.PersonNumber; } }; $scope.acceptRemove = function (choice) { $scope.busyDelete = false; var reassign = false; var amendmentType = ''; if ($scope.isRegularDriver) amendmentType = 'regularDriver'; else amendmentType = 'householdMember'; if (($scope.portableList && $scope.portableList.length) <= 0 && ($scope.vehicles && $scope.vehicles.length <= 0)) { $scope.busyDelete = true; $http({ method: 'POST', url: "/dashboard/" + $scope.Dashboard.Policy.PolicyNumber + "/DashboardHouseholdMembers/DeleteHH", data: { ReferenceNumber: $scope.ReferenceNumber, PersonalNumber: $scope.PersonalNumber, PolicyNumber: $scope.Dashboard.Policy.PolicyNumber } }).then(function (results) { // window.location = "/dashboard/" + $scope.Dashboard.Policy.PolicyNumber + "/householdmembers"; window.location.reload(true); }); } else { var url = "/quote/?quoteType=amendment&amendmentType=" + amendmentType + "&amendmentMode=delete&sequenceNumber=" + $scope.PersonalNumber + "&referenceNumber=" + $scope.ReferenceNumber; if (choice === 'reassign') url += "&reassign=true"; window.location = url; } $mdDialog.hide(); }; $scope.cancelRemove = function () { $mdDialog.hide(); }; }]); });