рабочая лаба 3
This commit is contained in:
parent
69a9eab049
commit
87fa928f56
@ -70,7 +70,8 @@ namespace SoftwareInstallationDatabaseImplement
|
||||
Sum = Sum,
|
||||
Status = Status,
|
||||
DateCreate = DateCreate,
|
||||
DateImplement = DateImplement
|
||||
DateImplement = DateImplement,
|
||||
PackageName = Package.PackageName
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -11,46 +11,111 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace SoftwareInstallationDatabaseImplement
|
||||
{
|
||||
//public class OrderStorage : IOrderStorage
|
||||
//{
|
||||
// public OrderViewModel? Delete(OrderBindingModel model)
|
||||
// {
|
||||
// using var context = new SoftwareInstallationDatabase();
|
||||
// var element = context.Orders.FirstOrDefault(x => x.Id == model.Id);
|
||||
// if (element != null)
|
||||
// {
|
||||
// context.Orders.Remove(element);
|
||||
// context.SaveChanges();
|
||||
// return element.GetViewModel;
|
||||
// }
|
||||
// return null;
|
||||
// }
|
||||
|
||||
// public OrderViewModel? GetElement(OrderSearchModel model)
|
||||
// {
|
||||
// using var context = new SoftwareInstallationDatabase();
|
||||
// if (!model.Id.HasValue)
|
||||
// {
|
||||
// return null;
|
||||
// }
|
||||
// return context.Orders
|
||||
// .Include(x => x.Package)
|
||||
// .FirstOrDefault(x => model.Id.HasValue && x.Id == model.Id)?.GetViewModel;
|
||||
// }
|
||||
|
||||
// public List<OrderViewModel> GetFilteredList(OrderSearchModel model)
|
||||
// {
|
||||
// var result = GetElement(model);
|
||||
// return result != null ? new() { result } : new();
|
||||
// }
|
||||
|
||||
// public List<OrderViewModel> GetFullList()
|
||||
// {
|
||||
// using var context = new SoftwareInstallationDatabase();
|
||||
// return context.Orders
|
||||
// .Include(x => x.Package)
|
||||
// .Select(x => x.GetViewModel)
|
||||
// .ToList();
|
||||
// }
|
||||
|
||||
// public OrderViewModel? Insert(OrderBindingModel model)
|
||||
// {
|
||||
// var newOrder = Order.Create(model);
|
||||
// if (newOrder == null)
|
||||
// {
|
||||
// return null;
|
||||
// }
|
||||
// using var context = new SoftwareInstallationDatabase();
|
||||
// context.Orders.Add(newOrder);
|
||||
// context.SaveChanges();
|
||||
// return newOrder.GetViewModel;
|
||||
// }
|
||||
|
||||
// public OrderViewModel? Update(OrderBindingModel model)
|
||||
// {
|
||||
// using var context = new SoftwareInstallationDatabase();
|
||||
// var order = context.Orders.Include(x => x.Package).FirstOrDefault(x => x.Id == model.Id);
|
||||
// if (order == null)
|
||||
// {
|
||||
// return null;
|
||||
// }
|
||||
// order.Update(model);
|
||||
// context.SaveChanges();
|
||||
// return order.GetViewModel;
|
||||
// }
|
||||
//}
|
||||
|
||||
public class OrderStorage : IOrderStorage
|
||||
{
|
||||
public OrderViewModel? Delete(OrderBindingModel model)
|
||||
{
|
||||
using var context = new SoftwareInstallationDatabase();
|
||||
var element = context.Orders.FirstOrDefault(x => x.Id == model.Id);
|
||||
if (element != null)
|
||||
{
|
||||
context.Orders.Remove(element);
|
||||
context.SaveChanges();
|
||||
return element.GetViewModel;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public OrderViewModel? GetElement(OrderSearchModel model)
|
||||
{
|
||||
using var context = new SoftwareInstallationDatabase();
|
||||
if (!model.Id.HasValue)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return context.Orders
|
||||
.Include(x => x.Package)
|
||||
.FirstOrDefault(x => model.Id.HasValue && x.Id == model.Id)?.GetViewModel;
|
||||
}
|
||||
|
||||
public List<OrderViewModel> GetFilteredList(OrderSearchModel model)
|
||||
{
|
||||
var result = GetElement(model);
|
||||
return result != null ? new() { result } : new();
|
||||
}
|
||||
|
||||
public List<OrderViewModel> GetFullList()
|
||||
{
|
||||
using var context = new SoftwareInstallationDatabase();
|
||||
return context.Orders
|
||||
.Include(x => x.Package)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
.Include(x => x.Package)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public List<OrderViewModel> GetFilteredList(OrderSearchModel model)
|
||||
{
|
||||
if (!model.Id.HasValue)
|
||||
{
|
||||
return new();
|
||||
}
|
||||
using var context = new SoftwareInstallationDatabase();
|
||||
return context.Orders
|
||||
.Include(x => x.Package)
|
||||
.Where(x => x.Id == model.Id)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public OrderViewModel? GetElement(OrderSearchModel model)
|
||||
{
|
||||
if (!model.Id.HasValue)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
using var context = new SoftwareInstallationDatabase();
|
||||
return context.Orders
|
||||
.Include(x => x.Package)
|
||||
.FirstOrDefault(x => x.Id == model.Id)
|
||||
?.GetViewModel;
|
||||
}
|
||||
|
||||
public OrderViewModel? Insert(OrderBindingModel model)
|
||||
@ -63,20 +128,43 @@ namespace SoftwareInstallationDatabaseImplement
|
||||
using var context = new SoftwareInstallationDatabase();
|
||||
context.Orders.Add(newOrder);
|
||||
context.SaveChanges();
|
||||
return newOrder.GetViewModel;
|
||||
return context.Orders
|
||||
.Include(x => x.Package)
|
||||
.FirstOrDefault(x => x.Id == newOrder.Id)
|
||||
?.GetViewModel;
|
||||
}
|
||||
|
||||
public OrderViewModel? Update(OrderBindingModel model)
|
||||
{
|
||||
using var context = new SoftwareInstallationDatabase();
|
||||
var order = context.Orders.Include(x => x.Package).FirstOrDefault(x => x.Id == model.Id);
|
||||
var order = context.Orders.FirstOrDefault(x => x.Id == model.Id);
|
||||
if (order == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
order.Update(model);
|
||||
context.SaveChanges();
|
||||
return order.GetViewModel;
|
||||
return context.Orders
|
||||
.Include(x => x.Package)
|
||||
.FirstOrDefault(x => x.Id == model.Id)
|
||||
?.GetViewModel;
|
||||
}
|
||||
|
||||
public OrderViewModel? Delete(OrderBindingModel model)
|
||||
{
|
||||
using var context = new SoftwareInstallationDatabase();
|
||||
var element = context.Orders.FirstOrDefault(rec => rec.Id == model.Id);
|
||||
if (element != null)
|
||||
{
|
||||
var deletedElement = context.Orders
|
||||
.Include(x => x.Package)
|
||||
.FirstOrDefault(x => x.Id == model.Id)
|
||||
?.GetViewModel;
|
||||
context.Orders.Remove(element);
|
||||
context.SaveChanges();
|
||||
return deletedElement;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user