예제 #1
0
        public Category Create(long userId, string name)
        {
            var category = new Category()
            {
                Name   = name,
                UserId = userId
            };

            HashgardContext.Categories.Add(category);
            HashgardContext.SaveChanges();

            return(category);
        }
예제 #2
0
        public LogInResponse LogIn(string name, string password, TimeSpan sessionLifetime)
        {
            var user = HashgardContext.Users.FirstOrDefault(u => u.Name == name && u.Password == password);

            if (user == null)
            {
                throw new Exception("Authentication failed.");
            }

            user.SessionLifetime = sessionLifetime;
            user.SetLoggedIn();
            HashgardContext.Users.Update(user);
            HashgardContext.SaveChanges();

            return(new LogInResponse(user));
        }
예제 #3
0
        public LogInResponse SignUp(string name, string password, TimeSpan sessionLifetime)
        {
            if (HashgardContext.Users.Any(u => u.Name == name))
            {
                throw new Exception("Username already exists.");
            }

            var user = new User
            {
                Name            = name,
                Password        = password,
                SessionLifetime = sessionLifetime,
                SignUpDate      = DateTime.Now,
                LogInDate       = DateTime.Now,
                Token           = Guid.NewGuid()
            };

            HashgardContext.Users.Add(user);
            HashgardContext.SaveChanges();

            return(new LogInResponse(user));
        }
예제 #4
0
 private void SaveLoggedOut(User user)
 {
     user.SetLoggedOut();
     HashgardContext.Users.Update(user);
     HashgardContext.SaveChanges();
 }