Пример #1
0
        public JsonResult RecentOrders()
        {
            if (!Context.User.IsAuthenticated)
            {
                Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                return(null);
            }

            try
            {
                var recentOrders = new List <OrderHeader>();

                var response = OrderManager.GetUserOrders(CommerceUserContext.Current.UserName);
                var result   = new OrdersApiModel(response?.ServiceProviderResult);
                if (response != null)
                {
                    result.SetErrors(response.ServiceProviderResult);
                    if (response.ServiceProviderResult.Success && response.Result != null)
                    {
                        var orders = response.Result.Cast <CommerceOrderHeader>().ToList();
                        recentOrders = orders.Where(order => order.LastModified > DateTime.Today.AddDays(-30)).Take(5).Cast <OrderHeader>().ToList();
                    }
                }

                result.Initialize(recentOrders);
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new ErrorApiModel("RecentOrders", e), JsonRequestBehavior.AllowGet));
            }
        }
        public HttpResponseMessage UpdateOrder(HttpRequestMessage request, [FromBody] OrderDTO orderDTO)
        {
            OrdersApiModel           ordersWebApiModel = new OrdersApiModel();
            TransactionalInformation transaction       = new TransactionalInformation();
            OrdersBusinessService    ordersBusinessService;

            ordersWebApiModel.IsAuthenicated = true;

            if (orderDTO.ShipAddress == null)
            {
                orderDTO.ShipAddress = string.Empty;
            }
            if (orderDTO.ShipCity == null)
            {
                orderDTO.ShipCity = string.Empty;
            }
            if (orderDTO.ShipRegion == null)
            {
                orderDTO.ShipRegion = string.Empty;
            }
            if (orderDTO.ShipPostalCode == null)
            {
                orderDTO.ShipPostalCode = string.Empty;
            }
            if (orderDTO.ShipCountry == null)
            {
                orderDTO.ShipCountry = string.Empty;
            }

            ordersBusinessService = new OrdersBusinessService(ordersDataService);

            Order order = ordersBusinessService.UpdateOrder(
                orderDTO.OrderID,
                orderDTO.RequiredDate,
                orderDTO.ShipName,
                orderDTO.ShipAddress,
                orderDTO.ShipCity,
                orderDTO.ShipRegion,
                orderDTO.ShipPostalCode,
                orderDTO.ShipCountry,
                orderDTO.ShipperID,
                out transaction);

            if (transaction.ReturnStatus == false)
            {
                ordersWebApiModel.ReturnMessage    = transaction.ReturnMessage;
                ordersWebApiModel.ReturnStatus     = transaction.ReturnStatus;
                ordersWebApiModel.ValidationErrors = transaction.ValidationErrors;
                var badResponse = Request.CreateResponse <OrdersApiModel>(HttpStatusCode.BadRequest, ordersWebApiModel);
                return(badResponse);
            }

            ordersWebApiModel.ReturnStatus  = transaction.ReturnStatus;
            ordersWebApiModel.ReturnMessage = transaction.ReturnMessage;
            ordersWebApiModel.Order         = order;

            var response = Request.CreateResponse <OrdersApiModel>(HttpStatusCode.OK, ordersWebApiModel);

            return(response);
        }
        public HttpResponseMessage CreateOrderLineItem(HttpRequestMessage request, [FromBody] OrderDetailDTO orderDTO)
        {
            OrdersApiModel           ordersWebApiModel = new OrdersApiModel();
            TransactionalInformation transaction       = new TransactionalInformation();
            OrdersBusinessService    ordersBusinessService;

            ordersWebApiModel.IsAuthenicated = true;

            ordersBusinessService = new OrdersBusinessService(ordersDataService);

            OrderDetail orderDetail = ordersBusinessService.CreateOrderDetailLineItem(
                orderDTO.OrderID,
                orderDTO.ProductID,
                orderDTO.Quantity,
                out transaction);

            if (transaction.ReturnStatus == false)
            {
                ordersWebApiModel.ReturnMessage    = transaction.ReturnMessage;
                ordersWebApiModel.ReturnStatus     = transaction.ReturnStatus;
                ordersWebApiModel.ValidationErrors = transaction.ValidationErrors;
                var badResponse = Request.CreateResponse <OrdersApiModel>(HttpStatusCode.BadRequest, ordersWebApiModel);
                return(badResponse);
            }


            List <OrderDetails> orderDetails = ordersBusinessService.GetOrderDetails(orderDTO.OrderID, out transaction);

            if (transaction.ReturnStatus == false)
            {
                ordersWebApiModel.ReturnMessage    = transaction.ReturnMessage;
                ordersWebApiModel.ReturnStatus     = transaction.ReturnStatus;
                ordersWebApiModel.ValidationErrors = transaction.ValidationErrors;
                var badResponse = Request.CreateResponse <OrdersApiModel>(HttpStatusCode.BadRequest, ordersWebApiModel);
                return(badResponse);
            }


            Order order = ordersBusinessService.GetOrder(orderDTO.OrderID, out transaction);

            if (transaction.ReturnStatus == false)
            {
                ordersWebApiModel.ReturnMessage    = transaction.ReturnMessage;
                ordersWebApiModel.ReturnStatus     = transaction.ReturnStatus;
                ordersWebApiModel.ValidationErrors = transaction.ValidationErrors;
                var badResponse = Request.CreateResponse <OrdersApiModel>(HttpStatusCode.BadRequest, ordersWebApiModel);
                return(badResponse);
            }

            transaction.ReturnMessage.Add("Detail line item succcessfully added.");

            ordersWebApiModel.ReturnStatus  = transaction.ReturnStatus;
            ordersWebApiModel.ReturnMessage = transaction.ReturnMessage;
            ordersWebApiModel.OrderDetails  = orderDetails;
            ordersWebApiModel.Order         = order;

            var response = Request.CreateResponse <OrdersApiModel>(HttpStatusCode.OK, ordersWebApiModel);

            return(response);
        }
        public HttpResponseMessage InitializeOrder(HttpRequestMessage request, [FromBody] OrderDTO orderDTO)
        {
            OrdersApiModel           ordersWebApiModel = new OrdersApiModel();
            TransactionalInformation transaction       = new TransactionalInformation();
            OrdersBusinessService    ordersBusinessService;
            CustomersBusinessService customersBusinessService;

            ordersWebApiModel.IsAuthenicated = true;

            customersBusinessService = new CustomersBusinessService(customersDataService);
            Customer customer = customersBusinessService.GetCustomer(orderDTO.CustomerID, out transaction);

            if (transaction.ReturnStatus == false)
            {
                ordersWebApiModel.ReturnMessage    = transaction.ReturnMessage;
                ordersWebApiModel.ReturnStatus     = transaction.ReturnStatus;
                ordersWebApiModel.ValidationErrors = transaction.ValidationErrors;
                var badResponse = Request.CreateResponse <OrdersApiModel>(HttpStatusCode.BadRequest, ordersWebApiModel);
                return(badResponse);
            }

            ordersBusinessService = new OrdersBusinessService(ordersDataService);
            List <Shipper> shippers = ordersBusinessService.GetShippers(out transaction);

            if (transaction.ReturnStatus == false)
            {
                ordersWebApiModel.ReturnMessage    = transaction.ReturnMessage;
                ordersWebApiModel.ReturnStatus     = transaction.ReturnStatus;
                ordersWebApiModel.ValidationErrors = transaction.ValidationErrors;
                var badResponse = Request.CreateResponse <OrdersApiModel>(HttpStatusCode.BadRequest, ordersWebApiModel);
                return(badResponse);
            }

            ordersWebApiModel.ReturnStatus  = transaction.ReturnStatus;
            ordersWebApiModel.ReturnMessage = transaction.ReturnMessage;
            ordersWebApiModel.Customer      = customer;
            ordersWebApiModel.Shippers      = shippers;

            var response = Request.CreateResponse <OrdersApiModel>(HttpStatusCode.OK, ordersWebApiModel);

            return(response);
        }
        public HttpResponseMessage OrderInquiry([FromBody] OrderInquiryDTO orderInquiryDTO)
        {
            if (orderInquiryDTO.CustomerCode == null)
            {
                orderInquiryDTO.CustomerCode = string.Empty;
            }
            if (orderInquiryDTO.CompanyName == null)
            {
                orderInquiryDTO.CompanyName = string.Empty;
            }
            if (orderInquiryDTO.SortDirection == null)
            {
                orderInquiryDTO.SortDirection = string.Empty;
            }
            if (orderInquiryDTO.SortExpression == null)
            {
                orderInquiryDTO.SortExpression = string.Empty;
            }

            OrdersApiModel           ordersWebApiModel = new OrdersApiModel();
            TransactionalInformation transaction       = new TransactionalInformation();
            OrdersBusinessService    ordersBusinessService;

            ordersWebApiModel.IsAuthenicated = true;

            DataGridPagingInformation paging = new DataGridPagingInformation();

            paging.CurrentPageNumber = orderInquiryDTO.CurrentPageNumber;
            paging.PageSize          = orderInquiryDTO.PageSize;
            paging.SortExpression    = orderInquiryDTO.SortExpression;
            paging.SortDirection     = orderInquiryDTO.SortDirection;

            if (paging.SortDirection == "")
            {
                paging.SortDirection = "DESC";
            }
            if (paging.SortExpression == "")
            {
                paging.SortExpression = "OrderDate";
            }

            ordersBusinessService = new OrdersBusinessService(ordersDataService);

            List <OrderInquiry> orders = ordersBusinessService.OrderInquiry(orderInquiryDTO.CustomerCode, orderInquiryDTO.CompanyName, paging, out transaction);

            ordersWebApiModel.Orders        = orders;
            ordersWebApiModel.ReturnStatus  = transaction.ReturnStatus;
            ordersWebApiModel.ReturnMessage = transaction.ReturnMessage;
            ordersWebApiModel.TotalPages    = transaction.TotalPages;
            ordersWebApiModel.TotalRows     = transaction.TotalRows;
            ordersWebApiModel.PageSize      = paging.PageSize;

            if (transaction.ReturnStatus == true)
            {
                var response = Request.CreateResponse <OrdersApiModel>(HttpStatusCode.OK, ordersWebApiModel);
                return(response);
            }

            var badResponse = Request.CreateResponse <OrdersApiModel>(HttpStatusCode.BadRequest, ordersWebApiModel);

            return(badResponse);
        }