Пример #1
0
        public ServiceResult <string> ChangeProfile_Validation(ChangeProfileDto dto)
        {
            var serviceResult = new ServiceResult <string>(true);

            #region validation
            if (string.IsNullOrEmpty(dto.FullName))
            {
                serviceResult.AddError("نام و نام خانوداگی نمی تواند فاقد مقدار باشد");
            }
            if (string.IsNullOrEmpty(dto.PhoneNumber))
            {
                serviceResult.AddError("شماره همراه نمی تواند فاقد مقدار باشد");
            }
            if (!string.IsNullOrEmpty(dto.PhoneNumber) && !dto.PhoneNumber.IsValidIranianMobileNumber())
            {
                serviceResult.AddError("ساختار شماره همراه وارد شده درست نمی باشد");
            }
            if (!string.IsNullOrEmpty(dto.FullName) && dto.FullName.Length > 500)
            {
                serviceResult.AddError("نام و نام خانواگی نمی تواند بیش از 500 کاراکتر را شامل شود".ToPersianNumbers());
            }
            if (!string.IsNullOrEmpty(dto.PhoneNumber) && dto.PhoneNumber.Length > 256)
            {
                serviceResult.AddError("شماره همراه وارد نشده نباید بیش از 256 کارکتر را شامل شود".ToPersianNumbers());
            }
            #endregion

            return(serviceResult);
        }
Пример #2
0
        public IActionResult ChangeProfile([FromBody] ChangeProfileDto dto
                                           , [FromServices] IChangeProfileCommand command
                                           , [FromServices] ChangeProfileValidator validator)
        {
            dto.Id = _actor.Id;
            var result = validator.Validate(dto);

            if (result.IsValid)
            {
                ApplicationUser applicationUser = _mapper.Map <ApplicationUser>(dto);
                _executor.ExecuteCommand(command, applicationUser);
                return(Ok("Application user changed successfully"));
            }

            return(UnprocessableEntity(UnprocessableEntityResponse.Message(result.Errors)));
        }
Пример #3
0
        public ServiceResult <string> ChangeProfile(ChangeProfileDto dto)
        {
            var serviceResult = ChangeProfile_Validation(dto);

            var entity = _context.Users.FirstOrDefault(c => c.Id == dto.Id);

            if (entity == null)
            {
                serviceResult.AddError("کاربری با شناسه ارسالی یافت نشد");
            }

            if (entity.PhoneNumber != dto.PhoneNumber)
            {
                var countPhoneNumber = _context.Users.Where(c => c.PhoneNumber.Equals(dto.PhoneNumber)).Count();
                if (countPhoneNumber != 0)
                {
                    serviceResult.AddError("شماره همراه وارد شده متعلق به شخص دیگری می باشد");
                }
            }

            if (serviceResult.IsSuccess)
            {
                entity.PhoneNumber = dto.PhoneNumber;
                entity.FullName    = dto.FullName;

                if (!string.IsNullOrEmpty(dto.ImageName))
                {
                    serviceResult.Data = entity.ImageName;
                    entity.ImageName   = dto.ImageName;
                }

                _context.Entry(entity).State = EntityState.Modified;
                if (_context.SaveChanges() == 0)
                {
                    serviceResult.AddError("در انجام عملیات خطایی رخ داد");
                }
            }
            else
            {
                serviceResult.Data = entity.ImageName;
            }

            return(serviceResult);
        }
        public async Task <IActionResult> ChangeProfile(ChangeProfileDto model)
        {
            var user = await _userManager.FindByIdAsync(model.Id);

            if (await _userManager.FindByEmailAsync(model.Email) != null)
            {
                return(BadRequest("User with such Email already exists"));
            }

            var updatedUser = _mapper.Map(model, user);

            var result = await _userManager.UpdateAsync(updatedUser);

            if (result.Succeeded)
            {
                return(Ok());
            }

            return(BadRequest("An Error occured during user profile update"));
        }