protected OrderSaleEnvelopeContext(long sequenceNumber, Outlet outlet, User user, CostCentre costCentre, Order order)
 {
     Outlet = outlet;
     User = user;
     CostCentre = costCentre;
     Order = order;
     var dateTime = DateTime.Now;
     //Remove milliseconds
     Now = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, dateTime.Hour, dateTime.Minute, dateTime.Second);
     ReferenceGenerator = new ReferenceGenerator(sequenceNumber, user, outlet, Now);
     VisitId = Guid.NewGuid();
 }
 public SaleEnvelopeBuilder(Order order, IEnvelopeBuilder builder)
 {
     RootBuilder = builder;
     Order = order;
 }
 public static void CheckOrderPaymentInfo(Order order, AddOrderPaymentInfoCommand paymentInfo)
 {
     Assert.AreEqual(order.TotalValueIncludingVat, paymentInfo.Amount, "amount");
     Assert.AreEqual(order.TotalValueIncludingVat, paymentInfo.ConfirmedAmount, "confirmed amount");
     Assert.AreEqual(order.Payments[0].PaymentMode, (PaymentMode)paymentInfo.PaymentModeId, "payment mode");
     Assert.AreEqual(order.Payments[0].Bank, paymentInfo.Bank, "bank");
     Assert.AreEqual(order.Payments[0].BankBranch, paymentInfo.BankBranch, "bank branch");
     Assert.AreEqual(order.Payments[0].DueDate, paymentInfo.DueDate, "due date");
     Assert.AreEqual(order.Payments[0].PaymentReference, paymentInfo.PaymentRefId, "payment reference");
 }
 private BaseProductLineItem AddReturnableLineItem(Order order, AddMainOrderLineItemCommand command)
 {
     var returnableProduct = returnableProductRepository.GetById(command.ProductId);
     var rerturnableItem = order.AddReturnableItem(command.CommandId, returnableProduct, command.ProductId, command.Qty, command.ValueLineItem);
     return rerturnableItem;
 }
        private BaseProductLineItem AddProductLineItem(Order order, SaleProduct product, AddMainOrderLineItemCommand command)
        {
            var vatRate = command.LineItemVatValue/command.ValueLineItem;

            return order.AddItem(command.CommandId, product, product.Id, command.Qty, command.ValueLineItem, vatRate);
        }
 public MakeOrderEnvelopeContext(long sequenceNumber, Outlet outlet, User user, CostCentre costCentre, Order order) : base(sequenceNumber, outlet, user, costCentre, order)
 {
 }
 public static void CheckReceiptLineItem(Order order, AddReceiptLineItemCommand addReceiptLineItem)
 {                     
     Assert.AreEqual(order.Payments[0].PaymentMode, (PaymentMode)addReceiptLineItem.PaymentTypeId);
     Assert.AreEqual(order.TotalValueIncludingVat, addReceiptLineItem.Value);            
 }