Exemplo n.º 1
0
        public async Task <HttpResponseMessage> UpdateAsync(Guid id, UpdateUserProfile request)
        {
            var user = await this.manager.FindByIdAsync(id);

            if (user == null)
            {
                return(this.Request.CreateResponse(HttpStatusCode.NotFound));
            }
            user.UserName  = request.UserName;
            user.FirstName = request.FirstName;
            user.LastName  = request.LastName;
            var result = await this.manager.UpdateAsync(user);

            if (user.Email != request.Email)
            {
                if (!result.Succeeded)
                {
                    return(this.Request.CreateResponse(HttpStatusCode.BadRequest, result.Errors));
                }
                result = await this.manager.SetEmailAsync(user.Id, request.Email);
            }
            return(result.Succeeded
                ? this.Request.CreateResponse(HttpStatusCode.OK)
                : this.Request.CreateResponse(HttpStatusCode.BadRequest, result.Errors));
        }
Exemplo n.º 2
0
        public IHttpActionResult UpdateUserProfile(UpdateUserProfile user)
        {
            var result = false;

            Guard.NotNull(user, "User is Null.,");
            if (!Utilities.IsValidEmail(user.Email))
            {
                throw new Exception("Invalid Email Address.,");
            }
            Guard.NotNullOrEmpty(user.MobileNo, "Invalid mobile number.,");

            var isExists = _serviceFactory.CreateUserService.GetUserById(user.Id);

            if (isExists == null)
            {
                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.Conflict, "User Not Exists.,"));
            }

            isExists.UserTypeId = user.UserTypeId;
            isExists.FullName   = user.FullName;
            isExists.Email      = user.Email;
            isExists.MobileNo   = user.MobileNo;
            isExists.CountryId  = user.CountryId;
            isExists.Gender     = user.Gender;
            result = _serviceFactory.CreateUserService.InsertOrUpdate(isExists) > 0 ? true : false;
            if (!result)
            {
                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.Conflict, "Unable to update your profile"));
            }
            return(Ok(result));
        }
Exemplo n.º 3
0
        public async Task <IResponseDTO> UpdateUserProfile([ModelBinder(BinderType = typeof(JsonModelBinder))] UpdateUserProfile options)
        {
            var file = Request.Form?.Files?.Count > 0 ? Request.Form?.Files[0] : null;

            _response = await _accountService.UpdateUserProfile(LoggedInUserId, options, file);

            return(_response);
        }
Exemplo n.º 4
0
        public async Task <IResponseDTO> UpdateUserProfile(int id, UpdateUserProfile options, IFormFile file)
        {
            try
            {
                var appUser = await _userManager.FindByIdAsync(id.ToString());

                if (appUser == null)
                {
                    _response.Errors.Add("User id is not exist.");
                    _response.IsPassed = false;
                    return(_response);
                }
                else if (appUser.Status == UserStatusEnum.Locked.ToString())
                {
                    _response.Errors.Add("Your Account is locked. Please contact your administration");
                    _response.IsPassed = false;
                    return(_response);
                }
                else if (appUser.Status == UserStatusEnum.NotActive.ToString())
                {
                    _response.Errors.Add("Your Account is disabled. Please contact your administration");
                    _response.IsPassed = false;
                    return(_response);
                }

                // Update user info
                appUser.FirstName = options.FirstName;
                appUser.LastName  = options.LastName;
                appUser.Address   = options.Address;
                appUser.UpdatedBy = id;
                appUser.UpdatedOn = DateTime.Now;

                var path = $"\\Uploads\\Users\\User_{id}";
                if (file != null)
                {
                    // Update User image path
                    appUser.PersonalImagePath = $"{path}\\{file?.FileName}";
                }

                // Update DB
                IdentityResult result = await _userManager.UpdateAsync(appUser);

                if (!result.Succeeded)
                {
                    _response.IsPassed = false;
                    _response.Errors   = result.Errors.Select(x => x.Description).ToList();
                    return(_response);
                }

                // Upload the documents
                if (file != null)
                {
                    await _uploadFilesService.UploadFile(path, file);
                }

                _response.IsPassed = true;
                _response.Message  = "Your profile is updated successfully";
            }
            catch (Exception ex)
            {
                _response.Data     = null;
                _response.IsPassed = false;
                _response.Errors.Add($"Error: {ex.Message}");
            }

            return(_response);
        }