Доделал инфа сотка (как ауди сотка только инфа)
This commit is contained in:
parent
2a8cfd8b83
commit
f5fc189bda
@ -3,6 +3,7 @@ using ComputersShopContracts.SearchModels;
|
||||
using ComputersShopContracts.StoragesContracts;
|
||||
using ComputersShopContracts.ViewModels;
|
||||
using ComputersShopDatabaseImplement.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@ -16,8 +17,8 @@ namespace ComputersShopDatabaseImplement.Implements
|
||||
public List<OrderViewModel> GetFullList()
|
||||
{
|
||||
using var context = new ComputersShopDatabase();
|
||||
return context.Orders
|
||||
.Select(x => AccessComputersStorage(x.GetViewModel))
|
||||
return context.Orders.Include(x => x.Computers)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
public List<OrderViewModel> GetFilteredList(OrderSearchModel model)
|
||||
@ -27,9 +28,9 @@ namespace ComputersShopDatabaseImplement.Implements
|
||||
return new();
|
||||
}
|
||||
using var context = new ComputersShopDatabase();
|
||||
return context.Orders
|
||||
return context.Orders.Include(x => x.Computers)
|
||||
.Where(x => x.Id == model.Id)
|
||||
.Select(x => AccessComputersStorage(x.GetViewModel))
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
public OrderViewModel? GetElement(OrderSearchModel model)
|
||||
@ -39,7 +40,7 @@ namespace ComputersShopDatabaseImplement.Implements
|
||||
return null;
|
||||
}
|
||||
using var context = new ComputersShopDatabase();
|
||||
return AccessComputersStorage(context.Orders.FirstOrDefault(x => x.Id == model.Id)?.GetViewModel);
|
||||
return context.Orders.Include(x => x.Computers).FirstOrDefault(x => x.Id == model.Id)?.GetViewModel;
|
||||
}
|
||||
public OrderViewModel? Insert(OrderBindingModel model)
|
||||
{
|
||||
@ -51,49 +52,31 @@ namespace ComputersShopDatabaseImplement.Implements
|
||||
using var context = new ComputersShopDatabase();
|
||||
context.Orders.Add(newOrder);
|
||||
context.SaveChanges();
|
||||
return AccessComputersStorage(newOrder.GetViewModel);
|
||||
return newOrder.GetViewModel;
|
||||
}
|
||||
public OrderViewModel? Update(OrderBindingModel model)
|
||||
{
|
||||
using var context = new ComputersShopDatabase();
|
||||
var order = context.Orders.FirstOrDefault(x => x.Id ==
|
||||
model.Id);
|
||||
var order = context.Orders.Include(x => x.Computers).FirstOrDefault(x => x.Id == model.Id);
|
||||
if (order == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
order.Update(model);
|
||||
context.SaveChanges();
|
||||
return AccessComputersStorage(order.GetViewModel);
|
||||
return order.GetViewModel;
|
||||
}
|
||||
public OrderViewModel? Delete(OrderBindingModel model)
|
||||
{
|
||||
using var context = new ComputersShopDatabase();
|
||||
var element = context.Orders.FirstOrDefault(rec => rec.Id ==
|
||||
model.Id);
|
||||
var element = context.Orders.Include(x => x.Computers).FirstOrDefault(rec => rec.Id == model.Id);
|
||||
if (element != null)
|
||||
{
|
||||
context.Orders.Remove(element);
|
||||
context.SaveChanges();
|
||||
return AccessComputersStorage(element.GetViewModel);
|
||||
return element.GetViewModel;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static OrderViewModel AccessComputersStorage(OrderViewModel model)
|
||||
{
|
||||
if (model == null)
|
||||
return null;
|
||||
using var context = new ComputersShopDatabase();
|
||||
foreach (var Computers in context.Computers)
|
||||
{
|
||||
if (Computers.Id == model.ComputerId)
|
||||
{
|
||||
model.ComputerName = Computers.ComputerName;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return model;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
namespace ComputersShopDatabaseImplement.Migrations
|
||||
{
|
||||
[DbContext(typeof(ComputersShopDatabase))]
|
||||
[Migration("20240312150451_InitialCreate")]
|
||||
[Migration("20240325171651_InitialCreate")]
|
||||
partial class InitialCreate
|
||||
{
|
||||
/// <inheritdoc />
|
@ -20,6 +20,7 @@ namespace ComputersShopDatabaseImplement.Models
|
||||
public DateTime? DateImplement { get; private set; }
|
||||
[Required]
|
||||
public int ComputerId { get; private set; }
|
||||
public virtual Computer? Computers { get; private set; }
|
||||
|
||||
public static Order? Create(OrderBindingModel model)
|
||||
{
|
||||
@ -58,6 +59,7 @@ namespace ComputersShopDatabaseImplement.Models
|
||||
DateCreate = DateCreate,
|
||||
DateImplement = DateImplement,
|
||||
Id = Id,
|
||||
ComputerName = Computers?.ComputerName ?? string.Empty
|
||||
};
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user