using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PersonalFinance { /// /// Service for communication to database /// public class UserService { private EntityContext _context; public UserService(EntityContext context) { _context = context; } /// /// Add new user /// /// User /// Added user public User AddUser(User u){ _context.Users.Add(u); _context.SaveChanges(); return u; } /// /// Create and add new user /// /// /// /// /// /// /// Added user public User AddUser(string login, string name, string lastname, string password, Sex sex) { return AddUser(new User(password) { Login = login, Name = name, Lastname = lastname, Sex = sex }); } /// /// Retrieve all users /// /// List of users public List GetAllUsers() { return _context.Users.ToList(); } /// /// Get user by ID (Primary key) /// /// int Primary key /// User public User GetUser(int id) { return _context.Users.FirstOrDefault(i => i.UserId == id); } /// /// Get user by ID (Primary key) /// /// string /// User public User GetUser(string login) { return _context.Users.FirstOrDefault(i => i.Login == login); } /// /// Delete user by ID (primary key) /// /// int Primary key /// Deleted user public User DeleteUser(int id) { User u = GetUser(id); if (u != null) { User deleted = _context.Users.Remove(u); _context.SaveChanges(); return deleted; } else { throw new IndexOutOfRangeException("User with ID " + id + " don't exist!"); } } /// /// Delete user /// /// User to delete /// Deleted user public User DeleteUser(User u) { User deleted = _context.Users.Remove(u); _context.SaveChanges(); return deleted; } /// /// Update user /// /// User to update /// Updated user public User UpdateUser(User u) { _context.Users.Add(u); _context.SaveChanges(); return u; } } }