Compare commits
No commits in common. "95a10df89d8f95a703fde116cd137deba18c0632" and "c5b726ffc984109690eee89614cd53f25d94a89d" have entirely different histories.
95a10df89d
...
c5b726ffc9
@ -18,6 +18,6 @@ namespace AutomobilePlantContracts.BusinessLogicContracts
|
|||||||
bool Update(ShopBindingModel model);
|
bool Update(ShopBindingModel model);
|
||||||
bool Delete(ShopBindingModel model);
|
bool Delete(ShopBindingModel model);
|
||||||
bool SupplyCars(ShopSearchModel model, ICarModel car, int count);
|
bool SupplyCars(ShopSearchModel model, ICarModel car, int count);
|
||||||
bool SellCar(ICarModel car, int count);
|
bool SellCar(ICarModel document, int count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -100,7 +100,6 @@ namespace AutomobilePlantDatabaseImplement.Implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
car.Update(model);
|
car.Update(model);
|
||||||
car.UpdateComponents(context, model);
|
|
||||||
|
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
context.Database.CommitTransaction();
|
context.Database.CommitTransaction();
|
||||||
|
@ -77,17 +77,14 @@ namespace AutomobilePlantDatabaseImplement.Implements
|
|||||||
using var transaction = context.Database.BeginTransaction();
|
using var transaction = context.Database.BeginTransaction();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var shop = context.Shops.Include(x => x.Cars).FirstOrDefault(x => x.Id == model.Id);
|
var shop = context.Shops.FirstOrDefault(x => x.Id == model.Id);
|
||||||
if (shop == null)
|
if (shop == null)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
shop.Update(model);
|
shop.Update(model);
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
if (model.ShopCars.Count > 0)
|
shop.UpdateCars(context, model);
|
||||||
{
|
|
||||||
shop.UpdateCars(context, model);
|
|
||||||
}
|
|
||||||
transaction.Commit();
|
transaction.Commit();
|
||||||
return shop.GetViewModel;
|
return shop.GetViewModel;
|
||||||
}
|
}
|
||||||
|
@ -83,24 +83,29 @@ namespace AutomobilePlantFileImplement.Implements
|
|||||||
|
|
||||||
public bool SellCar(ICarModel model, int count)
|
public bool SellCar(ICarModel model, int count)
|
||||||
{
|
{
|
||||||
|
// переделать под linq
|
||||||
|
|
||||||
var car = source.Cars.FirstOrDefault(x => x.Id == model.Id);
|
var car = source.Cars.FirstOrDefault(x => x.Id == model.Id);
|
||||||
|
|
||||||
|
var countStore = count;
|
||||||
|
|
||||||
if (car == null)
|
if (car == null)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var countStore = count;
|
foreach (var shop in source.Shops)
|
||||||
|
|
||||||
var shopCars = source.Shops.SelectMany(shop => shop.ShopCars.Where(c => c.Value.Item1.Id == car.Id));
|
|
||||||
|
|
||||||
foreach (var c in shopCars)
|
|
||||||
{
|
{
|
||||||
count -= c.Value.Item2;
|
foreach (var c in shop.ShopCars)
|
||||||
|
|
||||||
if (count <= 0)
|
|
||||||
{
|
{
|
||||||
break;
|
if (c.Value.Item1.Id == car.Id)
|
||||||
|
{
|
||||||
|
count -= c.Value.Item2;
|
||||||
|
}
|
||||||
|
if (count <= 0)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,8 +116,9 @@ namespace AutomobilePlantFileImplement.Implements
|
|||||||
|
|
||||||
count = countStore;
|
count = countStore;
|
||||||
|
|
||||||
foreach (var shop in source.Shops)
|
for (int i = 0; i < source.Shops.Count; i++)
|
||||||
{
|
{
|
||||||
|
var shop = source.Shops[i];
|
||||||
var cars = shop.ShopCars;
|
var cars = shop.ShopCars;
|
||||||
|
|
||||||
foreach (var c in cars.Where(x => x.Value.Item1.Id == car.Id))
|
foreach (var c in cars.Where(x => x.Value.Item1.Id == car.Id))
|
||||||
@ -136,13 +142,14 @@ namespace AutomobilePlantFileImplement.Implements
|
|||||||
MaxCountCars = shop.MaxCountCars,
|
MaxCountCars = shop.MaxCountCars,
|
||||||
ShopCars = cars
|
ShopCars = cars
|
||||||
});
|
});
|
||||||
|
|
||||||
source.SaveShops();
|
source.SaveShops();
|
||||||
|
|
||||||
if (count <= 0) break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return count <= 0;
|
if (count > 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user