diff --git a/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/EmployeeLogic.cs b/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/EmployeeLogic.cs index b7d5461..2d0b7d5 100644 --- a/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/EmployeeLogic.cs +++ b/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/EmployeeLogic.cs @@ -39,7 +39,7 @@ namespace ElectronicsShopBusinessLogic.BusinessLogic { return true; } - public EmployeeViewModel? ReadElemet(EmployeeSearchModel model) { + public EmployeeViewModel? ReadElement(EmployeeSearchModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } diff --git a/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IEmployeeLogic.cs b/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IEmployeeLogic.cs index 537754d..4d70f1e 100644 --- a/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IEmployeeLogic.cs +++ b/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IEmployeeLogic.cs @@ -10,7 +10,7 @@ using System.Threading.Tasks; namespace ElectronicsShopContracts.BusinessLogicContracts { public interface IEmployeeLogic { List? ReadList(EmployeeSearchModel model); - EmployeeViewModel? ReadElemet(EmployeeSearchModel model); + EmployeeViewModel? ReadElement(EmployeeSearchModel model); bool Create(EmployeeBindingModel model); bool Update(EmployeeBindingModel model); diff --git a/ElectronicsShop/ElectronicsShopDataBaseImplement/Implements/EmployeeStorage.cs b/ElectronicsShop/ElectronicsShopDataBaseImplement/Implements/EmployeeStorage.cs index a4714aa..9d9de0e 100644 --- a/ElectronicsShop/ElectronicsShopDataBaseImplement/Implements/EmployeeStorage.cs +++ b/ElectronicsShop/ElectronicsShopDataBaseImplement/Implements/EmployeeStorage.cs @@ -3,6 +3,7 @@ using ElectronicsShopContracts.SearchModels; using ElectronicsShopContracts.StorageContracts; using ElectronicsShopContracts.ViewModels; using ElectronicsShopDataBaseImplement.Models; +using Microsoft.EntityFrameworkCore; namespace ElectronicsShopDataBaseImplement.Implements @@ -46,15 +47,17 @@ namespace ElectronicsShopDataBaseImplement.Implements public EmployeeViewModel? GetElement(EmployeeSearchModel model) { - if (string.IsNullOrEmpty(model.Login) && !model.ID.HasValue) - { - return null; - } using var context = new Database(); - return context.Employees - .FirstOrDefault(x => (!string.IsNullOrEmpty(model.Login) && - x.EmployeeFIO == model.EmployeFIO || - (model.ID.HasValue && x.ID == model.ID)))?.GetViewModel; + if (model.ID.HasValue) { + return context.Employees + .FirstOrDefault(x => model.ID.HasValue && x.ID == model.ID)?.GetViewModel; + } + else if (!string.IsNullOrEmpty(model.Login) && !string.IsNullOrEmpty(model.Password)) { + return context.Employees + .FirstOrDefault(x => (x.Login == model.Login && x.Password == model.Password)) + ?.GetViewModel; + } + return new(); } public List GetFilteredList(EmployeeSearchModel model) diff --git a/ElectronicsShop/ElectronicsShopEmployeeApp/Controllers/HomeController.cs b/ElectronicsShop/ElectronicsShopEmployeeApp/Controllers/HomeController.cs index 800d32c..e2e3747 100644 --- a/ElectronicsShop/ElectronicsShopEmployeeApp/Controllers/HomeController.cs +++ b/ElectronicsShop/ElectronicsShopEmployeeApp/Controllers/HomeController.cs @@ -16,7 +16,7 @@ namespace ElectronicsShopEmployeeApp.Controllers { if (APIEmployee.Employee == null) { return Redirect("~/Home/Enter"); } - return View(APIEmployee.GetRequset>($"api/main/getproducts")); + return View(APIEmployee.GetRequset>($"api/main/getproducts?_employeeid={APIEmployee.Employee.ID}")); } [HttpGet] @@ -58,11 +58,12 @@ namespace ElectronicsShopEmployeeApp.Controllers { return View(); } + [HttpPost] public void Enter(string login, string password) { if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password)) { throw new Exception(" "); } - APIEmployee.Employee = APIEmployee.GetRequset($"api/employee/login/login={login}&password={password}"); + APIEmployee.Employee = APIEmployee.GetRequset($"api/employee/login?login={login}&password={password}"); if (APIEmployee.Employee == null) { throw new Exception(" /"); } @@ -74,6 +75,7 @@ namespace ElectronicsShopEmployeeApp.Controllers { return View(); } + [HttpPost] public void Register(string login, string password, string fio) { if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(fio)) { throw new Exception(" , "); @@ -95,7 +97,6 @@ namespace ElectronicsShopEmployeeApp.Controllers { public void Create(OrderBindingModel order) { throw new NotImplementedException(); - } } } diff --git a/ElectronicsShop/ElectronicsShopEmployeeApp/Views/Home/Enter.cshtml b/ElectronicsShop/ElectronicsShopEmployeeApp/Views/Home/Enter.cshtml index 133c160..106d3d5 100644 --- a/ElectronicsShop/ElectronicsShopEmployeeApp/Views/Home/Enter.cshtml +++ b/ElectronicsShop/ElectronicsShopEmployeeApp/Views/Home/Enter.cshtml @@ -8,7 +8,7 @@
Логин:
-
+
Пароль:
diff --git a/ElectronicsShop/ElectronicsShopEmployeeApp/Views/Home/Register.cshtml b/ElectronicsShop/ElectronicsShopEmployeeApp/Views/Home/Register.cshtml index c46ac98..c357b60 100644 --- a/ElectronicsShop/ElectronicsShopEmployeeApp/Views/Home/Register.cshtml +++ b/ElectronicsShop/ElectronicsShopEmployeeApp/Views/Home/Register.cshtml @@ -7,7 +7,7 @@
-
Почта:
+
Логин:
diff --git a/ElectronicsShop/ElectronicsShopRestAPI/Controllers/EmployeeController.cs b/ElectronicsShop/ElectronicsShopRestAPI/Controllers/EmployeeController.cs index 6a296f8..f11a620 100644 --- a/ElectronicsShop/ElectronicsShopRestAPI/Controllers/EmployeeController.cs +++ b/ElectronicsShop/ElectronicsShopRestAPI/Controllers/EmployeeController.cs @@ -22,7 +22,7 @@ namespace ElectronicsShopRestAPI.Controllers { [HttpGet] public EmployeeViewModel? Login(string login, string password) { try { - return _logic.ReadElemet(new EmployeeSearchModel { + return _logic.ReadElement(new EmployeeSearchModel { Login = login, Password = password }); diff --git a/ElectronicsShop/ElectronicsShopRestAPI/Controllers/MainController.cs b/ElectronicsShop/ElectronicsShopRestAPI/Controllers/MainController.cs index 07c6127..2811080 100644 --- a/ElectronicsShop/ElectronicsShopRestAPI/Controllers/MainController.cs +++ b/ElectronicsShop/ElectronicsShopRestAPI/Controllers/MainController.cs @@ -1,17 +1,21 @@ using ElectronicsShopContracts.BindingModels; +using ElectronicsShopContracts.BusinessLogicContracts; +using ElectronicsShopContracts.SearchModels; using ElectronicsShopContracts.ViewModels; using Microsoft.AspNetCore.Mvc; -namespace ElectronicsShopResrAPI.Controllers { +namespace ElectronicsShopRestAPI.Controllers { [Route("api/[controller]/[action]")] [ApiController] public class MainController : Controller { private readonly ILogger _logger; + private readonly IProductLogic _product; - public MainController(ILogger logger) { + public MainController(ILogger logger, IProductLogic product) { _logger = logger; + _product = product; } [HttpGet] @@ -29,10 +33,21 @@ namespace ElectronicsShopResrAPI.Controllers { // клиент должен получать свои заказы // сотрудник должен получать все заказы [HttpGet] - public List? GetOrders(int? userID = null) { + public List? GetOrders(int _clientID) { return null; } + [HttpGet] + public List? GetProducts() { + try { + return _product.ReadList(new ProductSearchModel {}); + } + catch (Exception ex) { + _logger.LogError(ex, $"Ошибка получения данных"); + throw; + } + } + [HttpPost] public void CreateOrder(OrderBindingModel model) { return; diff --git a/ElectronicsShop/ElectronicsShopRestAPI/ElectronicsShopResrAPI.http b/ElectronicsShop/ElectronicsShopRestAPI/ElectronicsShopResrAPI.http deleted file mode 100644 index 2730b38..0000000 --- a/ElectronicsShop/ElectronicsShopRestAPI/ElectronicsShopResrAPI.http +++ /dev/null @@ -1,6 +0,0 @@ -@ElectronicsShopResrAPI_HostAddress = http://localhost:5176 - -GET {{ElectronicsShopResrAPI_HostAddress}}/weatherforecast/ -Accept: application/json - -### diff --git a/ElectronicsShop/ElectronicsShopRestAPI/ElectronicsShopRestAPI.http b/ElectronicsShop/ElectronicsShopRestAPI/ElectronicsShopRestAPI.http new file mode 100644 index 0000000..4b17b64 --- /dev/null +++ b/ElectronicsShop/ElectronicsShopRestAPI/ElectronicsShopRestAPI.http @@ -0,0 +1,6 @@ +@ElectronicsShopRestAPI_HostAddress = http://localhost:5176 + +GET {{ElectronicsShopRestAPI_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/ElectronicsShop/ElectronicsShopRestAPI/Program.cs b/ElectronicsShop/ElectronicsShopRestAPI/Program.cs index 379c4e5..31d569e 100644 --- a/ElectronicsShop/ElectronicsShopRestAPI/Program.cs +++ b/ElectronicsShop/ElectronicsShopRestAPI/Program.cs @@ -11,8 +11,10 @@ var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddTransient(); +builder.Services.AddTransient(); builder.Services.AddTransient(); +builder.Services.AddTransient(); builder.Services.AddControllers(); // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle diff --git a/ElectronicsShop/ElectronicsShopShopClientApp/Views/Shared/_Layout.cshtml b/ElectronicsShop/ElectronicsShopShopClientApp/Views/Shared/_Layout.cshtml index 45eca62..948b12e 100644 --- a/ElectronicsShop/ElectronicsShopShopClientApp/Views/Shared/_Layout.cshtml +++ b/ElectronicsShop/ElectronicsShopShopClientApp/Views/Shared/_Layout.cshtml @@ -20,7 +20,7 @@