public async Task <ActionResult> RegisterEmployeeUser(RegisterEmployeeViewModel model) { if (ModelState.IsValid) { LogicLayer.UserManager usrMgr = new LogicLayer.UserManager(); try { if (usrMgr.FindUser(model.Email)) { return(RedirectToAction("Register", "Account")); } else { var employee = new DataTransferObjects.PetUniverseUser { FirstName = model.GivenName, LastName = model.FamilyName, Email = model.Email, PhoneNumber = model.PhoneNumber, Address1 = model.AddressLine1, Address2 = model.AddressLine2, City = model.City, State = model.State, ZipCode = model.ZipCode }; if (usrMgr.CreateNewUser(employee)) { var employeeID = usrMgr.getUserByEmail(model.Email).PUUserID; var user = new ApplicationUser { EmployeeID = employeeID, GivenName = model.GivenName, FamilyName = model.FamilyName, UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, "newuser"); if (result.Succeeded) { return(RedirectToAction("Index", "Admin")); } AddErrors(result); } } } catch (Exception) { return(View(model)); } } return(View(model)); }
/// <summary> /// Created by Michael Takrama /// 04/15/17 /// /// Logic to Apply for Commercial Account - MVC /// </summary> /// <param name="user"></param> /// <returns></returns> public bool ApplyForCommercialAccount(RegisterCommercialViewModel user) { // App User Creation var userManager = new UserManager(); try { var createdUserResult = userManager.CreateNewUser(user, user.Password, user.ConfirmPassword); if ("Created" != createdUserResult) { throw new ApplicationException(createdUserResult); } } catch (Exception ex) { Debug.WriteLine("CustomerManager-ApplyForCommercialAccount: " + ex.Message); throw; } // Commercial Customer Creation User userData = null; try { userData = userManager.RetrieveUserByUserName(user.UserName); var cm = new CommercialCustomer { UserId = userData.UserId, FederalTaxId = int.Parse(user.FederalTaxID), ApprovedBy = 0, Active = true }; if (CreateCommercialAccount(cm)) { return(true); } //Commercial Customer Creation failed - delete created user if (1 == UserAccessor.DeleteUser(userData.UserId)) { throw new ApplicationException("Fatal Error Occured"); } } catch (SqlException ex) { if (userData != null) { UserAccessor.DeleteUser(userData.UserId); } Debug.WriteLine(ex.Message); throw new ApplicationException("Fatal Error Occured"); } catch (Exception e) { Debug.WriteLine(e); throw; } return(false); }