using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ToDoApp.Context; using ToDoApp.Model; using ToDoApp.Utility; namespace ToDoApp.Controller { public class ToDoController { public static ToDoController Instance { get; set; } = new ToDoController(); public void EnsureCreated() { using (var context = new ToDoContext()) { context.Database.EnsureCreated(); } } public User? FindUser(int id) { using (var context = new ToDoContext()) { return context.Users.Find(id); } } public User? FindUser(string username) { using (var context = new ToDoContext()) { return context.Users.FirstOrDefault(u => u.Name == username); } } public bool LoginCheckUser(string username, string password) { User? user = FindUser(username); if (user == null) return false; return Utils.VerifyPassword(password, user.Password); } public void CreateUser(User user) { using (var context = new ToDoContext()) { user.CreateDate = DateTime.Now; context.Users.Add(user); context.SaveChanges(); } } public void DisableUser(int id) { using (var context = new ToDoContext()) { User? user = context.Users.Find(id); if (user == null) return; user.Status = UserStatus.Invalid; context.SaveChanges(); } } public void DisableUser(string username) { using (var context = new ToDoContext()) { User? user = context.Users.FirstOrDefault(u => u.Name == username); if (user == null) return; user.Status = UserStatus.Invalid; context.SaveChanges(); } } public void RemoveUser(int id) { using (var context = new ToDoContext()) { User? user = context.Users.Find(id); if (user == null) return; context.Users.Remove(user); context.SaveChanges(); } } public void RemoveUser(string username) { using (var context = new ToDoContext()) { User? user = context.Users.FirstOrDefault(u => u.Name == username); if (user == null) return; context.Users.Remove(user); context.SaveChanges(); } } } }