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(); using var context = new RepairsShopDatabase();
return context.Orders return context.Orders
.Select(x => AccessRepairsStorage(x.GetViewModel)) .Select(x => x.GetViewModel)
.ToList(); .ToList();
} }
public List<OrderViewModel> GetFilteredList(OrderSearchModel model) public List<OrderViewModel> GetFilteredList(OrderSearchModel model)
@ -24,7 +24,7 @@ namespace CarRepairShopDatabaseImplement.Implements
using var context = new RepairsShopDatabase(); using var context = new RepairsShopDatabase();
return context.Orders return context.Orders
.Where(x => x.Id == model.Id) .Where(x => x.Id == model.Id)
.Select(x => AccessRepairsStorage(x.GetViewModel)) .Select(x => x.GetViewModel)
.ToList(); .ToList();
} }
public OrderViewModel? GetElement(OrderSearchModel model) public OrderViewModel? GetElement(OrderSearchModel model)
@ -34,19 +34,19 @@ namespace CarRepairShopDatabaseImplement.Implements
return null; return null;
} }
using var context = new RepairsShopDatabase(); 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) public OrderViewModel? Insert(OrderBindingModel model)
{ {
var newOrder = Order.Create(model); using var context = new RepairsShopDatabase();
var newOrder = Order.Create(context, model);
if (newOrder == null) if (newOrder == null)
{ {
return null; return null;
} }
using var context = new RepairsShopDatabase();
context.Orders.Add(newOrder); context.Orders.Add(newOrder);
context.SaveChanges(); context.SaveChanges();
return AccessRepairsStorage(newOrder.GetViewModel); return newOrder.GetViewModel;
} }
public OrderViewModel? Update(OrderBindingModel model) public OrderViewModel? Update(OrderBindingModel model)
{ {
@ -59,7 +59,7 @@ namespace CarRepairShopDatabaseImplement.Implements
} }
order.Update(model); order.Update(model);
context.SaveChanges(); context.SaveChanges();
return AccessRepairsStorage(order.GetViewModel); return order.GetViewModel;
} }
public OrderViewModel? Delete(OrderBindingModel model) public OrderViewModel? Delete(OrderBindingModel model)
{ {
@ -70,25 +70,9 @@ namespace CarRepairShopDatabaseImplement.Implements
{ {
context.Orders.Remove(element); context.Orders.Remove(element);
context.SaveChanges(); context.SaveChanges();
return AccessRepairsStorage(element.GetViewModel); return element.GetViewModel;
} }
return null; 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 => modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Order", b =>
{ {
b.HasOne("CarRepairShopDatabaseImplement.Models.Repair", null) b.HasOne("CarRepairShopDatabaseImplement.Models.Repair", "Repair")
.WithMany("Orders") .WithMany("Orders")
.HasForeignKey("RepairId") .HasForeignKey("RepairId")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
b.Navigation("Repair");
}); });
modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.RepairComponent", b => modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.RepairComponent", b =>

View File

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