diff --git a/CarShowroom/CarShowroomDatabaseStorage/Storages/SaleStorage.cs b/CarShowroom/CarShowroomDatabaseStorage/Storages/SaleStorage.cs index b7e9e88..7310c9e 100644 --- a/CarShowroom/CarShowroomDatabaseStorage/Storages/SaleStorage.cs +++ b/CarShowroom/CarShowroomDatabaseStorage/Storages/SaleStorage.cs @@ -19,7 +19,9 @@ namespace CarShowroomDatabaseStorage.Storages { using var context = new CarShowroomDatabase(); return context.Sales - .Select(x => x.GetView()) + .Include(s => s.Client) + .Include(s => s.Employee) + .Select(x => x.GetView()) .ToList(); } @@ -31,6 +33,8 @@ namespace CarShowroomDatabaseStorage.Storages } using var context = new CarShowroomDatabase(); return context.Sales + .Include(s => s.Client) + .Include(s => s.Employee) .Where(x => !model.Id.HasValue || x.Id == model.Id) .Select(x => x.GetView()) .ToList(); @@ -58,8 +62,8 @@ namespace CarShowroomDatabaseStorage.Storages if (newSale == null) throw new InvalidOperationException("SaleId is incorrect"); context.SaveChanges(); - int saleId = context.Sales.Add(newSale).CurrentValues.GetValue("Id"); - SaleView result = UpdateCarsAndServices(context, model, saleId); + context.Sales.Add(newSale); + SaleView result = UpdateCarsAndServices(context, model, newSale); transaction.Commit(); return result; } @@ -82,7 +86,7 @@ namespace CarShowroomDatabaseStorage.Storages throw new InvalidOperationException("SaleId is incorrect"); sale.Update(model); context.SaveChanges(); - SaleView result = UpdateCarsAndServices(context, model, sale.Id); + SaleView result = UpdateCarsAndServices(context, model, sale); transaction.Commit(); return result; } @@ -108,9 +112,8 @@ namespace CarShowroomDatabaseStorage.Storages } private SaleView UpdateCarsAndServices(CarShowroomDatabase context, - SaleDto model, int saleId) + SaleDto model, Sale sale) { - var sale = context.Sales.First(x => x.Id == saleId); var saleCars = context.SaleCars .Where(rec => rec.SaleId == model.Id) .ToList(); @@ -151,27 +154,20 @@ namespace CarShowroomDatabaseStorage.Storages }); context.SaveChanges(); } - return UpdatePrice(context, saleId); + return UpdatePrice(context, sale); } - private SaleView UpdatePrice(CarShowroomDatabase context, int saleId) + private SaleView UpdatePrice(CarShowroomDatabase context, Sale sale) { - Sale? sale = context.Sales - .FirstOrDefault(rec => rec.Id == saleId); if (sale == null) throw new InvalidOperationException("SaleId is incorrect"); List Cars = context.Cars .Include(c => c.Model) - .Include(c => c.SaleCars) - .Where(c => c.SaleCars - .Select(sc => sc.SaleId) - .Contains(saleId)) + .Where(c => sale.CarIds.Contains(c.Id)) .ToList(); List Services = context.Services .Include(s => s.SaleServices) - .Where(s => s.SaleServices - .Select(ss => ss.SaleId) - .Contains(saleId)) + .Where(s => sale.ServiceIds.Contains(s.Id)) .ToList(); int price = 0; foreach(Car car in Cars) diff --git a/CarShowroom/CarShowroomManagerApp/Controllers/HomeController.cs b/CarShowroom/CarShowroomManagerApp/Controllers/HomeController.cs index 33c8c1c..da88bf7 100644 --- a/CarShowroom/CarShowroomManagerApp/Controllers/HomeController.cs +++ b/CarShowroom/CarShowroomManagerApp/Controllers/HomeController.cs @@ -86,10 +86,12 @@ namespace CarShowroomManagerApp.Controllers if (ApiClient.Client == null) { Redirect("~/Home/Enter"); + return; } ApiClient.PostRequest("api/sale/createsale", new SaleDto { + EmployeeId = ApiClient.Client.Id, ClientId = client, CarIds = cars, ServiceIds = services diff --git a/CarShowroom/CarShowroomManagerApp/Views/Home/Index.cshtml b/CarShowroom/CarShowroomManagerApp/Views/Home/Index.cshtml index dbc7054..2792939 100644 --- a/CarShowroom/CarShowroomManagerApp/Views/Home/Index.cshtml +++ b/CarShowroom/CarShowroomManagerApp/Views/Home/Index.cshtml @@ -22,8 +22,9 @@ Номер Цена - Дата открытия + Время продажи Менеджер + Клиент @@ -38,6 +39,10 @@ @Html.DisplayFor(modelItem => item.Price) + + @Html.DisplayFor(modelItem => + item.SaleTime) + @Html.DisplayFor(modelItem => item.EmployeeName)