public void CheckOut(FinishedProducts finishedProducts) { var prod = FinishedProducts.FindById(finishedProducts.Id); prod.PriceOut = finishedProducts.PriceOut; FinishedProducts.Update(prod); FinishedGoodsStatistics eF = new FinishedGoodsStatistics(); eF.Count = finishedProducts.Count; eF.Date = DateTime.Now; eF.FinishGildArray = prod.FinishGildArray; eF.PriceIn = prod.PriceIn; eF.PriceOut = prod.PriceOut; FinishedGoodsStatistics.Create(eF); var fn = FinishedGoodsStatistics.Get(x => x.Count == eF.Count && x.Date.Value.Day == eF.Date.Value.Day && x.Date.Value.Month == eF.Date.Value.Month && x.Date.Value.Year == eF.Date.Value.Year && x.PriceIn == eF.PriceIn && x.PriceOut == eF.PriceOut && x.Date.Value.Hour == eF.Date.Value.Hour && x.Date.Value.Minute == eF.Date.Value.Minute && x.Date.Value.Second == eF.Date.Value.Second).First(); FinishedProducts_FinishedGoodsStatistics.Create(new db.FinishedProducts_FinishedGoodsStatistics() { FinishedProductsId = prod.Id, FinishedGoodsStatisticsId = fn.Id }); }
public void InFinishedProduct(FinishedProducts finishedProducts) { List <int> CountSpec = new List <int>(); List <int> CountProd = new List <int>(); Gild = new EFRepository <Gild>(new ApplicationDbContext()); var prod = FinishedProducts.FindById(finishedProducts.Id); prod.Count += finishedProducts.Count; var pack = Packaging.FindById(prod.PackagingId.Value); pack.Count -= finishedProducts.Count; if (pack.Count < 0) { return; } foreach (var item in prod.FinishGildArray) { var gild = Gild.FindById(item.GildId.Value); if (gild.ProductId != null) { CountProd.Add(int.Parse(item.CountSyr.ToString())); gild.Count -= int.Parse(item.CountSyr.ToString()); Task.Factory.StartNew(() => { Gild.Update(gild); }).Wait(); } else { gild.Count -= int.Parse(item.CountSpec.ToString()); CountSpec.Add(int.Parse(item.CountSpec.ToString())); Task.Factory.StartNew(() => { Gild.Update(gild); }).Wait(); } } Task.Factory.StartNew(() => { Packaging.Update(pack); }).Wait(); Task.Factory.StartNew(() => { FinishedProducts.Update(prod); }).Wait(); FinishedGoodsStatistics eF = new FinishedGoodsStatistics() { Count = finishedProducts.Count, Date = DateTime.Now, FinishGildArray = finishedProducts.FinishGildArray, PriceIn = prod.PriceIn, PriceOut = prod.PriceOut, CountPack = finishedProducts.Count }; Task.Factory.StartNew(() => { FinishedGoodsStatistics.Create(eF); }).Wait(); var b = FinishedGoodsStatistics.Get(x => x.Count == eF.Count && x.Date.Value.Day == eF.Date.Value.Day && x.Date.Value.Month == eF.Date.Value.Month && x.Date.Value.Year == eF.Date.Value.Year && x.PriceIn == eF.PriceIn && x.PriceOut == eF.PriceOut && x.Date.Value.Hour == eF.Date.Value.Hour && x.Date.Value.Minute == eF.Date.Value.Minute && x.Date.Value.Second == eF.Date.Value.Second).First().Id; Task.Factory.StartNew(() => { FinishedProducts_FinishedGoodsStatistics.Create(new db.FinishedProducts_FinishedGoodsStatistics() { FinishedProductsId = prod.Id, FinishedGoodsStatisticsId = b }); }).Wait(); }