예제 #1
0
 public ProfileViewModel(Account user, bool isEditable,int userId, int positiveRaite, int negativeRaite, List<string> comments)
 {
     this.IsExist = user != null;
     this.IsEditable = isEditable;
     this.userId = userId;
     this.PositiveRaite = positiveRaite;
     this.NegativeRaite = negativeRaite;
     this.Comments = comments;
 }
예제 #2
0
 public void Create(Account account)
 {
     using (var context = new DataBaseContext())
     {
         account.CreatedTime = DateTime.UtcNow;
         context.Accounts.Add(account);
         context.SaveChanges();
     }
 }
예제 #3
0
        public void CreateAccount(string userName, string email, string password)
        {
            var existingAccount = accountRepository.GetByEmail(email);
            if (existingAccount != null)
            {
                throw new ArgumentException("Email is already used");
            }

            existingAccount = accountRepository.GetByUserName(userName);
            if (existingAccount != null)
            {
                throw new ArgumentException("UserName is already used");
            }

            var salt = Guid.NewGuid().ToString();
            var account = new Account
                {
                    UserName = userName,
                    PasswordHash = criptoProvider.ComputeHash(password, salt),
                    Email = email,
                    Salt = salt
                };
            accountRepository.Create(account);
        }
예제 #4
0
        public void Logon(Account account, bool remember = false)
        {
            var serializeModel = new CustomPrincipalSerializeModel
                {
                    Email = account.UserName,
                    Id = account.Id
                };

            var serializer = new JavaScriptSerializer();

            var userData = serializer.Serialize(serializeModel);

            var authTicket = new FormsAuthenticationTicket(
                     1,
                     account.UserName,
                     DateTime.Now,
                     DateTime.Now.AddMinutes(60),
                     remember,
                     userData);

            var encTicket = FormsAuthentication.Encrypt(authTicket);
            var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
            HttpContext.Current.Response.Cookies.Add(cookie);
        }