Models & Logic fix

This commit is contained in:
2023-05-20 00:08:47 +04:00
parent 1283b13869
commit 3ba667323d
15 changed files with 375 additions and 85 deletions

View File

@@ -24,9 +24,42 @@ namespace ComputerShopDatabaseImplement.Models
public DateTime? DateImplement { get; private set; }
[ForeignKey("OrderId")]
public virtual List<SupplyOrder> SupplyOrders { get; set; } = new();
public virtual List<SupplyOrder> Supplies { get; set; } = new();
private Dictionary<int, IOrderModel>? _supplyOrders = null;
[ForeignKey("OrderId")]
public virtual List<AssemblyOrder> Assemblies { get; set; } = new();
private Dictionary<int, (IOrderModel, int)>? _assemblyOrders = null;
[NotMapped]
public Dictionary<int, (IOrderModel, int)> AssemblyOrders
{
get
{
if (_assemblyOrders == null)
{
_assemblyOrders = Assemblies
.ToDictionary(recPC => recPC.AssemblyId, recPC =>
(recPC.Order as IOrderModel, recPC.Count));
}
return _assemblyOrders;
}
}
[NotMapped]
public Dictionary<int, IOrderModel> SupplyOrders
{
get
{
if (_supplyOrders == null)
{
_supplyOrders = Supplies
.ToDictionary(recPC => recPC.SupplyId, recPC =>
(recPC.Order as IOrderModel));
}
return _supplyOrders;
}
}
[Required]
public int ClientId { get; set; }
public static Order? Create(OrderBindingModel model)
@@ -42,6 +75,7 @@ namespace ComputerShopDatabaseImplement.Models
Status = model.Status,
DateCreate = model.DateCreate,
DateImplement = model.DateImplement,
ClientId = model.ClientId
};
}
public static Order Create(OrderViewModel model)
@@ -53,6 +87,7 @@ namespace ComputerShopDatabaseImplement.Models
Status = model.Status,
DateCreate = model.DateCreate,
DateImplement = model.DateImplement,
ClientId = model.ClientId
};
}
public void Update(OrderBindingModel model)
@@ -71,6 +106,7 @@ namespace ComputerShopDatabaseImplement.Models
Status = Status,
DateCreate = DateCreate,
DateImplement = DateImplement,
ClientId = ClientId
};
}
}

View File

@@ -26,6 +26,8 @@ namespace ComputerShopDatabaseImplement.Models
public int OrderId { get; set; }
public int ReceivingId { get; set; }
public virtual EquipmentReceiving Receiving { get; set; }
private Dictionary<int, IOrderModel>? _supplyOrders =
null;
[NotMapped]
@@ -54,6 +56,7 @@ namespace ComputerShopDatabaseImplement.Models
Status = model.Status,
DateCreate = model.DateCreate,
DateImplement = model.DateImplement,
Receiving = model.Receiving,
Orders = model.SupplyOrders.Select(x => new
SupplyOrder
{