public static void Create_SetsExpectedOrganisationId(Order order)
        {
            order.OrderStatus = OrderStatus.Incomplete;

            var model = OrderSummaryModel.Create(order);

            model.OrganisationId.Should().Be(order.OrderingParty.Id.ToString());
        }
        public static void Create_SetsExpectedOrderingPartySectionStatus(Order order)
        {
            order.OrderStatus = OrderStatus.Incomplete;

            var model = OrderSummaryModel.Create(order);

            model.Sections.Should().ContainEquivalentOf(SectionModel.OrderingParty.WithStatus(Complete));
        }
        public static void Create_SetsExpectedDescription(Order order)
        {
            order.OrderStatus = OrderStatus.Incomplete;

            var model = OrderSummaryModel.Create(order);

            model.Description.Should().Be(order.Description);
        }
        public static void Create_AdditionalServicesNotViewed_SetsExpectedAdditionalServicesSectionStatus(Order order)
        {
            order.Progress.AdditionalServicesViewed = false;
            order.OrderStatus = OrderStatus.Incomplete;

            var model = OrderSummaryModel.Create(order);

            model.Sections.Should().ContainEquivalentOf(SectionModel.AdditionalServices.WithStatus(Incomplete).WithCount(0));
        }
        public static void Create_NullCommencementDate_SetsExpectedCommencementDateSectionStatus(Order order)
        {
            order.CommencementDate = null;
            order.OrderStatus      = OrderStatus.Incomplete;

            var model = OrderSummaryModel.Create(order);

            model.Sections.Should().ContainEquivalentOf(SectionModel.CommencementDate.WithStatus(Incomplete));
        }
        public static void Create_NullSupplierContact_SetsExpectedSupplierSectionStatus(Order order)
        {
            order.SupplierContact = null;
            order.OrderStatus     = OrderStatus.Incomplete;

            var model = OrderSummaryModel.Create(order);

            model.Sections.Should().ContainEquivalentOf(SectionModel.Supplier.WithStatus(Incomplete));
        }
        public static void Create_NullFundingSource_SetsExpectedFundingSourceSectionStatus(Order order)
        {
            order.FundingSourceOnlyGms = null;
            order.OrderStatus          = OrderStatus.Incomplete;

            var model = OrderSummaryModel.Create(order);

            model.Sections.Should().ContainEquivalentOf(SectionModel.FundingSource.WithStatus(Incomplete));
        }
        public static void Create_NoItemOnOrder_SetsFundingSourceSectionStatusToIncomplete(Order order)
        {
            order.FundingSourceOnlyGms = true;
            order.OrderStatus          = OrderStatus.Incomplete;

            var model = OrderSummaryModel.Create(order);

            model.Sections.Should().ContainEquivalentOf(SectionModel.FundingSource.WithStatus(Incomplete));
        }
        public static void Create_SetsExpectedDescriptionSectionStatus(Order order)
        {
            order.OrderingPartyContact = null;
            order.OrderStatus          = OrderStatus.Incomplete;

            var model = OrderSummaryModel.Create(order);

            model.Sections.Should().ContainEquivalentOf(SectionModel.Description);
        }
        public static void Create_IncompleteOrder_SetsExpectedSectionStatus(Order order)
        {
            order.FundingSourceOnlyGms = null;
            order.OrderStatus          = OrderStatus.Incomplete;

            var model = OrderSummaryModel.Create(order);

            model.SectionStatus.Should().Be(Incomplete);
        }
