Ejemplo n.º 1
0
        public ActionResult ChangeUserBasicInfo()
        {
            User user = UserManager.FindById(User.Identity.GetUserId());
            UserBasicInfoViewModel model = UserBasicInfoViewModel.ToViewModel(user);

            return(View(model));
        }
Ejemplo n.º 2
0
        public string UpdateUserInfo(UserBasicInfoViewModel model, UserIdentityViewModel cruser)
        {
            //var existed = _unitOfWork.UserRepository.All().Where(s => s.DeletedBy == null && s.CompanyId == cruser.CompanyId).Select(s => s.Email).Any(s => s == model.Email);
            //if (existed)
            //{
            //    return "User.EmailDuplicate";
            //}
            var user = _unitOfWork.UserRepository.All().FirstOrDefault(s => s.DeletedBy == null && s.Id == cruser.UserId);

            user.FirstName   = model.FirstName;
            user.LastName    = model.LastName;
            user.PhoneNumber = model.Phone;
            //user.Email = model.Email;
            _unitOfWork.SaveChange();

            return(string.Empty);
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> ChangeUserBasicInfo([Bind(Include = "Email, FirstName, LastName")] UserBasicInfoViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (ApplicationDbContext db = new ApplicationDbContext())
                {
                    User user = db.Users.Where(u => u.UserName == User.Identity.Name).First();
                    if (user != null)
                    {
                        db.Entry(user).State = EntityState.Modified;

                        string oldUserName = user.UserName;
                        if (oldUserName != model.Email)
                        {
                            user.EmailConfirmed = false;
                        }

                        UserBasicInfoViewModel.ToDomainModel(user, model);
                        db.SaveChanges();

                        if (oldUserName != model.Email)
                        {
                            var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);

                            var callbackUrl = Url.Action(
                                "ConfirmEmail", "Account",
                                new { userId = user.Id, code = code },
                                protocol: Request.Url.Scheme);

                            await UserManager.SendEmailAsync(user.Id,
                                                             "Email Confirmation",
                                                             string.Format(EmailTemplates.ConfirmEmailTemplate, model.FirstName + " " + model.LastName, "<a href=\"" + callbackUrl + "\">link</a>"));
                        }
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(model));
        }