예제 #1
0
        public virtual OpenOrderEntryModel OnCreateOrder(ICreateOrder transform, ResponseBase response)
        {
            CreateOrderModel model;

            try
            {
                model = transform.Transform();
                model.WasSuccessful = true;
            }
            catch (Exception)
            {
                model = new CreateOrderModel {
                    WasSuccessful = false, Message = response.ResponseData.Value
                };
            }

            if (response.ResponseData.ResponseState == ResponseState.Error)
            {
                model.WasSuccessful = false;
            }

            ExchangeManager.OnCreateOrderEvent(new CreateOrderEventArgs(this, model));

            return(model);
        }
 public OrderManagementSystem(ICreateOrder orderTaker, ReportOutput reportOutput, OrderReportsFactory reportFactory)
 {
     _orderTaker      = orderTaker;
     _reportOutput    = reportOutput;
     _reportFactory   = reportFactory;
     _lastOrderNumber = 0;
 }
예제 #3
0
        public HomeController()
        {
            _getProducts  = AutoFacHelper.Resolve <IGetProducts>();
            _getCart      = AutoFacHelper.Resolve <IGetCart>();
            _getCartItem  = AutoFacHelper.Resolve <IGetCartItem>();
            _saveCartItem = AutoFacHelper.Resolve <ISaveCartItem>();

            _createOrder     = AutoFacHelper.Resolve <ICreateOrder>();
            _checkoutManager = AutoFacHelper.Resolve <ICheckoutManager>();
        }
예제 #4
0
 public OrdersController(
     ICreateOrder createOrder,
     IOrderGetter orderGetter,
     IUpdateOrder updateOrder,
     IMapper mapper,
     IDeleteOrder deleteOrder)
 {
     _createOrder = createOrder;
     _orderGetter = orderGetter;
     _updateOrder = updateOrder;
     _deleteOrder = deleteOrder;
     _mapper      = mapper;
 }
예제 #5
0
 public virtual void When(ICreateOrder c)
 {
     Update(c, ar => ar.Create(c));
 }
예제 #6
0
 void IOrderApplicationService.When(ICreateOrder c)
 {
     this.When((CreateOrderDto)c);
 }
예제 #7
0
        protected virtual IOrderStateCreated Map(ICreateOrder c)
        {
            var stateEventId     = new OrderEventId(c.OrderId, c.Version);
            IOrderStateCreated e = NewOrderStateCreated(stateEventId);

            e.OrderTypeId             = c.OrderTypeId;
            e.OrderName               = c.OrderName;
            e.ExternalId              = c.ExternalId;
            e.SalesChannelEnumId      = c.SalesChannelEnumId;
            e.OrderDate               = c.OrderDate;
            e.Priority                = c.Priority;
            e.EntryDate               = c.EntryDate;
            e.PickSheetPrintedDate    = c.PickSheetPrintedDate;
            e.StatusId                = c.StatusId;
            e.CurrencyUomId           = c.CurrencyUomId;
            e.SyncStatusId            = c.SyncStatusId;
            e.BillingAccountId        = c.BillingAccountId;
            e.OriginFacilityId        = c.OriginFacilityId;
            e.WebSiteId               = c.WebSiteId;
            e.ProductStoreId          = c.ProductStoreId;
            e.TerminalId              = c.TerminalId;
            e.TransactionId           = c.TransactionId;
            e.AutoOrderShoppingListId = c.AutoOrderShoppingListId;
            e.NeedsInventoryIssuance  = c.NeedsInventoryIssuance;
            e.IsRushOrder             = c.IsRushOrder;
            e.InternalCode            = c.InternalCode;
            e.RemainingSubTotal       = c.RemainingSubTotal;
            e.GrandTotal              = c.GrandTotal;
            e.InvoicePerShipment      = c.InvoicePerShipment;
            e.Active    = c.Active;
            e.CommandId = c.CommandId;


            e.CreatedBy = (string)c.RequesterId;
            e.CreatedAt = ApplicationContext.Current.TimestampService.Now <DateTime>();
            var version = c.Version;

            foreach (ICreateOrderRole innerCommand in c.OrderRoles)
            {
                ThrowOnInconsistentCommands(c, innerCommand);

                IOrderRoleStateCreated innerEvent = MapCreate(innerCommand, c, version, _state);
                e.AddOrderRoleEvent(innerEvent);
            }

            foreach (ICreateOrderItem innerCommand in c.OrderItems)
            {
                ThrowOnInconsistentCommands(c, innerCommand);

                IOrderItemStateCreated innerEvent = MapCreate(innerCommand, c, version, _state);
                e.AddOrderItemEvent(innerEvent);
            }

            foreach (ICreateOrderShipGroup innerCommand in c.OrderShipGroups)
            {
                ThrowOnInconsistentCommands(c, innerCommand);

                IOrderShipGroupStateCreated innerEvent = MapCreate(innerCommand, c, version, _state);
                e.AddOrderShipGroupEvent(innerEvent);
            }


            return(e);
        }
예제 #8
0
        public virtual void Create(ICreateOrder c)
        {
            IOrderStateCreated e = Map(c);

            Apply(e);
        }