public UserViewModel(User user)
 {
     this.Id = user.Id;
     this.Email = user.Email;
     this.EmailConfirmed = user.EmailConfirmed;
     this.IsAdmin = user.IsAdmin;
     if (user.Player != null)
     {
         this.PlayerId = user.Player.Id;
     }
 }
        private void FormsAuthenticationLogin(User user)
        {
            FormsAuthentication.SignOut();

            //var now = DateTime.Now;

            //var ticket = new FormsAuthenticationTicket(1, user.Id.ToString(), now, now.AddDays(1), true, user.GetType().ToString());

            //var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket));

            //cookie.Expires = now.AddDays(1);

            //Response.Cookies.Add(cookie);

            FormsAuthentication.SetAuthCookie(user.Id.ToString(), true);
        }
        public ActionResult Register(RegisterModel model)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            var user = DataAccess.Users.Where(u => u.Email == model.Email.ToLower()).FirstOrDefault();

            if (user != null)
            {
                model.Message = "Пользователь с данным email уже зарегистрирован.";
                return View(model);
            }

            user = new User()
            {
                Email = model.Email.ToLower(),
                EmailConfirmed = false,
                PwdHash = PwdHash(model.Password, model.Email.ToLower()),
                IsAdmin = false,
                CreatedOn = DateTime.Now
            };

            try
            {
                DataAccess.Users.Add(user);
                DataAccess.SaveChanges();

                SendMail(user.Email, string.Format(Resource.ConfirmEmail, Url.Action("confirm", "auth", new { id = user.Id.ToString() }, Request.Url.Scheme)));

                model.Message = "На ваш email выслано письмо для подтверждения регистрации.";
            }
            catch
            {
                model.Message = "Неведомая ошибка произошла! Тысяча извинений.";
            }

            return View(model);
        }