예제 #1
0
        public ActionResult Add(UserAddDTO dto)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new AjaxResult
                {
                    Status = "error",
                    ErrorMsg = MVCHelper.GetValidMsg(ModelState)
                }));
            }

            var data = userService.AddUser(dto);

            if (data > 0)
            {
                return(Json(new AjaxResult {
                    Status = "ok"
                }));
            }
            else
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "添加失败!"
                }));
            }
        }
예제 #2
0
        public ActionResult Add([FromBody] UserAddDTO userDTO)
        {
            if (ModelState.IsValid)
            {
                ApplicationUser applicationUser = new ApplicationUser()
                {
                    FullName    = userDTO.Name,
                    Email       = userDTO.Email,
                    UserName    = userDTO.Email,
                    PhoneNumber = userDTO.PhoneNumber
                };

                var result = _userRepository.Add(applicationUser, userDTO.Password);

                if (!result.Succeeded)
                {
                    List <string> errors = new List <string>();

                    foreach (var error in result.Errors)
                    {
                        errors.Add(error.Description);
                    }

                    return(UnprocessableEntity(errors));
                }
                else
                {
                    return(Ok(applicationUser));
                }
            }
            else
            {
                return(UnprocessableEntity(ModelState));
            }
        }
예제 #3
0
 public ActionResult Create(UserAddDTO request)
 {
     LoadData();
     try
     {
         string passwordValue = request.Password;
         request.Password = passwordService.HashPassword(passwordValue);
         addCommand.Execute(request);
         return(RedirectToAction(nameof(Index)));
     }
     catch (EntityAlreadyExistsException e)
     {
         TempData["error"] = e.Message;
         return(View());
     }
     catch (EntityNotFoundException e)
     {
         TempData["error"] = e.Message;
         return(View());
     }
     catch (Exception)
     {
         TempData["error"] = "Please fill up all field in this form.";
         return(View());
     }
 }
예제 #4
0
 public int AddUser(UserAddDTO dto)
 {
     using (MyDbContext ctx = new MyDbContext())
     {
         BaseService <UserEntity> bs = new BaseService <UserEntity>(ctx);
         bool exists = bs.GetAll().Any(e => e.UserName == dto.UserName);
         if (exists)
         {
             throw new ArgumentException("用户名已经存在" + dto.UserName);
         }
         UserEntity ef = new UserEntity();
         ef.UserName = dto.UserName;
         ef.TrueName = dto.TrueName;
         ef.CardId   = dto.CardId;
         string Salt = CommonHelper.CreateVerifyCode(5);
         ef.PasswordSalt   = Salt;
         ef.PasswordHash   = CommonHelper.CalcMD5(Salt + dto.PassWord);
         ef.Sex            = dto.Sex;
         ef.BirthDay       = dto.BirthDay;
         ef.EnglishLevel   = dto.EnglishLevel;
         ef.Email          = dto.Email;
         ef.Contact        = dto.Contact;
         ef.CreateDateTime = DateTime.Now;
         ef.State          = 1;
         ctx.Users.Add(ef);
         ctx.SaveChanges();
         return(ef.Id);
     }
 }
예제 #5
0
        public IActionResult Post([FromBody] UserAddDTO user)
        {
            try
            {
                if (_userClaimsPrincipal.IsAdmin(HttpContext?.User))
                {
                    if (user == null)
                    {
                        return(BadRequest(new ResponseVM("User object is not filled correct")));
                    }

                    if (!ModelState.IsValid)
                    {
                        return(BadRequest(new ResponseVM("Invalid model object")));
                    }

                    int userId = _repoWrapper.User.CreateUserAsync(new User(), user).Result;
                    _repoWrapper.Save();

                    return(CreatedAtRoute("UserById", new { id = userId }, new { id = userId }));
                }
                return(Forbid());
            }
            catch (Exception ex)
            {
                _logger.LogError($"Something went wrong inside Createuser action: {ex.Message}");
                return(StatusCode(500, new ResponseVM("Internal server error")));
            }
        }
