示例#1
0
        public async Task <ObjectUserDetails> EditUserDetails(ObjectUserDetails request, ClaimsPrincipal actingUser)
        {
            var user = await Helper.GetUserByClaim(dbContext, actingUser, true);

            user.FirstName = request.FirstName;
            user.LastName  = request.LastName;
            user.Email     = request.Email;
            if (user.PhoneNumber != request.PhoneNumber)
            {
                throw new InvalidRequestException("can't change phonenumber");
                //throw new NotImplementedException("Cant change phonenumbers yet");
            }

            await dbContext.SaveChangesAsync();

            return(Helper.DetailFromUser(user));
        }
示例#2
0
        public static void ValidateAndNormalizeUserDetails(ObjectUserDetails userDetails)
        {
            userDetails.PhoneNumber = General.ConvertPhoneNoTo12Char(
                nameof(userDetails.PhoneNumber),
                userDetails.PhoneNumber);

            General.ValidateEmail(nameof(ObjectUserDetails.Email), userDetails.Email);

            General.ValidateStringLength(
                nameof(userDetails.FirstName),
                userDetails.FirstName,
                Settings.Validations.MinFirstNameLenght,
                Settings.Validations.MaxNameLenght,
                false);

            General.ValidateStringLength(
                nameof(userDetails.LastName),
                userDetails.LastName,
                Settings.Validations.MinLastNameLenght,
                Settings.Validations.MaxNameLenght,
                false);
        }
示例#3
0
 public async Task <IActionResult> EditUserDetails([FromBody] ObjectUserDetails request)
 {
     return(await ExecuteAsync(
                () => service.EditUserDetails(request, User),
                () => UserValidation.ValidateAndNormalizeUserDetails(request)));
 }