Esempio n. 1
0
        public async Task <IActionResult> EditPersonalDetails(int id)
        {
            var uid = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            UserInfoDetailsModel model = await GetPersonalDetails(uid);

            return(View(model));
        }
Esempio n. 2
0
        private async Task <UserInfoDetailsModel> GetPersonalDetails(string uid)
        {
            UserInfoDetailsModel model = new UserInfoDetailsModel
            {
                Id = uid
            };

            model = await accountRepository.GetUserInfoAsync(model);

            return(model);
        }
Esempio n. 3
0
        public async Task <IActionResult> PersonalDetails()
        {
            var    user = User.FindFirst(ClaimTypes.NameIdentifier);
            string uid  = null;

            if (user != null)
            {
                uid = user.Value;
            }

            UserInfoDetailsModel model = await GetPersonalDetails(uid);

            return(View(model));
        }
        public async Task <UserInfoDetailsModel> GetUserInfoAsync(UserInfoDetailsModel model)
        {
            var result = await userManager.FindByIdAsync(model.Id);

            if (result != null)
            {
                model.FirstName      = result.FirstName;
                model.LastName       = result.LastName;
                model.UserName       = result.UserName;
                model.DateOfBirth    = result.DateOfBirth;
                model.Email          = result.Email;
                model.Id             = result.Id;
                model.Password       = result.PasswordHash;
                model.ProfilePicture = result.ProfilePicture;
                model.PhoneNumber    = result.PhoneNumber;
                return(model);
            }
            return(null);
        }
Esempio n. 5
0
        public async Task <IActionResult> EditPersonalDetails(UserInfoDetailsModel model)
        {
            var extensions = new List <string>(new string[] { "jpg", "jpeg", "png", "gif" });

            if (Request.Form.Files.Count > 0)
            {
                IFormFile file = Request.Form.Files.FirstOrDefault();
                if (file.Length < 0)
                {
                    ModelState.AddModelError("ProfilePicture", "File cannot be empty.");
                }
                if (file.ContentType.IndexOf("image", StringComparison.OrdinalIgnoreCase) < 0)
                {
                    ModelState.AddModelError("ProfilePicture", "This file is not an image");
                }
                if (!extensions.Any(ext => file.ContentType.EndsWith(ext)))
                {
                    ModelState.AddModelError("ProfilePicture", "This image must be in one of the following format: " + string.Join(",", extensions));
                }
                if (ModelState.ErrorCount > 0)
                {
                    return(View(model));
                }
                else
                {
                    using (var dataStream = new MemoryStream())
                    {
                        await file.CopyToAsync(dataStream);

                        model.ProfilePicture = dataStream.ToArray();
                    }
                }
            }
            var result = await accountRepository.SaveUserInfoAsync(model);

            if (result.Succeeded)
            {
                ViewBag.IsSuccess = true;
                return(RedirectToAction("PersonalDetails", "Account"));
            }
            return(View(model));
        }
        public async Task <IdentityResult> SaveUserInfoAsync(UserInfoDetailsModel model)
        {
            var u = await userManager.FindByIdAsync(model.Id);

            if (u == null)
            {
                return(null);
            }

            var user = new ApplicationUser()
            {
                FirstName      = model.LastName,
                LastName       = model.LastName,
                Email          = model.Email,
                DateOfBirth    = model.DateOfBirth,
                ProfilePicture = model.ProfilePicture
            };
            var firstName = u.FirstName;
            var lastName  = u.LastName;

            if (model.FirstName != firstName)
            {
                u.FirstName = model.FirstName;
                //await userManager.UpdateAsync(u);
            }
            if (model.LastName != lastName)
            {
                u.LastName = model.LastName;
                //await userManager.UpdateAsync(u);
            }
            if (model.Email != u.Email)
            {
                u.Email = model.Email;
            }
            if (model.DateOfBirth != u.DateOfBirth)
            {
                u.DateOfBirth = model.DateOfBirth;
            }
            if (model.PhoneNumber != u.PhoneNumber)
            {
                u.PhoneNumber = model.PhoneNumber;
            }
            if (model.ProfilePicture != u.ProfilePicture)
            {
                u.ProfilePicture = model.ProfilePicture;
            }
            //if (u.UserName != model.UserName)
            //{
            //    var userNameExists = await userManager.FindByNameAsync(model.UserName);
            //    if (userNameExists != null)
            //    {
            //        ModelState.AddModelError("", "User name already taken. Select a different username.");
            //    }

            //    var setUserName = await userManager.SetUserNameAsync(user, model.UserName);
            //    if (!setUserName.Succeeded)
            //    {
            //        ModelState.AddModelError("", "Unexpected error when trying to set user name.");
            //    }
            //    else
            //    {
            //        return await userManager.UpdateAsync(user);
            //    }
            //}
            //else
            //{
            //    return await userManager.UpdateAsync(user);
            //}
            return(await userManager.UpdateAsync(u));

            //return null;
            //if (u.FirstName != model.FirstName)
            //{
            //    u.FirstName = model.FirstName;
            //}
            //if (u.UserName != model.UserName)
            //{
            //    u.UserName = model.UserName;
            //}

            //var result = await userManager.UpdateAsync(user);
            //if (result.Succeeded)
            //{

            //}

            //return result;
            ////ApplicationUser u = new ApplicationUser
            ////{
            ////    Id = model.Id,
            ////    DateOfBirth = model.DateOfBirth,
            ////    Email = model.Email,
            ////    FirstName = model.LastName,
            ////    LastName = model.LastName,
            ////    UserName = model.UserName
            ////};
            ////var user = await userManager.FindByIdAsync(model.Id);
            ////if (user != null)
            ////{
            ////    if (user.DateOfBirth != model.DateOfBirth) {
            ////        user.DateOfBirth = model.DateOfBirth;
            ////    }
            ////    if (user.Email != model.Email)
            ////    {
            ////        user.Email = model.Email;
            ////    }
            ////    user.FirstName = model.LastName;
            ////    user.LastName = model.LastName;
            ////    user.UserName = model.UserName;
            ////    ApplicationUser res = await userManager.UpdateAsync(u);
            ////    if (res.su)
            ////    {

            ////    }
            ////}
            ////return null;
            //////if (model.LastName != user.LastName)
            //////{
            //////    await userManager.UpdateAsync(u);
            //////}
            //////if (model.LastName != user.LastName)
            //////{
            //////    await userManager.UpdateAsync(u);
            //////}
            ////return await userManager.UpdateAsync(u);
        }