public PurchasePart CreatePurchase(IDemandToProvider demand, decimal amount) { var articleToPurchase = ArticleToBusinessPartners.Single(a => a.ArticleId == demand.ArticleId); var purchase = new Purchase() { BusinessPartnerId = articleToPurchase.BusinessPartnerId, DueTime = articleToPurchase.DueTime, }; //amount to be purchased has to be raised to fit the packsize amount = Math.Ceiling(amount / articleToPurchase.PackSize) * articleToPurchase.PackSize; var purchasePart = new PurchasePart() { ArticleId = demand.ArticleId, Quantity = (int)amount, DemandProviderPurchaseParts = new List <DemandProviderPurchasePart>(), PurchaseId = purchase.Id, }; purchase.PurchaseParts = new List <PurchasePart>() { purchasePart }; Purchases.Add(purchase); PurchaseParts.Add(purchasePart); SaveChanges(); return(purchasePart); }
public void AssignPurchaseToDemandProvider(PurchasePart purchasePart, DemandProviderPurchasePart provider, int quantity) { provider.PurchasePartId = purchasePart.Id; provider.Quantity = quantity; Update(provider); SaveChanges(); }
private ISimulationItem CreateNewPurchaseSimulationItem(PurchasePart purchasePart, int simulationId) { return(new PurchaseSimulationItem(_context) { Start = _context.SimulationConfigurations.Single(a => a.Id == simulationId).Time, End = purchasePart.Purchase.DueTime, PurchaseId = purchasePart.PurchaseId, PurchasePartId = purchasePart.Id }); }
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); }