private async Task <User> CreateUserAsync(AddUserViewMadel model) { var user = new User { Address = model.Address, Document = model.Document, FirstName = model.FirstName, LastName = model.LastName, Email = model.username, UserName = model.username, PhoneNumber = model.PhoneNumer }; var result = await _userHelper.AddUserAsync(user, model.Password); if (result.Succeeded) { user = await _userHelper.GetUserByEmailAsync(model.username); await _userHelper.AdduserToRoleAsync(user, "Owner"); return(user); } return(null); }
public async Task <User> AddUser(AddUserViewMadel view, string role) { var user = new User { Address = view.Address, Document = view.Document, Email = view.username, FirstName = view.FirstName, LastName = view.LastName, PhoneNumber = view.PhoneNumer, UserName = view.username }; var result = await AddUserAsync(user, view.Password); if (result != IdentityResult.Success) { return(null); } var newUser = await GetUserByEmailAsync(view.username); await AdduserToRoleAsync(newUser, role); return(newUser); }
public IActionResult Create() { var view = new AddUserViewMadel { RoleId = 2 }; return(View(view)); }
public IActionResult Register() { var model = new AddUserViewMadel { Roles = _combosHelper.GetComboRoles() }; return(View(model)); }
public async Task <IActionResult> Register(AddUserViewMadel model) { if (ModelState.IsValid) { var role = "Owner"; if (model.RoleId == 1) { role = "Lessee"; } var user = await _userHelper.AddUser(model, role); if (user == null) { ModelState.AddModelError(string.Empty, "This email is already used."); return(View(model)); } if (model.RoleId == 1) { var lessee = new Lesse { Contracts = new List <Contract>(), User = user }; _dataContext.Lesses.Add(lessee); } else { var owner = new Owner { User = user, Contracts = new List <Contract>(), Properties = new List <Property>() }; _dataContext.Owners.Add(owner); } await _dataContext.SaveChangesAsync(); var loginviewModel = new LoginViewModel { Password = model.Password, RememberMe = false, Username = model.username }; var result2 = await _userHelper.LoginAsync(loginviewModel); if (result2.Succeeded) { return(RedirectToAction("Index", "Home")); } } model.Roles = _combosHelper.GetComboRoles(); return(View(model)); }
public async Task <IActionResult> Create(AddUserViewMadel model) { if (ModelState.IsValid) { var user = await CreateUserAsync(model); if (user != null) { var owner = new Owner { Contracts = new List <Contract>(), Properties = new List <Property>(), User = user }; _dataContext.Owners.Add(owner); await _dataContext.SaveChangesAsync(); return(RedirectToAction("Index")); } ModelState.AddModelError(string.Empty, "User wiht this email already exists."); } return(View(model)); }