예제 #6
0
        public async Task <int> CreateUserAsync(User dbUser, UserAddDTO user)
        {
            Create(dbUser.MapForAdd(user));
            await SaveAsync();

            return(dbUser.Id);
        }
예제 #7
0
        public async Task <UsersDTO> Post(UserAddDTO userAddDTO)
        {
            User user = _mapper.Map <User>(userAddDTO);

            user.CreatedDate = DateTime.Now;
            var response = await _user.Add(user);

            return(_mapper.Map <UsersDTO>(await _user.AddedOrUpdatedUser(response.UserId)));
        }
예제 #8
0
 public static User MapForAdd(this User dbUser, UserAddDTO user)
 {
     dbUser.Name     = user.Name;
     dbUser.Family   = user.Family;
     dbUser.UserName = user.UserName;
     dbUser.Email    = user.Email;
     dbUser.Password = user.Password;
     return(dbUser);
 }
예제 #9
0
        public async Task <IActionResult> Add(UserAddDTO userAddDTO)
        {
            if (ModelState.IsValid)
            {
                var uploadedImageDTOResult = await _imageHelper.UploadedUserImage(userAddDTO.UserName, userAddDTO.PictureFile).ConfigureAwait(false);;
                userAddDTO.Picture = uploadedImageDTOResult.ResultStatus == ResultStatus.Success ? uploadedImageDTOResult.Data.FullName : "userImages/default.png";

                var user   = _mapper.Map <User>(userAddDTO);
                var result = await _userManager.CreateAsync(user, userAddDTO.Password).ConfigureAwait(false);;

                if (result.Succeeded)
                {
                    var userAddAjaxModel = JsonSerializer.Serialize(new UserAddAjaxViewModel
                    {
                        UserDTO = new UserDTO
                        {
                            ResultStatus = ResultStatus.Success,
                            Message      = $"{user.UserName} adlı kullanıcı adına sahip, kullanıcı başarıyla eklenmiştir.",
                            User         = user
                        },
                        UserAddPartial = await this.RenderViewToStringAsync("_UserAddPartial", userAddDTO)
                    });

                    return(Json(userAddAjaxModel));
                }

                else
                {
                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError("", error.Description);
                    }

                    var userAddAjaxErrorModel = JsonSerializer.Serialize(new UserAddAjaxViewModel
                    {
                        UserAddDTO     = userAddDTO,
                        UserAddPartial = await this.RenderViewToStringAsync("_UserAddPartial", userAddDTO)
                    });

                    return(Json(userAddAjaxErrorModel));
                }
            }

            var userAddAjaxModelStateError = JsonSerializer.Serialize(new UserAddAjaxViewModel
            {
                UserAddDTO     = userAddDTO,
                UserAddPartial = await this.RenderViewToStringAsync("_UserAddPartial", userAddDTO)
            });

            return(Json(userAddAjaxModelStateError));
        }
예제 #10
0
        public ProcessResult RegisterUser(UserAddDTO user)
        {
            var dalResult = _unitOfWork.User.Add(new UserEntity(
                                                     email: user.Email,
                                                     firstname: user.FirstName,
                                                     lastName: user.LastName,
                                                     userName: user.UserName
                                                     ));

            if (!dalResult.State)
            {
                return(dalResult);
            }
            var saveRes = _unitOfWork.SaveChanges();

            return(saveRes > 0 ? (ProcessResult)_unitOfWork.CreateResult().SuccessAddResult() : _unitOfWork.CreateResult().FailAddResult());
        }
예제 #11
0
        public async Task <User> AddFromDTOAsync(UserAddDTO dto)
        {
            if (await this.IsEmailExistsAsync(dto.Email))
            {
                throw new Exception($"The mail ({dto.Email}) is already in use.");
            }

            var user = new User()
            {
                Name       = dto.Name,
                Password   = BC.HashPassword(dto.Password),
                Email      = dto.Email,
                Department = await _departmentRepository.Find(x => x.Name == dto.DepartmentName).FirstAsync(),
            };

            return(await this.Add(user));
        }
