示例#1
0
 public IActionResult UpdateProfile(UpdateCustomerProfileDto updateProfileData, long userId)
 {
     return(DoWorkAfterValidation(
                () => _accountService.UpdateCustomerProfile(GetCurrentUserId(), updateProfileData, userId).Result
                .Match <IActionResult>(
                    Ok,
                    BadRequest
                    )
                ));
 }
        public async Task <IResult <GenericResponse> > UpdateCustomerProfile(IOption <long> id, UpdateCustomerProfileDto updateProfileData, long requestUserId)
        {
            if (id.IsNone || id.Always() != requestUserId)
            {
                return(await Response <GenericResponse> .GetErrorResponseMessage("You are not authorized."));
            }

            var user = await _userService.GetUser(id.Always());

            if (!user.IsNone)
            {
                var alwaysAUser = user.Always();

                _mapper.Map(updateProfileData, alwaysAUser); // (from, to)
                alwaysAUser.ModifiedOn = DateTime.UtcNow;

                if (_userService.UpdateUser(alwaysAUser, alwaysAUser.Id))
                {
                    return(await Task <IResult <GenericResponse> > .Factory.StartNew(
                               () => Response <GenericResponse> .SuccessResponese(
                                   "Successfully updated profile."
                                   )));
                }
                return(await Response <GenericResponse> .GetErrorResponseMessage("Problem updating profile."));
            }
            return(await Response <GenericResponse> .GetErrorResponseMessage("Could not find the account."));
        }