This commit is contained in:
Дмитрий Блохин 2024-04-30 21:52:09 +04:00
commit 24ab0decab
4 changed files with 12 additions and 4 deletions

View File

@ -12,5 +12,6 @@ namespace Contracts.SearchModels
public string? Name { get; set; } public string? Name { get; set; }
public int? UserId { get; set; } public int? UserId { get; set; }
public int? MachineId { get; set; } public int? MachineId { get; set; }
public int? DetailId { get; set; }
} }
} }

View File

@ -11,5 +11,6 @@ namespace Contracts.SearchModels
public int? Id { get; set; } public int? Id { get; set; }
public string? Name { get; set; } public string? Name { get; set; }
public int? UserId { get; set; } public int? UserId { get; set; }
public int? DetailId { get; set; }
} }
} }

View File

@ -29,12 +29,15 @@ namespace DatabaseImplement.Implements
public List<ProductViewModel> GetFilteredList(ProductSearchModel model) public List<ProductViewModel> GetFilteredList(ProductSearchModel model)
{ {
if (!model.UserId.HasValue) if (!model.UserId.HasValue && !model.DetailId.HasValue)
{ {
return new(); return new();
} }
using var context = new FactoryGoWorkDatabase(); using var context = new FactoryGoWorkDatabase();
return context.Products.Include(p => p.Details).ThenInclude(p => p.Detail).Where(x => x.UserId == model.Id).Select(x => x.GetViewModel).ToList(); if (model.DetailId.HasValue)
return context.Products.Include(p => p.Details).ThenInclude(p => p.Detail).Where(x => x.UserId == model.Id).Where(x => x.Details.FirstOrDefault(y => y.DetailId == model.DetailId) != null).Select(x => x.GetViewModel).ToList();
else
return context.Products.Include(p => p.Details).ThenInclude(p => p.Detail).Where(x => x.UserId == model.Id).Select(x => x.GetViewModel).ToList();
} }
public List<ProductViewModel> GetFullList() public List<ProductViewModel> GetFullList()

View File

@ -29,12 +29,15 @@ namespace DatabaseImplement.Implements
public List<ProductionViewModel> GetFilteredList(ProductionSearchModel model) public List<ProductionViewModel> GetFilteredList(ProductionSearchModel model)
{ {
if (!model.UserId.HasValue) if (!model.UserId.HasValue && !model.DetailId.HasValue)
{ {
return new(); return new();
} }
using var context = new FactoryGoWorkDatabase(); using var context = new FactoryGoWorkDatabase();
return context.Productions.Include(x => x.Details).ThenInclude(x => x.Detail).Where(x => x.UserId == model.UserId).Select(x => x.GetViewModel).ToList(); if (model.DetailId.HasValue)
return context.Productions.Include(x => x.Details).ThenInclude(x => x.Detail).Where(x => x.UserId == model.UserId).Where(x => x.Details.FirstOrDefault(y => y.DetailId == model.DetailId) != null).Include(x => x.User).Select(x => x.GetViewModel).ToList();
else
return context.Productions.Include(x => x.Details).ThenInclude(x => x.Detail).Where(x => x.UserId == model.UserId).Select(x => x.GetViewModel).ToList();
} }
public List<ProductionViewModel> GetFullList() public List<ProductionViewModel> GetFullList()