public ActionResult Post([FromBody] CreateUserModel model) { try { if (this.userService.IsUserExists(model.EmailId)) { throw new UserAlreadyExistsException($"User with emailid {model.EmailId} already exists."); } var newUser = new Models.Domain.User(); newUser.FirstName = model.FirstName; newUser.LastName = model.LastName; newUser.EmailID = model.EmailId; newUser.DepartmentID = model.DepartmentId.Value; newUser.DesingationID = model.DesignationId.Value; newUser.DistrictID = model.DistrictId.Value; newUser.MobileNumber = model.MobileNumber; newUser.IsActive = true; newUser.UserType = (UserType)Enum.Parse(typeof(UserType), model.UserType, true); newUser = this.userService.CreateUser(newUser, model.Password); var userDetails = new UserDetails(); userDetails.Id = newUser.UserID; userDetails.EmailId = newUser.EmailID; userDetails.FirstName = newUser.FirstName; userDetails.LastName = newUser.LastName; userDetails.IsAdmin = newUser.UserType == UserType.Admin; userDetails.IsSuperAdmin = newUser.UserType == UserType.SuperAdmin; userDetails.UserType = model.UserType; return(new JsonResult(userDetails)); } catch (UserAlreadyExistsException ex) { logger.LogWarning(ex.Message); this.Response.StatusCode = (int)HttpStatusCode.BadRequest; return(new JsonResult(new { Error = new { Message = ex.Message } })); } catch (NotFoundException ex) { this.Response.StatusCode = (int)HttpStatusCode.NotFound; return(new JsonResult(new { Error = new { Message = ex.Message } })); } catch (Exception ex) { logger.LogError(ex, "Error while creating user."); this.Response.StatusCode = (int)HttpStatusCode.InternalServerError; return(new JsonResult(new { Error = new { Message = "An unhandled error occured during request processing." } })); } }
public ActionResult Create(UserViewModel uvm) { User u = new Models.Domain.User(); MapToUser(u, uvm); userRepo.AddUser(u); userRepo.SaveChanges(); TempData["message"] = $"User {u.Username} was created"; return(RedirectToAction("Index")); }
public async Task <IActionResult> CheckOrCreate([FromForm] string phone) { //ToDo:检查手机号码的格式 var user = _userContext.Users.SingleOrDefault(q => q.Phone == phone); if (user == null) { user = new Models.Domain.User { Phone = phone }; _userContext.Users.Add(user); await _userContext.SaveChangesAsync(); } return(Ok(new { UserId = user.Id, user.Name, user.Company, user.Avatar, user.Title })); }