From 3c691246505dae17ea18304977c5464f928f23e8 Mon Sep 17 00:00:00 2001 From: thermalthrottle Date: Thu, 18 Mar 2021 14:57:00 +0200 Subject: [PATCH] Business update --- .../Business/Interfaces/IController.cs | 19 +++ .../Controllers/UserController.cs | 131 ++++++++++++++++++ .../Business/UserManagment/UserController.cs | 24 ---- .../Business/UserManagment/IController.cs | 6 + 4 files changed, 156 insertions(+), 24 deletions(-) create mode 100644 LuminousSales/Business/Business/Interfaces/IController.cs create mode 100644 LuminousSales/Business/Business/UserManagment/Controllers/UserController.cs delete mode 100644 LuminousSales/Business/Business/UserManagment/UserController.cs create mode 100644 LuminousSales/Business/UserManagment/IController.cs diff --git a/LuminousSales/Business/Business/Interfaces/IController.cs b/LuminousSales/Business/Business/Interfaces/IController.cs new file mode 100644 index 0000000..9ada98c --- /dev/null +++ b/LuminousSales/Business/Business/Interfaces/IController.cs @@ -0,0 +1,19 @@ +using Models.Models; +using System; +using System.Collections.Generic; +using System.Text; + +namespace Business.Business.UserManagment +{ + interface IController + { + ICollection GetAll(); + T SearchById(int id); + ICollection SearchByApproximateName(string name); + T SearchByExactName(string name); + void UpdateNameById(int id, string newName); + void UpdateNameByOldName(string oldName, string newName); + void DeleteById(int id); + void DeleteByName(string name); + } +} diff --git a/LuminousSales/Business/Business/UserManagment/Controllers/UserController.cs b/LuminousSales/Business/Business/UserManagment/Controllers/UserController.cs new file mode 100644 index 0000000..0e95bda --- /dev/null +++ b/LuminousSales/Business/Business/UserManagment/Controllers/UserController.cs @@ -0,0 +1,131 @@ +using Models; +using Models.Models; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; + +namespace Business.Business.UserManagment +{ + public class UserController : IController + { + private LuminousContext context = new LuminousContext(); + + public ICollection GetAll() + { + return context.User.ToList(); + } + public void DeleteById() + { + throw new NotImplementedException(); + } + + public void DeleteByName() + { + throw new NotImplementedException(); + } + public User SearchById(int id) + { + return context.User.FirstOrDefault(u => u.Id == id); + } + + public ICollection SearchByApproximateName(string name) + { + return context.User.Where(u => u.Name.Contains(name)).ToList(); + } + public User SearchByExactName(string name) + { + return context.User.FirstOrDefault(u => u.Name == name); + } + + public void UpdateNameById(int id, string newName) + { + var user = SearchById(id); + if (user != null) + { + if (user.Name != newName) + { + user.Name = newName; + } + else + { + throw new ArgumentException("Usernames match. Please choose another username!"); + } + } + else + { + throw new ArgumentException("No user with such id"); + } + } + + public void UpdateNameByOldName(string oldName, string newName) + { + if (oldName != newName) + { + var user = SearchByExactName(oldName); + if (user != null) + { + user.Name = newName; + } + else + { + throw new ArgumentException("No user with such name!"); + } + } + else + { + throw new ArgumentException("Usernames match. Please use another username!"); + } + + } + public void UpdatePasswordById(int id, string newPassword) + { + var user = SearchById(id); + if (user != null) + { + if (user.Password != newPassword) + { + user.Password = newPassword; + } + else + { + throw new ArgumentException("Passwords match! Please use another password!"); + } + } + else + { + throw new ArgumentException("User not found"); + } + } + public void UpdatePasswordByName(string name, string newPassword) + { + var user = SearchByExactName(name); + if (user != null) + { + if (user.Password != newPassword) + { + user.Password = newPassword; + } + else + { + throw new ArgumentException("Passwords match! Please use another password!"); + } + } + else + { + throw new ArgumentException("User not found"); + } + } + + public void DeleteById(int id) + { + throw new NotImplementedException(); + } + + public void DeleteByName(string name) + { + throw new NotImplementedException(); + } + } +} diff --git a/LuminousSales/Business/Business/UserManagment/UserController.cs b/LuminousSales/Business/Business/UserManagment/UserController.cs deleted file mode 100644 index a50e63f..0000000 --- a/LuminousSales/Business/Business/UserManagment/UserController.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Models; -using Models.Models; -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; - -namespace Business.Business.UserManagment -{ - public class UserController - { - private LuminousContext context; - public void CreateUser(string Username, string Password, int RoleId) - { - using (context = new LuminousContext()) - { - var user = new User(Username, Password, RoleId); - context.User.Add(user); - context.SaveChanges(); - } - } - } -} diff --git a/LuminousSales/Business/UserManagment/IController.cs b/LuminousSales/Business/UserManagment/IController.cs new file mode 100644 index 0000000..4ff079f --- /dev/null +++ b/LuminousSales/Business/UserManagment/IController.cs @@ -0,0 +1,6 @@ +namespace Business.Business.UserManagment +{ + public interface IController + { + } +} \ No newline at end of file