public HttpResponseMessage Post([FromBody] CreateEmpUserRequestDTO userEntity) { try { if (ModelState.IsValid) { userEntity.UserType = "EMP"; var res = _userServices.Register(userEntity); if (res.IsSuccess) { return(Request.CreateResponse(HttpStatusCode.OK, res)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, res)); } } else { // the code below should probably be refactored into a GetModelErrors // method on your BaseApiController or something like that var errors = new List <string>(); foreach (var state in ModelState) { foreach (var error in state.Value.Errors) { errors.Add(error.ErrorMessage); } } return(Request.CreateResponse(HttpStatusCode.BadRequest, new CreateUserResponseDTO { IsSuccess = false, Message = errors })); } } catch (Exception ex) { throw new ApiDataException(1000, "Something wrong, Try Again!", HttpStatusCode.InternalServerError); } }
public CreateUserResponseDTO Register(CreateEmpUserRequestDTO regDetail) { CreateUserResponseDTO response = new CreateUserResponseDTO(); try { User user = new User(); user.Username = regDetail.Username; user.FirstName = regDetail.FirstName; user.LastName = regDetail.LastName; user.EmailId = regDetail.EmailId; user.CreatedBy = regDetail.CreatedBy; user.ModifiedBy = regDetail.CreatedBy; user.ModifiedOn = DateTime.Now; user.CreatedOn = DateTime.Now; user.RoleId = regDetail.RoleId; user.CompanyId = regDetail.CompanyId; user.IsActive = true; user.UserType = regDetail.UserType; user.RefId = regDetail.RefId; Secures SecTemp = new Secures(); user.PasswordKey = SecTemp.AuthKey(32); user.PasswordHash = SecTemp.Encrytp_String(regDetail.Password, user.PasswordKey); User usernameCheck = new User(); User emailCheck = new User(); usernameCheck = _unitOfWork.UserRepository.Get(u => u.Username == regDetail.Username); emailCheck = _unitOfWork.UserRepository.Get(u => u.EmailId == regDetail.EmailId); if (usernameCheck == null && emailCheck == null) { var res = _unitOfWork.UserRepository.Insert(user, true); _unitOfWork.Save(); if (res != null) { User testUser = new User(); testUser = _unitOfWork.UserRepository.Get(u => u.Username == regDetail.Username && u.EmailId == regDetail.EmailId); if (testUser != null) { response.IsSuccess = true; response.Message.Add("User created Successfully!"); } else { response.IsSuccess = false; response.Message.Add("Failed Try again after sometime"); } //SecTemp.Send_Register_Mail(testUser.email, regDetail.Password, testUser.user_tblname, testUser.UserRole.user_role); } else { response.IsSuccess = false; response.Message.Add("Failed Try again after sometime"); } } else { if (usernameCheck != null) { response.IsSuccess = false; response.Message.Add("Username already Exist"); } if (emailCheck != null) { response.IsSuccess = false; response.Message.Add("Email already Exist"); } } } catch (Exception ex) { throw ex; } return(response); }