Merge branch 'LabWork02_Hard' into LabWork03_Hard

This commit is contained in:
Safgerd 2023-04-09 21:17:23 +04:00
commit 32f0c536d1
2 changed files with 15 additions and 22 deletions

View File

@ -18,6 +18,6 @@ namespace AutomobilePlantContracts.BusinessLogicContracts
bool Update(ShopBindingModel model);
bool Delete(ShopBindingModel model);
bool SupplyCars(ShopSearchModel model, ICarModel car, int count);
bool SellCar(ICarModel document, int count);
bool SellCar(ICarModel car, int count);
}
}

View File

@ -83,29 +83,24 @@ namespace AutomobilePlantFileImplement.Implements
public bool SellCar(ICarModel model, int count)
{
// переделать под linq
var car = source.Cars.FirstOrDefault(x => x.Id == model.Id);
var countStore = count;
if (car == null)
{
return false;
}
foreach (var shop in source.Shops)
var countStore = count;
var shopCars = source.Shops.SelectMany(shop => shop.ShopCars.Where(c => c.Value.Item1.Id == car.Id));
foreach (var c in shopCars)
{
foreach (var c in shop.ShopCars)
count -= c.Value.Item2;
if (count <= 0)
{
if (c.Value.Item1.Id == car.Id)
{
count -= c.Value.Item2;
}
if (count <= 0)
{
break;
}
break;
}
}
@ -116,9 +111,8 @@ namespace AutomobilePlantFileImplement.Implements
count = countStore;
for (int i = 0; i < source.Shops.Count; i++)
foreach (var shop in source.Shops)
{
var shop = source.Shops[i];
var cars = shop.ShopCars;
foreach (var c in cars.Where(x => x.Value.Item1.Id == car.Id))
@ -142,14 +136,13 @@ namespace AutomobilePlantFileImplement.Implements
MaxCountCars = shop.MaxCountCars,
ShopCars = cars
});
source.SaveShops();
if (count <= 0) break;
}
if (count > 0)
{
return false;
}
return true;
return count <= 0;
}
}
}