public void SetUserCacInfo(CaC cac) { if (string.IsNullOrEmpty(cac.FirstName) || string.IsNullOrEmpty(cac.LastName) || cac.DodId < DOD_ID.MIN || cac.DodId > DOD_ID.MAX) { throw new ArgumentNullException(nameof(cac), "Invalid information"); } var middleInitial = (String.IsNullOrEmpty(cac.MiddleName) ? "" : cac.MiddleName[0].ToString()); this.Name = new NameVO(cac.FirstName, cac.LastName, middleInitial); this.DodId = cac.DodId; }
public async Task <User> Register(CaC cac) { EntityBuildDirector builder = new EntityBuildDirector(new AccountBuilder()); var account = (Account)builder.BuildEntity(); builder.SetBuilder(new UserBuilder()); var user = (User)builder.BuildEntity(); user.SetAccount(account); user.SetUserCacInfo(cac); await _userRepo.Insert(user); await _userRepo.SaveAsync(); _userRepo.LoadObjectProperties(user); return(user); }