consumerportal
Version:
mydna Custimised for you
90 lines (78 loc) • 2.7 kB
text/typescript
/// <reference path="../../includes.ts" />
module acctMgmtPersonalDetailsCtrl {
import IUserService = services.IUserService;
import IUser = services.IUser;
interface IAcctMgmtPersonalDetailsController{
savePersonalDetails(): any;
}
interface IAcctMgmtPersonalDetailsScope extends angular.IScope{
myForm : angular.IFormController
}
class AcctMgmtPersonalDetailsController implements IAcctMgmtPersonalDetailsController{
static $inject = [
'$scope',
'appMemorySrvc',
'mydnaApis',
'errorHandlerSrvc',
'apiSrvc',
'scrollerSrvc',
'$location',
'UtilitySrvc',
'userService',
'$filter',
'user'
];
showErrors: any = false; // todo. why is this not boolean?
frm: any;
savedSuccessfully: boolean = false;
formattedDate: any = '';
constructor(
private $scope : IAcctMgmtPersonalDetailsScope,
private appMemorySrvc: appMemorySrvc.IAppMemoryService,
private mydnaApis: ImyDNAApis,
private errorHandlerSrvc: errorHandlerSrvc.IErrorHandlerService,
private apiSrvc: apiSrvc.IApiService,
private scrollerSrvc: scrollerSrvc.IScrollerService,
private $location: angular.ILocationService,
private UtilitySrvc:UtilitySrvc.IUtilityService,
private userService: services.IUserService,
private $filter: angular.IFilterService,
private UserInfo: IUser
){
this.frm = {
FirstName: UserInfo.FirstName,
MiddleName: UserInfo.MiddleName,
LastName: UserInfo.LastName,
dob: UserInfo.dob,
Gender: UserInfo.Gender
}
}
savePersonalDetails(){
this.scrollerSrvc.TopScroll();
this.showErrors = false;
if(this.$scope.myForm.$valid) {
this.$scope.$emit("disable-on-save-on");
this.apiSrvc.post_request(
this.mydnaApis.PersonalDetails
, this.frm).then(data => {
this.savedSuccessfully = true;
this.UserInfo.FirstName = this.frm.FirstName;
this.UserInfo.MiddleName = this.frm.MiddleName;
this.UserInfo.LastName = this.frm.LastName;
this.UserInfo.dob = this.frm.dob;
this.UserInfo.Gender = this.frm.Gender;
this.appMemorySrvc.setUserInfo(this.UserInfo);
this.$scope.$emit("disable-on-save-off");
}, err => {
this.$scope.$emit("disable-on-save-off");
this.errorHandlerSrvc.errorHandler(err, 'debug', '');
});
}
else {
this.showErrors = true;
}
this.$scope.myForm.$setPristine();
}
}
angular.module('app').controller('acctMgmtPersonalDetailsCtrl', AcctMgmtPersonalDetailsController);
}