public ActionResult Updateorder(WarehouseOrderJoin warehouseOrderJoin)
        {
            int x            = Int32.Parse(Request.Form["WOsNo"]);
            int y            = Int32.Parse(Request.Form["WODsNo"]);
            var orders       = _context.WarehouseOrders.SingleOrDefault(o => o.SNo == x);
            var orderdetail  = _context.WarehouseOrderDetails.SingleOrDefault(o => o.SNo == y);
            var productPrice =
                _context.WarehouseProducts.SingleOrDefault(p => p.PId == warehouseOrderJoin.WarehouseOrderj.PId);
            var tprice = warehouseOrderJoin.WarehouseOrderj.PQuantity * productPrice.Price;

            orders.OId          = warehouseOrderJoin.WarehouseOrderDetailj.OrderID;
            orderdetail.OrderID = warehouseOrderJoin.WarehouseOrderDetailj.OrderID;

            orders.PId          = warehouseOrderJoin.WarehouseOrderj.PId;
            orders.Notification = 2;
            orders.PQuantity    = warehouseOrderJoin.WarehouseOrderj.PQuantity;
            orders.TotalPrice   = tprice;


            orderdetail.Sender   = Request.Form["OrderSender"];
            orderdetail.Receiver = Request.Form["OrderReciever"];

            _context.SaveChanges();

            return(Redirect("~/Warehouse/Orders"));
        }
        public ActionResult EditOrder(string id, string WOsNo, String WODsNo)
        {
            int x           = Int32.Parse(WOsNo);
            int y           = Int32.Parse(WODsNo);
            var orders      = _context.WarehouseOrders.SingleOrDefault(o => o.SNo == x);
            var orderdetail = _context.WarehouseOrderDetails.SingleOrDefault(o => o.SNo == y);
            var ordertype   = _context.WarehouseOrderTypes.SingleOrDefault(o => o.OId == id);

            if (orders == null)
            {
                return(HttpNotFound());
            }
            var Warehouseorderjoin = new WarehouseOrderJoin();

            Warehouseorderjoin.WarehouseOrderj       = orders;
            Warehouseorderjoin.WarehouseOrderDetailj = orderdetail;
            Warehouseorderjoin.WarehouseOrderTypej   = ordertype;

            return(View(Warehouseorderjoin));
        }
        public ActionResult AddOrder(WarehouseOrderJoin warehouseOrderJoin)
        {
            var  OrderId       = Request.Form["OrderID"];
            var  date          = Request.Form["date"];
            var  orderType     = Int32.Parse(Request.Form["OrderType"]);
            var  orderSender   = Request.Form["OrderSender"];
            var  OrderReciever = Request.Form["OrderReciever"];
            bool condition     = false;

            int    NoOfProducts = Int32.Parse(Request.Form["length"]);
            double price        = 0;

            for (int i = 0; i <= NoOfProducts; i++)
            {
                var product     = Request.Form["PID[" + i + "]"];
                var quatity     = Int32.Parse(Request.Form["PQ[" + i + "]"]);
                var stockInDb   = _context.WarehouseStocks.SingleOrDefault(p => p.ProductID == product);
                var productInDb = _context.WarehouseProducts.SingleOrDefault(p => p.PId == product);
                if (stockInDb != null)
                {
                    if (stockInDb.Quantity >= quatity)
                    {
                        condition = true;
                    }
                    else
                    {
                        condition = false;
                        break;
                    }
                }
                else if (productInDb != null)
                {
                    condition = false;
                    break;
                }
                else
                {
                    condition = false;
                    break;
                }
            }

            if (condition == true)
            {
                for (int i = 0; i <= NoOfProducts; i++)
                {
                    var product = Request.Form["PID[" + i + "]"];
                    var quatity = Int32.Parse(Request.Form["PQ[" + i + "]"]);

                    if (product == null || product == "")
                    {
                    }
                    else
                    {
                        var Order       = new WarehouseOrder();
                        var OrderDetail = new WarehouseOrderDetail();
                        var OrderType   = new WarehouseOrderType();
                        var stockInDb   = _context.WarehouseStocks.SingleOrDefault(p => p.ProductID == product);

                        try
                        {
                            //Calculating price for each product w.r.t to quantity
                            var productPrice =
                                _context.WarehouseProducts.SingleOrDefault(p => p.PId == product);
                            var tprice = quatity * productPrice.Price;

                            Order.TotalPrice = tprice;
                        }
                        catch (Exception e)
                        {
                            continue;
                        }


                        //Setting Id to all of them
                        Order.OId           = OrderId;
                        Order.Notification  = 0;
                        OrderDetail.OrderID = OrderId;
                        OrderType.OId       = OrderId;

                        //Setting remaining instances
                        Order.PId            = Request.Form["PID[" + i + "]"];
                        Order.PQuantity      = Int32.Parse(Request.Form["PQ[" + i + "]"]);
                        Order.Date           = DateTime.Parse(date);
                        OrderDetail.Receiver = OrderReciever;
                        OrderDetail.Sender   = orderSender;


                        if (i == 0)
                        {
                            OrderType.type = orderType;
                            _context.WarehouseOrderDetails.Add(OrderDetail);
                            _context.WarehouseOrderTypes.Add(OrderType);
                        }

                        try
                        {
                            _context.WarehouseOrders.Add(Order);
                            _context.SaveChanges();
                        }
                        catch (Exception e)
                        {
                            Debug.WriteLine(e.ToString());
                        }
                    }
                }
            }
            else
            {
                return(Redirect("~/Warehouse/OrderError"));
            }

            return(Redirect("~/Warehouse/Orders"));
        }