示例#1
0
        public int CreateOrder(VmOrder vmOrder)
        {
            var result = -1;

            try
            {
                var orderRepository = UnitOfWork.GetRepository <OrderRepository>();

                var newOrder = new Order
                {
                    ShopOrderId = vmOrder.ShopOrderId,
                    UserId      = vmOrder.UserId,
                    OrderDate   = vmOrder.OrderDate,
                    InvoiceId   = vmOrder.InvoiceId,
                    Complete    = vmOrder.Complete,
                };

                orderRepository.CreateOrder(newOrder);

                UnitOfWork.Commit();

                result = newOrder.Id;
            }
            catch (Exception ex)
            {
                result = -1;
            }

            return(result);
        }
示例#2
0
        public bool UpdateOrder(VmOrder vmOrder)
        {
            try
            {
                var orderRepository = UnitOfWork.GetRepository <OrderRepository>();

                var updateableOrder = new Order
                {
                    Id          = vmOrder.Id,
                    ShopOrderId = vmOrder.ShopOrderId,
                    UserId      = vmOrder.UserId,
                    OrderDate   = vmOrder.OrderDate,
                    InvoiceId   = vmOrder.InvoiceId,
                    Complete    = vmOrder.Complete,
                };

                orderRepository.UpdateOrder(updateableOrder);

                return(UnitOfWork.Commit());
            }
            catch
            {
                return(false);
            }
        }
示例#3
0
        public VmOrder GetCompleteOrder(string userId, int invoiceId)
        {
            var orderRepository = UnitOfWork.GetRepository <OrderRepository>();

            var order   = orderRepository.GetCompleteOrder(userId, invoiceId);
            var vmOrder = new VmOrder
            {
                Id            = order.Id,
                InvoiceId     = order.InvoiceId,
                Received      = order.Received,
                TransactionNo = order.TransactionNo,
            };

            return(vmOrder);
        }
示例#4
0
        public VmOrder GetOrderById(int id)
        {
            var orderRepository = UnitOfWork.GetRepository <OrderRepository>();

            var order = orderRepository.GetOrderById(id);

            var vmOrder = new VmOrder
            {
                Id          = order.Id,
                ShopOrderId = order.ShopOrderId,
                UserId      = order.UserId,
                OrderDate   = order.OrderDate,
                InvoiceId   = order.InvoiceId,
                Complete    = order.Complete,
            };

            return(vmOrder);
        }
示例#5
0
        public Model.ShopCart.Checkout.Result HandelCheckout(List <VmTeamSelection> teamSelectionList, string advisorUserId)
        {
            var productCode = 0;

            var blInvoice = new BLInvoice();

            var invoiceList = blInvoice.GetInvoiceFullInfoByUserId(advisorUserId, false);

            var newShopOrder = CreateOrder();

            if (newShopOrder.Error == "0")
            {
                var blProduct   = new BLProduct();
                var productList = new List <VmProduct>();

                var blOrder = new BLOrder();

                var newOrder = new VmOrder()
                {
                    InvoiceId   = invoiceList.Id,
                    OrderDate   = DateTime.Now,
                    ShopOrderId = int.Parse(newShopOrder.Order.Id),
                    UserId      = advisorUserId,
                    Complete    = false
                };

                blOrder.CreateOrder(newOrder);

                foreach (var item in invoiceList.InvoiceDetails)
                {
                    if (item.IsChecked)
                    {
                        productCode = ProductDictionary[item.PaymentRuleId + item.FirstTeamOrExtraTeam].Id;
                        productList.Add(new VmProduct
                        {
                            Amount        = 1,
                            ShopOrderId   = int.Parse(newShopOrder.Order.Id),
                            ShopProductId = productCode
                        });

                        var orderInfo = AddProduct(newShopOrder.Order.Id, productCode.ToString());
                        if (orderInfo.Error != "0")
                        {
                            return(null);
                        }

                        if (item.ExtraParticipantCount > 0)
                        {
                            productCode = ProductDictionary["ExtraParticipant"].Id;

                            orderInfo = AddProduct(newShopOrder.Order.Id, productCode.ToString(), item.ExtraParticipantCount);

                            if (orderInfo.Error != "0")
                            {
                                return(null);
                            }
                            else
                            {
                                productList.Add(new VmProduct
                                {
                                    Amount        = item.ExtraParticipantCount,
                                    ShopOrderId   = int.Parse(newShopOrder.Order.Id),
                                    ShopProductId = productCode
                                });
                            }
                        }
                    }
                }

                blProduct.CreateBatchProduct(productList);

                return(PrepareCheckout(int.Parse(newShopOrder.Order.Id)));
            }

            return(null);
        }