public IActionResult AddExistingExternalUserToStep(AddResponsibleUserToStepDTO addExternalUserToStep) { Response.StatusCode = StatusCodes.Status202Accepted; if (string.IsNullOrEmpty(addExternalUserToStep.Step)) { Response.StatusCode = StatusCodes.Status400BadRequest; return(PartialView("~/Views/User/Partials/_AddNewUser.cshtml")); } var existingUser = addExternalUserToStep.ExistingResponsibleUser; if (TryValidateModel(existingUser)) { var result = _planRepository.AddUserToPlanStep(existingUser.Id.Value, addExternalUserToStep.PlanId, addExternalUserToStep.Step); if (result) { Response.StatusCode = StatusCodes.Status201Created; } else { ModelState.AddModelError(string.Empty, sharedResource.userAddExistingExternalUserToStepProblem); } } return(PartialView("~/Views/User/Partials/_AddExistingUser.cshtml")); }
public IActionResult AddNewExternalUserToStep(AddResponsibleUserToStepDTO addExternalUserToStep) { Response.StatusCode = StatusCodes.Status202Accepted; if (string.IsNullOrEmpty(addExternalUserToStep.Step) && addExternalUserToStep.PlanId <= 0) { Response.StatusCode = StatusCodes.Status400BadRequest; return(PartialView("~/Views/User/Partials/_AddNewUser.cshtml")); } var newExternaluser = addExternalUserToStep.NewResponsibleUser; if (TryValidateModel(newExternaluser)) { if (_userRepository.FindByCondition(u => u.Email == newExternaluser.Email).Any()) { ModelState.AddModelError("NewUser.Email", sharedResource.userAddNewExternalUserToStepEmailAlreadyExist); return(PartialView("~/Views/User/Partials/_AddNewUser.cshtml")); } var newUser = new NewUserDTO { Email = newExternaluser.Email, FirstName = newExternaluser.FirstName, LastName = newExternaluser.LastName }; newUser.Password = _userRepository.GeneratePassword(); newUser.Role = Roles.External; var user = _userRepository.AddNew(newUser, HttpContext.GetUserId()); if (user == null) { ModelState.AddModelError(string.Empty, sharedResource.userAddNewExternalUserToStepFailed); return(PartialView("~/Views/User/Partials/_AddNewUser.cshtml")); } if (!_emailService.SendPasswordToUser(newUser.Password, user)) { ModelState.AddModelError(string.Empty, sharedResource.userAddNewExternalUserToStepEmailNotSent); return(PartialView("~/Views/User/Partials/_AddNewUser.cshtml")); } if (!_planRepository.AddUserToPlanStep(user.Id, addExternalUserToStep.PlanId, addExternalUserToStep.Step)) { ModelState.AddModelError(string.Empty, sharedResource.userAddNewExternalUserToStepNotAddedToteam); return(PartialView("~/Views/User/Partials/_AddNewUser.cshtml")); } Response.StatusCode = StatusCodes.Status201Created; } return(PartialView("~/Views/User/Partials/_AddNewUser.cshtml")); }