Exemplo n.º 1
0
        public virtual async Task <IHttpActionResult> SaveEditedOrder(EditOrderParam param)
        {
            if (param == null)
            {
                return(BadRequest($"{nameof(param)} cannot be empty"));
            }

            var vm = await OrderHistoryViewService.SaveEditedOrderAsync(param.OrderNumber, RequestUtils.GetBaseUrl(Request).ToString());

            return(Ok(vm));
        }
Exemplo n.º 2
0
        public virtual async Task <IHttpActionResult> CancelEditOrder(EditOrderParam param)
        {
            if (param == null)
            {
                return(BadRequest($"{nameof(param)} cannot be empty"));
            }

            await OrderHistoryViewService.CancelEditingOrderAsync(param.OrderNumber).ConfigureAwait(false);

            return(Ok(true));
        }
Exemplo n.º 3
0
        public virtual async Task <IHttpActionResult> EditOrder(EditOrderParam param)
        {
            if (param == null)
            {
                return(BadRequest($"{nameof(param)} cannot be empty"));
            }

            var vm = await OrderHistoryViewService.CreateEditingOrderViewModel(param.OrderNumber).ConfigureAwait(false);

            return(Ok(vm));
        }
Exemplo n.º 4
0
        public virtual async Task <IHttpActionResult> AddOrderToCustomer(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(BadRequest("No order found."));
            }

            var viewModel = await OrderHistoryViewService.UpdateOrderCustomerAsync(new UpdateOrderCustomerParam
            {
                CultureInfo = ComposerContext.CultureInfo,
                CustomerId  = ComposerContext.CustomerId,
                Scope       = ComposerContext.Scope,
                OrderNumber = id
            });

            return(Ok(viewModel));
        }
Exemplo n.º 5
0
        public virtual async Task <IHttpActionResult> GetPastOrders(GetOrdersParam param)
        {
            if (param == null)
            {
                return(BadRequest("No request found."));
            }

            var viewModel = await OrderHistoryViewService.GetOrderHistoryViewModelAsync(new GetCustomerOrdersParam
            {
                CultureInfo = ComposerContext.CultureInfo,
                CustomerId  = ComposerContext.CustomerId,
                Scope       = ComposerContext.Scope,
                Page        = param.Page,
                OrderTense  = OrderTense.PastOrders
            });

            return(Ok(viewModel));
        }
Exemplo n.º 6
0
        public virtual async Task <IHttpActionResult> CancelOrder([FromBody] string orderNumber)
        {
            if (string.IsNullOrEmpty(orderNumber))
            {
                return(BadRequest($"{nameof(orderNumber)} cannot be empty"));
            }

            var param = new CancelOrderParam()
            {
                Scope       = ComposerContext.Scope,
                CultureInfo = ComposerContext.CultureInfo,
                CustomerId  = ComposerContext.CustomerId,
                OrderNumber = orderNumber
            };

            var vm = await OrderHistoryViewService.CancelOrder(param).ConfigureAwait(false);

            return(Ok(vm));
        }
Exemplo n.º 7
0
        public virtual async Task <IHttpActionResult> GetGuestOrderByNumber(GetGuestOrderRequest param)
        {
            if (param == null)
            {
                return(BadRequest("No request found."));
            }

            var viewModel = await OrderHistoryViewService.GetOrderDetailViewModelForGuestAsync(new GetOrderForGuestParam
            {
                OrderNumber = param.OrderNumber,
                Scope       = ComposerContext.Scope,
                CultureInfo = ComposerContext.CultureInfo,
                CountryCode = ComposerContext.CountryCode,
                BaseUrl     = RequestUtils.GetBaseUrl(Request).ToString(),
                Email       = param.Email
            });

            return(Ok(viewModel));
        }
Exemplo n.º 8
0
        public virtual async Task <IHttpActionResult> GetGuestOrderDetailsUrl(GetGuestOrderViewModel request)
        {
            if (request == null)
            {
                return(BadRequest("No request body found."));
            }

            var orderDetailUrl = OrderUrlProvider.GetGuestOrderDetailsUrl(ComposerContext.CultureInfo);

            var orderDetailViewModel = await OrderHistoryViewService.GetOrderDetailViewModelForGuestAsync(new GetOrderForGuestParam
            {
                OrderNumber = request.OrderNumber,
                Email       = request.Email,
                Scope       = ComposerContext.Scope,
                CultureInfo = ComposerContext.CultureInfo,
                CountryCode = ComposerContext.CountryCode,
                BaseUrl     = RequestUtils.GetBaseUrl(Request).ToString()
            });

            if (orderDetailViewModel == null)
            {
                return(NotFound());
            }

            var token = GuestOrderTokenizer.GenerateOrderToken(new OrderToken
            {
                Email       = request.Email,
                OrderNumber = request.OrderNumber
            });

            var url = UrlFormatter.AppendQueryString(orderDetailUrl, new NameValueCollection
            {
                { "token", token }
            });

            var vm = new GuestOrderDetailsViewModel
            {
                Url = url
            };

            return(Ok(vm));
        }
        public virtual ActionResult OrderDetails(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }

            var vm = OrderHistoryViewService.GetOrderDetailViewModelAsync(new GetCustomerOrderParam
            {
                OrderNumber = id,
                CustomerId  = ComposerContext.CustomerId,
                Scope       = ComposerContext.Scope,
                CultureInfo = ComposerContext.CultureInfo,
                CountryCode = ComposerContext.CountryCode,
                BaseUrl     = RequestUtils.GetBaseUrl(Request).ToString()
            }).Result;

            if (vm == null)
            {
                return(new HttpUnauthorizedResult());
            }
            return(View("OrderDetailsContainer", vm));
        }