//Todo: check logic public void CreatePurchaseDemand(IDemandToProvider demand, decimal amount, int time) { if (NeedToRefill(demand, amount)) { var providerPurchasePart = new DemandProviderPurchasePart() { Quantity = amount, ArticleId = demand.ArticleId, DemandRequesterId = demand.Id, State = State.Created, }; Demands.Add(providerPurchasePart); CreatePurchase(demand, amount, providerPurchasePart, time); Demands.Update(providerPurchasePart); } else { var providerStock = new DemandProviderStock() { Quantity = amount, ArticleId = demand.ArticleId, DemandRequesterId = demand.Id, State = State.Created, StockId = Stocks.Single(a => a.ArticleForeignKey == demand.ArticleId).Id }; Demands.Add(providerStock); } SaveChanges(); }
public DemandProviderStock CreateDemandProviderStock(IDemandToProvider demand, decimal amount) { var dps = new DemandProviderStock() { ArticleId = demand.ArticleId, Quantity = amount, StockId = Stocks.Single(a => a.ArticleForeignKey == demand.ArticleId).Id, DemandRequesterId = demand.Id, State = State.Created }; Add(dps); SaveChanges(); return(dps); }