public static Result SaveInventoryProduct(OETLib.BusinessObjects.Model.Product Product, int productid)
        {
            Result webRes = new Result(false);

            try
            {
                //new inventory entry
                var inventoryToSave = new OETLib.BusinessObjects.Model.Inventory();
                inventoryToSave.ProductID                = productid;
                inventoryToSave.InventoryQuantity        = Product.InventoryQuantity;
                inventoryToSave.CurrentInventoryQuantity = Product.CurrentInventoryQuantity + Product.InventoryQuantity;
                inventoryToSave.InventoryItemCost        = Product.ItemCost;
                inventoryToSave.InventoryTypeID          = 1;

                var SavedInventory = inventoryToSave.TrySave(typeof(OETLib.BusinessObjects.Model.InventoryList));
                //Get the newly created inventory ID
                var newInventoryItem = new OETLib.BusinessObjects.Model.Inventory();
                newInventoryItem = OETLib.BusinessObjects.Model.InventoryList.GetInventoryList().LastOrDefault(d => d.ProductID == productid);
                //webRes.Data = newInventoryItem;//.InventoryID ;
                OETLib.BusinessObjects.Model.InventoryList inventoryList = OETLib.BusinessObjects.Model.InventoryList.GetInventoryList();
                inventoryList.Add(newInventoryItem);
                OETLib.BusinessObjects.Model.EditInventoryList editInventoryList = OETLib.BusinessObjects.Model.EditInventoryList.GetEditInventoryList();
                webRes.Data    = editInventoryList;
                webRes.Success = true;
            }
            catch (Exception e)
            {
                webRes.ErrorText = e.Message;
            }
            return(webRes);
        }
        public Result CreateTheOrder(OETLib.BusinessObjects.Model.ProductList productlist)
        {
            Result webRes = new Result(false);

            try
            {
                foreach (OETLib.BusinessObjects.Model.Product product in productlist)
                {
                    if (product.ProductQuantity != 0)
                    {
                        var order = new OETLib.BusinessObjects.Model.Order();

                        order.UserID          = Singular.Settings.CurrentUserID;
                        order.OrderDate       = DateTime.Now;
                        order.ProcessStatusID = 1;
                        order.RequiredDate    = order.OrderDate = DateTime.Now;

                        //Save the order
                        var savedToOrder = order.TrySave(typeof(OETLib.BusinessObjects.Model.OrderList));
                        //Return the just saved OrderID
                        var newOrder = new OETLib.BusinessObjects.Model.Order();
                        newOrder = GetOrder(Singular.Settings.CurrentUserID);
                        //Create orderDetail
                        var orderDetail = new OETLib.BusinessObjects.Model.OrderDetail();
                        orderDetail.OrderID         = newOrder.OrderID;
                        orderDetail.ProductID       = product.ProductID;
                        orderDetail.ProductQuantity = product.ProductQuantity;
                        orderDetail.UnitPrice       = (decimal)product.LinePrice;


                        //Save newly created OrderDetail
                        var saveToOrderDetail = orderDetail.TrySave(typeof(OETLib.BusinessObjects.Model.OrderDetailList));

                        // Get the productId to be able to update the correct inventory
                        var Inventory_product = OETLib.BusinessObjects.Model.InventoryList.GetInventoryList().LastOrDefault(d => d.ProductID == product.ProductID);
                        var Inventory_record  = new OETLib.BusinessObjects.Model.Inventory();

                        //Set inventory elements
                        Inventory_record.ProductID                = product.ProductID;
                        Inventory_record.InventoryQuantity        = -product.ProductQuantity;
                        Inventory_record.CurrentInventoryQuantity = Inventory_product.CurrentInventoryQuantity - product.ProductQuantity;
                        Inventory_record.InventoryItemCost        = Inventory_product.InventoryItemCost;
                        Inventory_record.InventoryTypeID          = 2;
                        Inventory_record.OrderID = newOrder.OrderID;
                        //Try and safe the new inventory record
                        Inventory_record.TrySave(typeof(OETLib.BusinessObjects.Model.InventoryList));

                        OETLib.BusinessObjects.Model.myCartList mycartlist = OETLib.BusinessObjects.Model.myCartList.GetmyCartList(Singular.Settings.CurrentUserID);
                    }
                }
                webRes.Success = true;
                OETLib.BusinessObjects.Model.EditInventoryList inventorylist = OETLib.BusinessObjects.Model.EditInventoryList.GetEditInventoryList();
                webRes.Data = inventorylist;
            }
            catch
            {
                webRes.ErrorText = "There was an error adding your orderr";
            }
            return(webRes);
        }
Exemple #3
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);
            }
        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);
        }
        public Result SaveInventoryItem(OETLib.BusinessObjects.Model.EditInventory item)
        {
            Result webRes = new Result(false);

            try
            {
                var inventoryToSave = new OETLib.BusinessObjects.Model.Inventory();
                inventoryToSave.ProductID = item.ProductID;
                if (item.AddStatus == true)
                {
                    inventoryToSave.InventoryQuantity        = item.InventoryAmount;
                    inventoryToSave.CurrentInventoryQuantity = item.CurrentInventoryQuantity + item.InventoryAmount;
                    inventoryToSave.InventoryTypeID          = 1;
                }
                else
                {
                    inventoryToSave.InventoryQuantity        = -item.InventoryAmount;
                    inventoryToSave.CurrentInventoryQuantity = item.CurrentInventoryQuantity - item.InventoryAmount;
                    inventoryToSave.InventoryTypeID          = 3;
                }
                inventoryToSave.InventoryItemCost = item.InventoryItemCost;
                inventoryToSave.OrderID           = null;

                var SavedInventory     = inventoryToSave.TrySave(typeof(OETLib.BusinessObjects.Model.InventoryList));
                var newInventoryRecord = new OETLib.BusinessObjects.Model.Inventory();

                OETLib.BusinessObjects.Model.InventoryList InventoryList = OETLib.BusinessObjects.Model.InventoryList.GetInventoryList();
                InventoryList.Add(inventoryToSave);
                OETLib.BusinessObjects.Model.EditInventoryList editInventoryList = OETLib.BusinessObjects.Model.EditInventoryList.GetEditInventoryList();
                webRes.Success = true;
                webRes.Data    = editInventoryList;
            }
            catch (Exception ex)
            {
                return(new Result {
                    Success = false, ErrorText = ex.Message
                });
            }
            return(webRes);
        }