Пример #11
0
        protected CustomerOrderListModel PrepareCustomerOrderListModel(CustomerOrderPagingFilteringModel command)
        {
            int?orderId = null;

            if (!string.IsNullOrEmpty(command.q))
            {
                int temp = 0;
                if (int.TryParse(command.q, out temp))
                {
                    orderId = temp;
                }
            }
            var profileId = _workContext.CurrentProfile.Id;
            var model     = new CustomerOrderListModel();
            var result    = _orderService.GetPagedOrderOverviewModel(
                pageIndex: command.PageNumber - 1,
                pageSize: command.PageSize,
                profileIds: new int[] { profileId },
                orderIds: orderId.HasValue ? new int[] { orderId.Value } : null,
                statusCodes: ValidOrderStatus.VALID_CUSTOMER_STATUSES,
                orderBy: OrderSortingType.OrderPlacedDesc);

            for (int i = 0; i < result.Items.Count; i++)
            {
                var order = result.Items[i];

                var orderModel = new OrderSummaryModel
                {
                    Id              = order.Id,
                    CreatedOn       = order.OrderPlaced.Value,
                    OrderStatusCode = order.StatusCode,
                    OrderStatus     = order.OrderStatus
                };

                // To avoid customer frustration, ON HOLD will be changed to ORDER PLACED
                if (orderModel.OrderStatusCode == OrderStatusCode.ON_HOLD)
                {
                    orderModel.OrderStatusCode = OrderStatusCode.ORDER_PLACED;
                    orderModel.OrderStatus     = _orderService.GetOrderStatusByCode(OrderStatusCode.ORDER_PLACED);
                }

                orderModel.OrderTotal = _priceFormatter.FormatValue(order.GrandTotal, order.CurrencyCode);

                model.Orders.Add(orderModel);
            }

            model.PagingFilteringContext.LoadPagedList(result);
            model.PagingFilteringContext.q = command.q;

            if (model.Orders.Count > 0)
            {
                model.Orders[0].Chosen = true;
            }

            return(model);
        }
        public static void Create_SetsExpectedStatus(Order order)
        {
            var status = OrderStatus.Complete;

            order.OrderStatus = status;

            var model = OrderSummaryModel.Create(order);

            model.Status.Should().Be(status.Name);
        }
        public async Task <ActionResult <OrderSummaryModel> > GetOrderSummaryAsync(CallOffId callOffId)
        {
            var order = await orderService.GetOrderSummary(callOffId);

            if (order is null)
            {
                return(NotFound());
            }

            return(OrderSummaryModel.Create(order));
        }
        public static void Create_NullOrderingParty_SetsExpectedOrganisationId(Supplier supplier)
        {
            var order = new Order
            {
                OrderStatus = OrderStatus.Incomplete,
                Supplier    = supplier,
            };

            var model = OrderSummaryModel.Create(order);

            model.OrganisationId.Should().Be(Guid.Empty);
        }
 private int CheckList(Fruit fruit, OrderSummaryModel Model)
 {
     if (Model.Orders != null)
     {
         for (int i = 0; i < Model.Orders.Count; i++)
         {
             if (Model.Orders[i].ShippingDetailsId.Equals(fruit.ShippingDetailsId))
             {
                 return(i);
             }
         }
     }
     return(-1);
 }
        public static void Create_SetsExpectedCatalogueSolutionsSectionStatus(Order order)
        {
            order.Progress.CatalogueSolutionsViewed = true;
            order.OrderStatus = OrderStatus.Incomplete;
            order.AddOrUpdateOrderItem(new OrderItem
            {
                CatalogueItem = new CatalogueItem {
                    CatalogueItemType = CatalogueItemType.Solution
                },
            });

            var model = OrderSummaryModel.Create(order);

            model.Sections.Should().ContainEquivalentOf(SectionModel.CatalogueSolutions.WithStatus(Complete).WithCount(1));
        }
        public static void Create_CompleteOrder_SetsExpectedSectionStatus(Order order)
        {
            order.Progress.AssociatedServicesViewed = true;
            order.Progress.CatalogueSolutionsViewed = true;
            order.OrderStatus = OrderStatus.Incomplete;
            order.AddOrUpdateOrderItem(new OrderItem
            {
                CatalogueItem = new CatalogueItem {
                    CatalogueItemType = CatalogueItemType.Solution
                },
            });

            var model = OrderSummaryModel.Create(order);

            model.SectionStatus.Should().Be(Complete);
        }
        public static void Create_HasAssociatedServiceOnOrder_SetsFundingSourceSectionStatusToComplete(Order order)
        {
            order.FundingSourceOnlyGms = true;
            order.OrderStatus          = OrderStatus.Incomplete;
            order.AddOrUpdateOrderItem(
                new OrderItem
            {
                CatalogueItem = new CatalogueItem {
                    CatalogueItemType = CatalogueItemType.AssociatedService
                },
            });

            var model = OrderSummaryModel.Create(order);

            model.Sections.Should().ContainEquivalentOf(SectionModel.FundingSource.WithStatus(Complete));
        }
        private void PrepareSummary()
        {
            var rentalItems = new List <RentalItemModel>();

            rentalItems.AddRange(SelectedProps);

            if (SelectedBooth != null)
            {
                rentalItems.Add(SelectedBooth);
            }
            if (SelectedBackground != null)
            {
                rentalItems.Add(SelectedBackground);
            }

            OrderPreview = _orderFacade.PrepareOrderAsync(rentalItems, Products.Where(t => SelectedProductIds.Contains(t.Id)).ToList(), OrderBasicInfo).Result;
        }
        public async Task <ActionResult <OrderSummaryModel> > GetOrderSummaryAsync(string orderId)
        {
            var order = await _orderRepository.GetOrderByIdAsync(orderId);

            if (order is null)
            {
                return(NotFound());
            }

            var primaryOrganisationId = User.GetPrimaryOrganisationId();

            if (primaryOrganisationId != order.OrganisationId)
            {
                return(Forbid());
            }

            int serviceRecipientsCount = await _serviceRecipientRepository.GetCountByOrderIdAsync(orderId);

            OrderSummaryModel orderSummaryModel = new OrderSummaryModel
            {
                OrderId        = orderId,
                OrganisationId = order.OrganisationId,
                Description    = order.Description.Value,
                Sections       = new List <SectionModel>
                {
                    SectionModel.Description,
                    SectionModel.OrderingParty.WithStatus(order.IsOrderingPartySectionComplete() ? "complete" : "incomplete"),
                    SectionModel.Supplier.WithStatus(order.IsSupplierSectionComplete() ? "complete" : "incomplete"),
                    SectionModel.CommencementDate.WithStatus(order.IsCommencementDateSectionComplete() ? "complete" : "incomplete"),
                    SectionModel.AssociatedServices,
                    SectionModel
                    .ServiceRecipients
                    .WithStatus(order.IsServiceRecipientsSectionComplete() ? "complete" : "incomplete")
                    .WithCount(serviceRecipientsCount),
                    SectionModel.CatalogueSolutions.WithStatus(order.IsCatalogueSolutionsSectionComplete() ? "complete" : "incomplete"),
                    SectionModel.AdditionalServices,
                    SectionModel.FundingSource
                }
            };

            return(Ok(orderSummaryModel));
        }
