This commit is contained in:
Yunusov_Niyaz 2024-03-24 20:29:38 +04:00
parent eebaf97e78
commit fc20462d0a
3 changed files with 15 additions and 31 deletions

View File

@ -12,7 +12,7 @@ namespace CarRepairShopDatabaseImplement.Implements
{
using var context = new RepairsShopDatabase();
return context.Orders
.Select(x => AccessRepairsStorage(x.GetViewModel))
.Select(x => x.GetViewModel)
.ToList();
}
public List<OrderViewModel> GetFilteredList(OrderSearchModel model)
@ -24,7 +24,7 @@ namespace CarRepairShopDatabaseImplement.Implements
using var context = new RepairsShopDatabase();
return context.Orders
.Where(x => x.Id == model.Id)
.Select(x => AccessRepairsStorage(x.GetViewModel))
.Select(x => x.GetViewModel)
.ToList();
}
public OrderViewModel? GetElement(OrderSearchModel model)
@ -34,19 +34,19 @@ namespace CarRepairShopDatabaseImplement.Implements
return null;
}
using var context = new RepairsShopDatabase();
return AccessRepairsStorage(context.Orders.FirstOrDefault(x => x.Id == model.Id)?.GetViewModel);
return context.Orders.FirstOrDefault(x => x.Id == model.Id)?.GetViewModel;
}
public OrderViewModel? Insert(OrderBindingModel model)
{
var newOrder = Order.Create(model);
using var context = new RepairsShopDatabase();
var newOrder = Order.Create(context, model);
if (newOrder == null)
{
return null;
}
using var context = new RepairsShopDatabase();
context.Orders.Add(newOrder);
context.SaveChanges();
return AccessRepairsStorage(newOrder.GetViewModel);
return newOrder.GetViewModel;
}
public OrderViewModel? Update(OrderBindingModel model)
{
@ -59,7 +59,7 @@ namespace CarRepairShopDatabaseImplement.Implements
}
order.Update(model);
context.SaveChanges();
return AccessRepairsStorage(order.GetViewModel);
return order.GetViewModel;
}
public OrderViewModel? Delete(OrderBindingModel model)
{
@ -70,25 +70,9 @@ namespace CarRepairShopDatabaseImplement.Implements
{
context.Orders.Remove(element);
context.SaveChanges();
return AccessRepairsStorage(element.GetViewModel);
return element.GetViewModel;
}
return null;
}
public static OrderViewModel AccessRepairsStorage(OrderViewModel model)
{
if (model == null)
return null;
using var context = new RepairsShopDatabase();
foreach (var Repairs in context.Repairs)
{
if (Repairs.Id == model.RepairId)
{
model.RepairName = Repairs.RepairName;
break;
}
}
return model;
}
}
}

View File

@ -119,11 +119,12 @@ namespace CarRepairShopDatabaseImplement.Migrations
modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Order", b =>
{
b.HasOne("CarRepairShopDatabaseImplement.Models.Repair", null)
b.HasOne("CarRepairShopDatabaseImplement.Models.Repair", "Repair")
.WithMany("Orders")
.HasForeignKey("RepairId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Repair");
});
modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.RepairComponent", b =>

View File

@ -19,13 +19,10 @@ namespace CarRepairShopDatabaseImplement.Models
public DateTime? DateImplement { get; private set; }
[Required]
public int RepairId { get; private set; }
public virtual Repair Repair { get; set; } = new();
public static Order? Create(OrderBindingModel model)
public static Order? Create(RepairsShopDatabase context, OrderBindingModel model)
{
if (model == null)
{
return null;
}
return new Order()
{
Id = model.Id,
@ -35,6 +32,7 @@ namespace CarRepairShopDatabaseImplement.Models
DateCreate = model.DateCreate,
DateImplement = model.DateImplement,
RepairId = model.RepairId,
Repair = context.Repairs.FirstOrDefault(x => x.Id == model.RepairId)
};
}
@ -51,12 +49,13 @@ namespace CarRepairShopDatabaseImplement.Models
public OrderViewModel GetViewModel => new()
{
RepairId = RepairId,
RepairName = Repair.RepairName,
Count = Count,
Sum = Sum,
Status = Status,
DateCreate = DateCreate,
DateImplement = DateImplement,
Id = Id,
Id = Id
};
}
}