Пример #1
0
        public async Task <UpdateProfileUserViewModel> FindUserById(int Id)
        {
            var user = await this.FindByIdAsync(Id);

            if (user != null)
            {
                var profileUser = new UpdateProfileUserViewModel();
                if (user.Address != null)
                {
                    profileUser.Address     = user.Address.Address;
                    profileUser.PostalCode  = user.Address.PostalCode;
                    profileUser.City_Id     = user.Address.City.Id;
                    profileUser.Province_Id = user.Address.Province.Id;
                    profileUser.Province    = user.Address.Province.Name;
                    profileUser.City        = user.Address.City.Name;
                }
                profileUser.ReciveMessage     = user.ReciveMessage;
                profileUser.Name              = user.Name;
                profileUser.Family            = user.Family;
                profileUser.Id                = user.Id;
                profileUser.Phone             = user.PhoneNumber;
                profileUser.Email             = user.Email;
                profileUser.StatusDisableUser = user.DisableUser;
                profileUser.DateDisableUser   = user.DateDisableUser;

                return(profileUser);
            }
            else
            {
                return(null);
            }
        }
Пример #2
0
        public async virtual Task <ActionResult> CompleteInformation(UpdateProfileUserViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel {
                    Alert = AlertOperation.SurveyOperation(StatusOperation.Invalid), Status = AlertMode.warning
                }));
            }

            var user = await _userManager.FindByIdAsync(User.Identity.GetUserId <int>());

            AddressUser newAddress = new AddressUser();

            newAddress.City       = _cityService.GetById(model.City_Id);
            newAddress.Province   = _provinceService.GetById(model.Province_Id);;
            newAddress.PostalCode = model.PostalCode;
            newAddress.Address    = model.Address;


            if (user.Address != null)
            {
                user.Address.Province   = newAddress.Province;
                user.Address.City       = newAddress.City;
                user.Address.PostalCode = newAddress.PostalCode;
                user.Address.Address    = newAddress.Address;
            }
            else
            {
                user.Address = newAddress;
            }


            user.PhoneNumber   = model.Phone;
            user.Name          = model.Name;
            user.Family        = model.Family;
            user.ReciveMessage = model.ReciveMessage;

            var resultOperation = await _userManager.UpdateAsync(user);

            if (resultOperation.Succeeded)
            {
                return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel {
                    Alert = AlertOperation.SurveyOperation(StatusOperation.SuccsessUpdate), Status = AlertMode.success
                }));
            }
            else
            {
                return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel {
                    Alert = AlertOperation.SurveyOperation(StatusOperation.FailUpdate), Status = AlertMode.warning
                }));
            }
        }
Пример #3
0
        public virtual async Task <ActionResult> UpdateProfile(UpdateProfileUserViewModel userProfile,
                                                               params string[] selectedRole)
        {
            var user = await _userManager.FindByIdAsync(userProfile.Id);

            AddressUser newAddress = new AddressUser();

            newAddress.City       = _cityService.GetById(userProfile.City_Id);
            newAddress.Province   = _provinceService.GetById(userProfile.Province_Id);;
            newAddress.PostalCode = userProfile.PostalCode;
            newAddress.Address    = userProfile.Address;


            if (user.Address != null)
            {
                user.Address.Province   = newAddress.Province;
                user.Address.City       = newAddress.City;
                user.Address.PostalCode = newAddress.PostalCode;
                user.Address.Address    = newAddress.Address;
            }
            else
            {
                user.Address = newAddress;
            }


            user.PhoneNumber   = userProfile.Phone;
            user.ReciveMessage = userProfile.ReciveMessage;
            user.Name          = userProfile.Name;
            user.Family        = userProfile.Family;


            var resultOperation = await _userManager.UpdateAsync(user);

            if (resultOperation.Succeeded)
            {
                var userRoles = await _userManager.GetRolesAsync(user.Id);

                selectedRole = selectedRole ?? new string[] { };

                var result = await _userManager.AddToRolesAsync(user.Id, selectedRole.Except(userRoles).ToArray());

                if (!result.Succeeded)
                {
                    ModelState.AddModelError("", result.Errors.First());
                    return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel
                    {
                        Alert = AlertOperation.SurveyOperation(StatusOperation.FailUpdate),
                        Status = AlertMode.warning
                    }));
                }
                result = await _userManager.RemoveFromRolesAsync(user.Id, userRoles.Except(selectedRole).ToArray());

                return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel
                {
                    Alert = AlertOperation.SurveyOperation(StatusOperation.SuccsessUpdate),
                    Status = AlertMode.success
                }));
            }
            else
            {
                return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel
                {
                    Alert = AlertOperation.SurveyOperation(StatusOperation.FailUpdate),
                    Status = AlertMode.warning
                }));
            }
        }