public async Task <IActionResult> Create([Bind(ATTRIBUTES_TO_BIND)] SystemUserVM UpdateVm) { if (ModelState.IsValid) { var username = UserName.Create(UpdateVm.UserName); var password = Password.Create(UpdateVm.Password); var result = Result.Combine("|", username, password); if (result.IsSuccess) { TempData["javascriptMessage"] = Constants.JAVASCRIPT_SUCCESS_FUNCTION; await _repository.Save(SystemUser.CreateOperational(username.Value, UpdateVm.FullName, password.Value, UpdateVm.IsAdministrator)); return(RedirectToAction("Index")); } else { Array.ForEach(result.Error.Split('|'), x => ModelState.AddModelError(string.Empty, x)); } } return(View(UpdateVm)); }
public async Task <ActionResult> Login([FromBody] SystemUserVM userVM) { if (ModelState.IsValid) { var result = await _signInManager.PasswordSignInAsync(userVM.Email, userVM.Password, false, lockoutOnFailure : false); if (result.Succeeded) { var userManager = _serviceProvider.GetRequiredService <UserManager <SystemUser> >(); var user = await userManager.FindByEmailAsync(userVM.Email); if (user != null) { return(BuildLoginOkResponse(user)); } } else if (result.IsLockedOut) { return(StatusCode(403)); } else { return(Unauthorized()); } } return(BadRequest()); }
public ActionResult Detail(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SystemUserVM detail = db.getUesrDetail((int)id); if (detail == null) { return(HttpNotFound()); } return(View(detail)); }
public ActionResult Index() { string id = Convert.ToString(Session["UserId"]); if (id == null || id == "" || id == "0") { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SystemUserVM detail = db.getUesrDetail(Convert.ToInt32(id)); if (detail == null) { return(HttpNotFound()); } return(View(detail)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SystemUserVM detail = db.getUesrDetail((int)id); if (detail == null) { return(HttpNotFound()); } ViewBag.DepartmentId = new SelectList(ddl.getDepartmentList(), "Id", "Name", detail.DepartmentId); ViewBag.UserTypeId = new SelectList(ddl.getUserTypeList(), "Id", "Name", detail.UserType); return(View(detail)); }
public async Task <IActionResult> ChangePassword([Bind(ATTRIBUTES_TO_BIND)] SystemUserVM UpdateVm) { if (ModelState.IsValid) { var newPassword = Password.Create(UpdateVm.Password); if (newPassword.IsSuccess) { TempData["javascriptMessage"] = string.Format(Constants.JAVASCRIPT_WHIT_MESSAGE_FUNCTION, "Cambio de contraseña Exitoso!!"); var result = await _repository.UpdatePassword(UpdateVm.Id, newPassword.Value); return(result.IsSuccess ? (IActionResult)RedirectToAction("Index") : NotFound(result.Error)); } else { ModelState.AddModelError(string.Empty, newPassword.Error); } } return(View(UpdateVm)); }
public async Task <IActionResult> Register([FromBody] SystemUserVM userVM) { if (ModelState.IsValid) { try { var role = _userRepo.GetRoleByName(userVM.RoleName); if (role == null) { return(BadRequest(new { message = $"Invalid role {userVM.RoleName}" })); } var userManager = _serviceProvider.GetRequiredService <UserManager <SystemUser> >(); var result = await userManager.CreateAsync(new SystemUser { Email = userVM.Email, UserName = userVM.Email }, userVM.Password); if (result.Succeeded) { var user = await userManager.FindByEmailAsync(userVM.Email); result = await userManager.AddToRoleAsync(user, role.Name); if (result.Succeeded) { return(Ok()); } } if (result.Errors != null && result.Errors.Count() > 0) { return(BadRequest(new { message = result.Errors.First().Description })); } } catch (Exception e) { return(StatusCode(500, new { message = e.Message })); } } return(BadRequest()); }