diff --git a/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/UserLogic.cs b/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/UserLogic.cs index f1289fa..1c8de57 100644 --- a/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/UserLogic.cs +++ b/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/UserLogic.cs @@ -15,9 +15,9 @@ namespace ElectronicsShopBusinessLogic.BusinessLogic internal class UserLogic : IUserLogic { private readonly ILogger _logger; - private readonly IUserStorage _storage; + private readonly IClientStorage _storage; - public UserLogic(ILogger logger, IUserStorage storage) + public UserLogic(ILogger logger, IClientStorage storage) { _logger = logger; _storage = storage; @@ -58,7 +58,7 @@ namespace ElectronicsShopBusinessLogic.BusinessLogic } - public UserViewModel? ReadElemet(UserSearchModel? model) + public ClientViewModel? ReadElemet(ClientSearchModel? model) { if (model == null) { @@ -75,7 +75,7 @@ namespace ElectronicsShopBusinessLogic.BusinessLogic return element; } - public List? ReadList(UserSearchModel? model) + public List? ReadList(ClientSearchModel? model) { _logger.LogInformation($"ReadList. ClientID:{model?.ID}"); @@ -127,7 +127,7 @@ namespace ElectronicsShopBusinessLogic.BusinessLogic $"LastName:{model.LastName}.Password:{model.Password}.PhoneNumber:{model.PhoneNumber}.Login:{model.Login}." + $"Email:{model.Email}"); - var element = _storage.GetElement(new UserSearchModel + var element = _storage.GetElement(new ClientSearchModel { Login = model.Login }); diff --git a/ElectronicsShop/ElectronicsShopClientApp/Views/Home/Privacy.cshtml b/ElectronicsShop/ElectronicsShopClientApp/Views/Home/Privacy.cshtml index bfd0647..4c0db79 100644 --- a/ElectronicsShop/ElectronicsShopClientApp/Views/Home/Privacy.cshtml +++ b/ElectronicsShop/ElectronicsShopClientApp/Views/Home/Privacy.cshtml @@ -1,6 +1,6 @@ @using ElectronicsShopContracts.ViewModels -@model UserViewModel +@model ClientViewModel @{ ViewData["Title"] = "Privacy Policy"; diff --git a/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IUserLogic.cs b/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IUserLogic.cs index 599cdcd..f1e4143 100644 --- a/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IUserLogic.cs +++ b/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IUserLogic.cs @@ -11,8 +11,8 @@ namespace ElectronicsShopContracts.BusinessLogicContracts { public interface IUserLogic { - List? ReadList(UserSearchModel? model); - UserViewModel? ReadElemet(UserSearchModel model); + List? ReadList(ClientSearchModel? model); + ClientViewModel? ReadElemet(ClientSearchModel model); bool Add(UserBindingModel model); bool Update(UserBindingModel model); diff --git a/ElectronicsShop/ElectronicsShopContracts/SearchModels/UserSearchModel.cs b/ElectronicsShop/ElectronicsShopContracts/SearchModels/ClientSearchModel.cs similarity index 88% rename from ElectronicsShop/ElectronicsShopContracts/SearchModels/UserSearchModel.cs rename to ElectronicsShop/ElectronicsShopContracts/SearchModels/ClientSearchModel.cs index 32708e8..c64d20c 100644 --- a/ElectronicsShop/ElectronicsShopContracts/SearchModels/UserSearchModel.cs +++ b/ElectronicsShop/ElectronicsShopContracts/SearchModels/ClientSearchModel.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace ElectronicsShopContracts.SearchModels { - public class UserSearchModel + public class ClientSearchModel { public int? ID { get; set; } public string? Login { get; set; } diff --git a/ElectronicsShop/ElectronicsShopContracts/SearchModels/ImplementerSearchModel.cs b/ElectronicsShop/ElectronicsShopContracts/SearchModels/ImplementerSearchModel.cs new file mode 100644 index 0000000..7e15565 --- /dev/null +++ b/ElectronicsShop/ElectronicsShopContracts/SearchModels/ImplementerSearchModel.cs @@ -0,0 +1,15 @@ +using ElectronicsShopDataModels.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ElectronicsShopContracts.SearchModels +{ + public class ImplementerSearchModel + { + public int UserID { get; set; } + public Quakifications Quakifications { get; set; } + } +} diff --git a/ElectronicsShop/ElectronicsShopContracts/StorageContracts/IClientStorage.cs b/ElectronicsShop/ElectronicsShopContracts/StorageContracts/IClientStorage.cs new file mode 100644 index 0000000..e890ea4 --- /dev/null +++ b/ElectronicsShop/ElectronicsShopContracts/StorageContracts/IClientStorage.cs @@ -0,0 +1,21 @@ +using ElectronicsShopContracts.BindingModels; +using ElectronicsShopContracts.SearchModels; +using ElectronicsShopContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ElectronicsShopContracts.StorageContracts +{ + public interface IClientStorage + { + List GetFullList(); + List GetFilteredList(ClientSearchModel model); + ClientViewModel? GetElement(ClientSearchModel model); + ClientViewModel? Insert(ClientBindingModel model); + ClientViewModel? Update(ClientBindingModel model); + ClientViewModel? Delete(ClientBindingModel model); + } +} diff --git a/ElectronicsShop/ElectronicsShopContracts/StorageContracts/IImplementerStorage.cs b/ElectronicsShop/ElectronicsShopContracts/StorageContracts/IImplementerStorage.cs new file mode 100644 index 0000000..a2c40f1 --- /dev/null +++ b/ElectronicsShop/ElectronicsShopContracts/StorageContracts/IImplementerStorage.cs @@ -0,0 +1,21 @@ +using ElectronicsShopContracts.BindingModels; +using ElectronicsShopContracts.SearchModels; +using ElectronicsShopContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ElectronicsShopContracts.StorageContracts +{ + public interface IImplementerStorage + { + List GetFullList(); + List GetFilteredList(ImplementerSearchModel model); + ImplementerViewModel? GetElement(ClientSearchModel model); + ImplementerViewModel? Insert(ImplementerBindingModel model); + ImplementerViewModel? Update(ImplementerBindingModel model); + ImplementerViewModel? Delete(ImplementerBindingModel model); + } +} diff --git a/ElectronicsShop/ElectronicsShopContracts/StorageContracts/IUserStorage.cs b/ElectronicsShop/ElectronicsShopContracts/StorageContracts/IUserStorage.cs deleted file mode 100644 index 4161916..0000000 --- a/ElectronicsShop/ElectronicsShopContracts/StorageContracts/IUserStorage.cs +++ /dev/null @@ -1,21 +0,0 @@ -using ElectronicsShopContracts.BindingModels; -using ElectronicsShopContracts.SearchModels; -using ElectronicsShopContracts.ViewModels; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ElectronicsShopContracts.StorageContracts -{ - public interface IUserStorage - { - List GetFullList(); - List GetFilteredList(UserSearchModel model); - UserViewModel? GetElement(UserSearchModel model); - UserViewModel? Insert(UserBindingModel model); - UserViewModel? Update(UserBindingModel model); - UserViewModel? Delete(UserBindingModel model); - } -} diff --git a/ElectronicsShop/ElectronicsShopContracts/ViewModels/ClientViewModel.cs b/ElectronicsShop/ElectronicsShopContracts/ViewModels/ClientViewModel.cs new file mode 100644 index 0000000..9aae3f4 --- /dev/null +++ b/ElectronicsShop/ElectronicsShopContracts/ViewModels/ClientViewModel.cs @@ -0,0 +1,20 @@ +using ElectronicsShopDataModels; +using ElectronicsShopDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ElectronicsShopContracts.ViewModels +{ + public class ClientViewModel : IClientModel + { + //ID пользователя + public int UserID { get; set; } + + [DisplayName("Почта")] + public string Email { get; set; } = string.Empty; + } +} diff --git a/ElectronicsShop/ElectronicsShopContracts/ViewModels/ImplementerViewModel.cs b/ElectronicsShop/ElectronicsShopContracts/ViewModels/ImplementerViewModel.cs new file mode 100644 index 0000000..0e05ef4 --- /dev/null +++ b/ElectronicsShop/ElectronicsShopContracts/ViewModels/ImplementerViewModel.cs @@ -0,0 +1,17 @@ +using ElectronicsShopDataModels.Enums; +using ElectronicsShopDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ElectronicsShopContracts.ViewModels +{ + public class ImplementerViewModel : IImplementerModel + { + public int UserID {get; set;} + + public Quakifications Qualification { get; set; } = Quakifications.Отсутствует; + } +} diff --git a/ElectronicsShop/ElectronicsShopContracts/ViewModels/UserViewModel.cs b/ElectronicsShop/ElectronicsShopContracts/ViewModels/UserViewModel.cs deleted file mode 100644 index 366c955..0000000 --- a/ElectronicsShop/ElectronicsShopContracts/ViewModels/UserViewModel.cs +++ /dev/null @@ -1,38 +0,0 @@ -using ElectronicsShopDataModels; -using ElectronicsShopDataModels.Models; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ElectronicsShopContracts.ViewModels -{ - public class UserViewModel : IUserModel - { - - //ID пользователя - public int ID { get; set; } - //ID роли (клиент) - public int RoleID { get; set; } - - [DisplayName("Имя")] - public string FirstName { get; set; } = string.Empty; - - [DisplayName("Фамилия")] - public string LastName { get; set; } = string.Empty; - - [DisplayName("Логин")] - public string Login { get; set; } = string.Empty; - - [DisplayName("Почта")] - public string Email { get; set; } = string.Empty; - - [DisplayName("Пароль")] - public string Password { get; set; } = string.Empty; - - [DisplayName("Номер телефона")] - public string PhoneNumber { get; set; } = string.Empty; - } -} diff --git a/ElectronicsShop/ElectronicsShopDataBaseImplement/Implements/UserStorage.cs b/ElectronicsShop/ElectronicsShopDataBaseImplement/Implements/UserStorage.cs index 3db3c96..6118117 100644 --- a/ElectronicsShop/ElectronicsShopDataBaseImplement/Implements/UserStorage.cs +++ b/ElectronicsShop/ElectronicsShopDataBaseImplement/Implements/UserStorage.cs @@ -11,9 +11,9 @@ using System.Threading.Tasks; namespace ElectronicsShopDataBaseImplement.Implements { - public class UserStorage : IUserStorage + public class UserStorage : IClientStorage { - public UserViewModel? Delete(UserBindingModel model) + public ClientViewModel? Delete(UserBindingModel model) { using var context = new Database(); var element = context.Users.FirstOrDefault(rec => rec.ID == model.ID); @@ -26,7 +26,7 @@ namespace ElectronicsShopDataBaseImplement.Implements return null; } - public UserViewModel? GetElement(UserSearchModel model) + public ClientViewModel? GetElement(ClientSearchModel model) { if (string.IsNullOrEmpty(model.Login) && !model.ID.HasValue) { @@ -38,7 +38,7 @@ namespace ElectronicsShopDataBaseImplement.Implements (model.ID.HasValue && x.ID == model.ID)))?.GetViewModel; } - public List GetFilteredList(UserSearchModel model) + public List GetFilteredList(ClientSearchModel model) { if (string.IsNullOrEmpty(model.Login)) { @@ -48,13 +48,13 @@ namespace ElectronicsShopDataBaseImplement.Implements return context.Users.Where(x => x.Login.Contains(model.Login)).Select(x => x.GetViewModel).ToList(); } - public List GetFullList() + public List GetFullList() { using var context = new Database(); return context.Users.Select(x => x.GetViewModel).ToList(); } - public UserViewModel? Insert(UserBindingModel model) + public ClientViewModel? Insert(UserBindingModel model) { var newComponent = User.Create(model); if (newComponent == null) @@ -67,7 +67,7 @@ namespace ElectronicsShopDataBaseImplement.Implements return newComponent.GetViewModel; } - public UserViewModel? Update(UserBindingModel model) + public ClientViewModel? Update(UserBindingModel model) { using var context = new Database(); var component = context.Users.FirstOrDefault(x => x.ID == model.ID); diff --git a/ElectronicsShop/ElectronicsShopDataBaseImplement/Models/User.cs b/ElectronicsShop/ElectronicsShopDataBaseImplement/Models/User.cs index 12405c9..07ab77b 100644 --- a/ElectronicsShop/ElectronicsShopDataBaseImplement/Models/User.cs +++ b/ElectronicsShop/ElectronicsShopDataBaseImplement/Models/User.cs @@ -47,7 +47,7 @@ namespace ElectronicsShopDataBaseImplement.Models RoleID = model.RoleID }; } - public static User Create(UserViewModel model) + public static User Create(ClientViewModel model) { return new User { @@ -76,7 +76,7 @@ namespace ElectronicsShopDataBaseImplement.Models Email = model.Email; RoleID = model.RoleID; } - public UserViewModel GetViewModel => new() + public ClientViewModel GetViewModel => new() { ID = ID, FirstName = FirstName, diff --git a/ElectronicsShop/ElectronicsShopShopAssistantApp/Views/Home/Privacy.cshtml b/ElectronicsShop/ElectronicsShopShopAssistantApp/Views/Home/Privacy.cshtml index bfd0647..4c0db79 100644 --- a/ElectronicsShop/ElectronicsShopShopAssistantApp/Views/Home/Privacy.cshtml +++ b/ElectronicsShop/ElectronicsShopShopAssistantApp/Views/Home/Privacy.cshtml @@ -1,6 +1,6 @@ @using ElectronicsShopContracts.ViewModels -@model UserViewModel +@model ClientViewModel @{ ViewData["Title"] = "Privacy Policy";