Beispiel #1
0
        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);
        }
Beispiel #2
0
 public void AssignPurchaseToDemandProvider(PurchasePart purchasePart, DemandProviderPurchasePart provider, int quantity)
 {
     provider.PurchasePartId = purchasePart.Id;
     provider.Quantity       = quantity;
     Update(provider);
     SaveChanges();
 }
Beispiel #3
0
 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
     });
 }
Beispiel #4
0
        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);
        }