예제 #12
0
        public ActionResult Edit(UserAddDTO dto)
        {
            var data = userService.Edit(dto);

            if (data > 0)
            {
                return(Json(new AjaxResult {
                    Status = "ok"
                }));
            }
            else
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "修改失败!"
                }));
            }
        }
예제 #13
0
        public HttpResponseMessage UserProspectAdd(UserAddDTO userDto)
        {
            try
            {
                var personAddress = new AddUserProspectCommand()
                {
                    IntegrationCode  = Guid.NewGuid(),
                    Name             = userDto.Name,
                    Email            = userDto.Email,
                    SecundaryEmail   = userDto.SecundaryEmail,
                    SmartPhoneNumber = userDto.SmartPhoneNumber,
                    //PersonId = Convert.ToInt32(json["PersonId"]),
                    IsDefaultUser        = true,
                    UserProfileId        = (byte)GeneralEnumerators.EnumUserProfile.Administrador,
                    UserStatusId         = (byte)GeneralEnumerators.EnumUserStatus.Ativo,
                    AuthenticationModeId = 1,//Convert.ToInt32(json["AuthenticationModeId"]),
                    CreationDateUTC      = DateTime.UtcNow,
                    ValidationDateUTC    = DateTime.UtcNow,
                    //ValidationToken = json["ValidationToken"],
                    EnrollmentIP     = userDto.EnrollmentIP,
                    ValidationIP     = userDto.ValidationIP,
                    ServerInstanceId = 1,//Convert.ToInt16(json["ServerInstanceId"]),
                    //listFileTemp = _listFileTemp,

                    CreatedBy  = userDto.CreatedBy,
                    LanguageId = userDto.LanguageId,
                    //FormFillTime = 1,//string.IsNullOrEmpty(json["FormFillTime"]) ? null : Convert.ToInt16(json["FormFillTime"]),
                    //SecurityCheckNecessary = string.IsNullOrEmpty(json["SecurityCheckNecessary"]) ? null : Convert.ToBoolean(json["SecurityCheckNecessary"]),
                    IsPerpetual         = true,//string.IsNullOrEmpty(json["IsPerpetual"]) ? null : Convert.ToBoolean(json["IsPerpetual"]),
                    LoginPassword       = CustomConfiguration.DefaultPasswordNewUser,
                    PersonIntegrationId = userDto.PersonIntegrationId
                };

                this.bus.Send(personAddress);


                return(Request.CreateResponse(HttpStatusCode.OK, new { OK = "OK" }));
            }
            catch (System.Exception ex)
            {
                LogManager.Error(string.Format("Add Image Address Error:{0}", ex));
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex));
            }
        }
예제 #14
0
        public async Task <IActionResult> Add(UserAddDTO dto)
        {
            try
            {
                await _userRepository.AddFromDTOAsync(dto);

                await _mailService.SendMail(
                    "Hi! You have been added into our meeting service", "Welcome! Feel free to check out website on http://localhost:8080",
                    MailType.NewUser,
                    new string[] { dto.Email }
                    );

                return(Ok());
            }
            catch (System.Exception ex)
            {
                return(Problem($"Message: {ex.Message}\n InnerException: {ex.InnerException}"));
            }
        }
        public ActionResult Register(UserAddDTO dto)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new AjaxResult
                {
                    Status = "error",
                    ErrorMsg = MVCHelper.GetValidMsg(ModelState)
                }));
            }
            var yzm = (string)TempData["verifyCodeHome"];

            if (dto.Verify != yzm)
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "验证码错误!"
                }));
            }

            var isOk = userService.IsExist(dto.UserName);

            if (isOk)
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "账号已存在!"
                }));
            }

            var data = userService.AddUser(dto);

            if (data > 0)
            {
                return(Json(new AjaxResult {
                    Status = "ok"
                }));
            }
            else
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "添加失败!"
                }));
            }
        }
 public async Task <IActionResult> Post(UserAddDTO userAddDTO)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(BadRequest(Messages.InvalidModel));
         }
         userAddDTO.Password = _util.HashPassword(userAddDTO.Password);
         if ((await _user.CheckUserExist(userAddDTO.UserName, userAddDTO.Password, 0)))
         {
             return(BadRequest(Messages.UserExist));
         }
         return(Ok(await _user.Post(userAddDTO)));
     }
     catch (Exception ex)
     {
         return(BadRequest(Messages.GeneralError));
     }
 }
