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." } }));
            }
        }
Exemplo n.º 2
0
        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"));
        }
Exemplo n.º 3
0
        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
            }));
        }