Пример #21
0
        public static async Task GetOrderSummaryAsync_ReturnsExpectedResult(
            [Frozen] Mock <IOrderService> service,
            [Frozen] CallOffId callOffId,
            IReadOnlyList <OrderItem> orderItems,
            Order order,
            OrdersController controller)
        {
            foreach (var orderItem in orderItems)
            {
                order.AddOrUpdateOrderItem(orderItem);
            }

            service.Setup(o => o.GetOrderSummary(callOffId)).ReturnsAsync(order);

            var expectedResult = OrderSummaryModel.Create(order);

            var result = await controller.GetOrderSummaryAsync(callOffId);

            result.Value.Should().BeEquivalentTo(expectedResult);
        }
Пример #22
0
        public async Task <OrderSummaryModel> GetAsync(int orderID)
        {
            Order order = await _testDB.Orders
                          .Where(o => o.OrderID == orderID)
                          .Include(o => o.OrderItems).FirstOrDefaultAsync();

            OrderSummaryModel summary = null;

            if (order != null)
            {
                summary = new OrderSummaryModel()
                {
                    OrderID = orderID,
                    Totals  = new OrderTotalsModel()
                    {
                        Shipping = Shipping
                    }
                };

                List <int> personIDs = new List <int>();
                decimal    subTotal  = 0;
                foreach (OrderItem orderItem in order.OrderItems)
                {
                    personIDs.Add(orderItem.StudentPersonID);
                    subTotal += orderItem.Price;
                }

                summary.Totals.SubTotal = subTotal;
                summary.Totals.Tax      = subTotal * TaxRate;
                summary.Totals.Shipping = Shipping;

                //Cannot use Single() here. Single()  can be used only when there is a single Data.
                //summary.OrderingPersonID = personIDs.Single();
                summary.OrderingPersonID = order.OrderingPersonID;

                summary.OrderPersonIDs = personIDs;
            }

            return(summary);
        }
        private ActionResult PopulateOrders(OrderSummaryModel Model)
        {
            using (var db = new CartContext())
            {
                Model.Cart = (List <Fruit>)Session["cart"];
                var results = db.Fruit.GroupJoin(db.ShippingDetails, x => x.ShippingDetailsId, y => y.ShippingDetailsId, (x, y) => x);
                Model.Orders = new List <OrderDetails>();
                foreach (var f in results)
                {
                    if (f.ShippingDetails.Username == Session["Username"].ToString())
                    {
                        OrderDetails details = new OrderDetails
                        {
                            Name              = f.ShippingDetails.Name,
                            Address           = f.ShippingDetails.Address,
                            City              = f.ShippingDetails.City,
                            Country           = f.ShippingDetails.Country,
                            ShippingDetailsId = f.ShippingDetails.ShippingDetailsId,
                            TotalCost         = f.Price,
                            TotalWeight       = f.Weight,
                            Fruits            = new List <Fruit>()
                        };

                        int i = CheckList(f, Model);
                        if (i != -1)
                        {
                            Model.Orders[i].Fruits.Add(f);
                            Model.Orders[i].TotalCost   += f.Price;
                            Model.Orders[i].TotalWeight += f.Weight;
                        }
                        else
                        {
                            details.Fruits.Add(f);
                            Model.Orders.Add(details);
                        }
                    }
                }
                return(View("OrderSummary", Model));
            }
        }