예제 #17
0
        public IActionResult Post([FromBody] UserAddDTO user)
        {
            try
            {
                string passwordValue = user.Password;
                user.Password = passwordService.HashPassword(passwordValue);

                addCommand.Execute(user);
                return(StatusCode(201));
            } catch (EntityAlreadyExistsException e)
            {
                return(Conflict(new ErrorMessage {
                    Message = e.Message
                }));
            }
            catch (EntityNotFoundException e)
            {
                return(NotFound(new ErrorMessage {
                    Message = e.Message
                }));
            }
        }
예제 #18
0
        public void AddUser()
        {
            // Setup
            var expectedUser = new ApplicationUser();

            var newUser = new ApplicationUser()
            {
                FullName     = "Eloisa Caetano de Oliveira",
                Email        = "*****@*****.**",
                UserName     = "******",
                PhoneNumber  = "123456",
                PasswordHash = "Eloisa@123"
            };

            var newUserDTO = new UserAddDTO()
            {
                Name                 = newUser.FullName,
                PhoneNumber          = newUser.PhoneNumber,
                Email                = newUser.Email,
                Password             = newUser.PasswordHash,
                PasswordConfirmation = newUser.PasswordHash
            };

            mockUserRepository.Setup(x => x.Add(newUser, newUser.PasswordHash)).Returns(new IdentityResult());

            // Injeção
            var userController = new UserController(mockUserRepository.Object, mockTokenRepository.Object);

            // Action
            var result = userController.Add(newUserDTO);

            // Assert
            var viewResult = Assert.IsType <ViewResult>(result);

            var model = Assert.IsAssignableFrom <IEnumerable <ApplicationUser> >(viewResult.ViewData.Model);

            Assert.Equal(expectedUser, model.FirstOrDefault());
        }
예제 #19
0
        public void Execute(UserAddDTO request)
        {
            if (Context.Users.Any(u => u.Username == request.Username))
            {
                throw new EntityAlreadyExistsException("Username", request.Username);
            }
            ;

            if (Context.Users.Any(u => u.Email == request.Email))
            {
                throw new EntityAlreadyExistsException("Email", request.Email);
            }
            ;

            var role = Context.Roles.FirstOrDefault(r => r.Id == request.Role && r.DeletedAt == null);

            if (role == null)
            {
                throw new EntityNotFoundException("Role", request.Role);
            }

            User user = new User
            {
                Role = role
            };

            Mapper.Automap(request, user);

            Context.Users.Add(user);
            Context.SaveChanges();

            emailSender.Subject = "Successfull registration!";
            emailSender.Body    = "You have been sucessfully registered, welcome!";
            emailSender.ToEmail = user.Email;
            // emailSender.Send();
        }
예제 #20
0
 public int Edit(UserAddDTO dto)
 {
     using (MyDbContext ctx = new MyDbContext())
     {
         BaseService <UserEntity> bs = new BaseService <UserEntity>(ctx);
         var data = bs.GetById(dto.Id);
         if (data == null)
         {
             throw new ArgumentException("找不到该学生" + dto.Id);
         }
         data.TrueName     = dto.TrueName;
         data.Sex          = dto.Sex;
         data.BirthDay     = dto.BirthDay;
         data.CardId       = dto.CardId;
         data.Contact      = dto.Contact;
         data.Email        = dto.Email;
         data.EnglishLevel = dto.EnglishLevel;
         data.ExamScore    = dto.ExamScore;
         data.PasswordHash = CommonHelper.CalcMD5(data.PasswordSalt + dto.PassWord);
         data.State        = dto.State;
         ctx.SaveChanges();
         return(data.Id);
     }
 }
예제 #21
0
        public ProcessResult Put([FromBody] UserAddDTO user)
        {
            var result = business.User.RegisterUser(user);

            return(result);
        }