public void AssignPurchaseToDemandProvider(PurchasePart purchasePart, DemandProviderPurchasePart provider, int quantity) { provider.PurchasePartId = purchasePart.Id; provider.Quantity = quantity; Update(provider); SaveChanges(); }
public void CreatePurchase(IDemandToProvider demand, decimal amount, DemandProviderPurchasePart demandProviderPurchasePart, int time) { var articleToPurchase = ArticleToBusinessPartners.Single(a => a.ArticleId == demand.ArticleId); var purchase = new Purchase() { BusinessPartnerId = articleToPurchase.BusinessPartnerId, DueTime = articleToPurchase.DueTime + time }; //amount to be purchased has to be raised to fit the packsize amount = Math.Floor(amount / articleToPurchase.PackSize) * articleToPurchase.PackSize; var purchasePart = new PurchasePart() { ArticleId = demand.ArticleId, Quantity = (int)amount, DemandProviderPurchaseParts = new List <DemandProviderPurchasePart>() { demandProviderPurchasePart }, PurchaseId = purchase.Id }; purchase.PurchaseParts = new List <PurchasePart>() { purchasePart }; Purchases.Add(purchase); PurchaseParts.Add(purchasePart); SaveChanges(); }
//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 DemandProviderPurchasePart CreateDemandProviderPurchasePart(IDemandToProvider demand, PurchasePart purchase, decimal amount) { var dppp = new DemandProviderPurchasePart() { ArticleId = demand.ArticleId, Quantity = amount, PurchasePartId = purchase.Id, DemandRequesterId = demand.Id, }; Add(dppp); SaveChanges(); return(dppp); }