예제 #1
0
            public Result ExpireOrder(OETLib.BusinessObjects.Model.UserOrdersList orderlist)
            {
                Result webRes = new Result(false);

                try
                {
                    //Order, OrderDetail,Inventory objects
                    OETLib.BusinessObjects.Model.Order       expiredOrder       = new OETLib.BusinessObjects.Model.Order();
                    OETLib.BusinessObjects.Model.OrderDetail expiredOrderDetail = new OETLib.BusinessObjects.Model.OrderDetail();
                    OETLib.BusinessObjects.Model.Inventory   expiredInventory   = new OETLib.BusinessObjects.Model.Inventory();
                    OETLib.BusinessObjects.Model.Inventory   InventoryProduct   = new OETLib.BusinessObjects.Model.Inventory();


                    foreach (OETLib.BusinessObjects.Model.UserOrders item in orderlist)
                    {
                        DateTime now       = DateTime.Now;
                        DateTime orderDate = Convert.ToDateTime(item.OrderDate);
                        if ((now - orderDate).TotalMinutes >= (60) && !((now - orderDate).TotalMinutes < 60))//(1/2)
                        {
                            expiredOrder       = OETLib.BusinessObjects.Model.OrderList.GetOrderList().LastOrDefault(d => d.OrderID == item.OrderID);
                            expiredOrderDetail = OETLib.BusinessObjects.Model.OrderDetailList.GetOrderDetailList().LastOrDefault(d => d.OrderID == item.OrderID);
                            // Chnage the OrderStatus of the order
                            expiredOrder.ProcessStatusID = 3;
                            expiredOrder.TrySave(typeof(OETLib.BusinessObjects.Model.OrderList));
                            //Delete order from OrderDetail
                            OETLib.BusinessObjects.Model.OrderDetailList orderDetailList = OETLib.BusinessObjects.Model.OrderDetailList.GetOrderDetailList();
                            orderDetailList.Remove(expiredOrderDetail);
                            orderDetailList.Save();


                            //Create new Inventory record that reflects the canceled/expired order
                            InventoryProduct                          = OETLib.BusinessObjects.Model.InventoryList.GetInventoryList().LastOrDefault(d => d.ProductID == item.ProductID);
                            expiredInventory.ProductID                = item.ProductID;
                            expiredInventory.InventoryQuantity        = item.ProductQuantity;
                            expiredInventory.CurrentInventoryQuantity = InventoryProduct.CurrentInventoryQuantity + item.ProductQuantity;
                            expiredInventory.InventoryItemCost        = InventoryProduct.InventoryItemCost;
                            expiredInventory.InventoryTypeID          = 4;

                            expiredInventory.TrySave(typeof(OETLib.BusinessObjects.Model.InventoryList));
                            item.ProcessStatusID = 2;

                            OETLib.BusinessObjects.Model.UserOrdersList userorderlist = OETLib.BusinessObjects.Model.UserOrdersList.GetUserOrdersList(1);
                            webRes.Data    = userorderlist;
                            webRes.Success = true;
                        }
                    }
                }
                catch (Exception e)
                {
                    webRes.ErrorText = e.Message;// "There was an error adding your order";
                }
                return(webRes);
            }
예제 #2
0
        public Result CancelOrder(OETLib.BusinessObjects.Model.myCart order)
        {
            Result webRes = new Result(false);

            try
            {
                // Delete Order from OrderDetail table
                OETLib.BusinessObjects.Model.OrderDetailList orderdetailList = OETLib.BusinessObjects.Model.OrderDetailList.GetOrderDetailList();
                var OrderDetailToDelete = OETLib.BusinessObjects.Model.OrderDetailList.GetOrderDetailList().LastOrDefault(d => d.OrderID == order.OrderID);
                orderdetailList.Remove(OrderDetailToDelete);
                orderdetailList.Save();

                // Delete canceled order from Order table
                OETLib.BusinessObjects.Model.OrderList orderlist = OETLib.BusinessObjects.Model.OrderList.GetOrderList();
                var OrderToDelete = OETLib.BusinessObjects.Model.OrderList.GetOrderList().LastOrDefault(d => d.OrderID == order.OrderID);
                //orderlist.Remove(OrderToDelete);
                OrderToDelete.ProcessStatusID = 3;
                OrderToDelete.TrySave(typeof(OETLib.BusinessObjects.Model.OrderList));
                //orderlist.Save();

                // Update the inventory stock levels. Stock needs to be added back to the inventory amounts
                // Get the latest inventory item to update in inventory
                var inventoryToUpdate = OETLib.BusinessObjects.Model.InventoryList.GetInventoryList().LastOrDefault(d => d.ProductID == order.ProductID);

                // new inventory record is created with the updated values
                var inventoryToCancel = new OETLib.BusinessObjects.Model.Inventory();
                inventoryToCancel.ProductID                = order.ProductID;
                inventoryToCancel.InventoryQuantity        = order.ProductQuantity;
                inventoryToCancel.CurrentInventoryQuantity = inventoryToUpdate.CurrentInventoryQuantity + order.ProductQuantity;
                inventoryToCancel.InventoryItemCost        = inventoryToUpdate.InventoryItemCost;
                inventoryToCancel.InventoryTypeID          = 4;
                inventoryToCancel.OrderID = order.OrderID;

                inventoryToCancel.TrySave(typeof(OETLib.BusinessObjects.Model.InventoryList));

                var userid = Singular.Settings.CurrentUserID;
                OETLib.BusinessObjects.Model.myCartList mycartlist = OETLib.BusinessObjects.Model.myCartList.GetmyCartList(userid);

                webRes.Data    = mycartlist;
                webRes.Success = true;
            }
            catch
            {
                webRes.ErrorText = "There was a problem cancelling order";
            }
            return(webRes);
        }