Пример #24
0
        public async Task GetOrderSummaryAsync_ChangeOrderData_ReturnsExpectedSummary(Order order,
                                                                                      OrderSummaryModel expected)
        {
            var context = OrdersControllerTestContext.Setup(order.OrganisationId);

            context.Order = order;

            var controller = context.OrdersController;

            var response = (await controller.GetOrderSummaryAsync(context.Order.OrderId)).Result as OkObjectResult;

            Assert.IsNotNull(response);

            var actual = response.Value.As <OrderSummaryModel>();

            actual.Should().BeEquivalentTo(expected);
        }
Пример #25
0
 public OrderSummaryViewModel()
 {
     OrderSummary       = new OrderSummaryModel();
     OrderSummary.Lines = new ObservableCollection <OrderLineForSummaryModel>();
 }
        public ActionResult GetOrders()
        {
            OrderSummaryModel Model = new OrderSummaryModel();

            return(PopulateOrders(Model));
        }
 public static void Create_NullOrder_ThrowsException()
 {
     Assert.Throws <ArgumentNullException>(() => OrderSummaryModel.Create(null));
 }
Пример #28
0
        public void List_DoloadSummary(int OrderID)
        {
            var svOrder   = new OrderService();
            var viewOrder = svOrder.SelectData <b2bOrder>(" * ", "CompID = " + LogonCompID + " AND OrderID = " + OrderID).First();

            ViewBag.viewOrder = viewOrder;

            var Summaries = new List <OrderSummaryModel>();

            for (var i = 3; i <= 5; i++)
            {
                if (i == 3)
                {
                    var sqlwhere = "RowFlag = 1 AND PackageID = 3 AND CompID = " + LogonCompID + " AND OrderID = " + OrderID + "";

                    var details = svOrder.SelectData <view_OrderDetail>(" * ", sqlwhere);
                    if (details.Count > 0)
                    {
                        #region Set Model to List OrderSummaryModel
                        var model = new OrderSummaryModel();
                        model.OrderDetailID = details[0].OrderDetailID;
                        model.Price         = (decimal)details[0].Price;
                        model.PackageName   = details[0].PackageName;
                        model.Qty           = 1;
                        model.PackageID     = (int)details[0].PackageID;
                        model.OrderID       = details[0].OrderID;
                        Summaries.Add(model);
                        #endregion
                    }
                }
                else if (i == 4)
                {
                    var sqlwhere = "RowFlag = 1 AND PackageID = 4 AND CompID = " + LogonCompID + " AND OrderID = " + OrderID + "";
                    var count    = svOrder.CountData <view_OrderDetail>(" * ", sqlwhere);

                    if (count > 0)
                    {
                        var details = svOrder.SelectData <view_OrderDetail>(" * ", sqlwhere, "", 1, 1, false);
                        var model   = new OrderSummaryModel();

                        model.OrderDetailID = details[0].OrderDetailID;
                        model.Price         = (decimal)details[0].Price;
                        model.PackageName   = details[0].PackageName; model.Qty = count;
                        model.PackageID     = (int)details[0].PackageID;
                        model.OrderID       = details[0].OrderID;
                        Summaries.Add(model);
                    }
                }
                else if (i == 5)
                {
                    var sqlwhere = "RowFlag = 1 AND PackageID = 5 AND CompID = " + LogonCompID + " AND OrderID = " + OrderID + "";
                    var count    = svOrder.CountData <view_OrderDetail>(" * ", sqlwhere);

                    if (count > 0)
                    {
                        var details = svOrder.SelectData <view_OrderDetail>(" * ", sqlwhere, "", 1, 1, false);
                        var model   = new OrderSummaryModel();

                        model.OrderDetailID = details[0].OrderDetailID;
                        model.Price         = (decimal)details[0].Price;
                        model.PackageName   = details[0].PackageName;
                        model.Qty           = count;
                        model.PackageID     = (int)details[0].PackageID;
                        model.OrderID       = details[0].OrderID;
                        Summaries.Add(model);
                    }
                }
            }
            ViewBag.OrderDetails = Summaries;
        }