public void insertrequesttostore(string deptid, string empid, DateTime date, List <HodReqItem> reqItems)  //,date
        {
            Store_Request sr = new Store_Request()
            {
                Department_ID = deptid,
                Employee_ID   = empid,
                Request_Date  = date,
                Status        = "Pending"
            };

            model.Store_Request.Add(sr);

            model.SaveChanges();

            Store_Request storeid = model.Store_Request.OrderByDescending(x => x.StoreRequest_ID).Take(1).FirstOrDefault();


            foreach (var v in reqItems)
            {
                Store_Request_items store_Request = new Store_Request_items();

                store_Request.StoreRequest_ID = storeid.StoreRequest_ID;
                store_Request.Item_Number     = v.Itemnumber;
                store_Request.Description     = v.description;
                store_Request.Req_Quantity    = Convert.ToInt32(v.Quantity);
                store_Request.Pend_Quantity   = Convert.ToInt32(v.Quantity);
                store_Request.Status          = "Pending";

                model.Store_Request_items.Add(store_Request);

                model.SaveChanges();
            }
        }
Example #2
0
        public void insertrequesttostore(string deptid, string empid, DateTime date, List <HodReqItem> reqItems)  //,date
        {
            Store_Request sr = new Store_Request()
            {
                Department_ID = deptid,
                Employee_ID   = empid,
                Request_Date  = date,
                Status        = "Pending"
            };

            model.Store_Request.Add(sr);

            model.SaveChanges();

            Store_Request storeid = model.Store_Request.OrderByDescending(x => x.StoreRequest_ID).Take(1).FirstOrDefault();


            foreach (var v in reqItems)
            {
                //  var xy = (from z in model.Inventories where z.Description == v.Description select z.Item_Number).SingleOrDefault();
                Store_Request_items store_Request = new Store_Request_items();

                store_Request.StoreRequest_ID = storeid.StoreRequest_ID;
                store_Request.Item_Number     = v.Itemnumber;
                store_Request.Description     = v.description;
                store_Request.Req_Quantity    = Convert.ToInt32(v.Quantity);
                store_Request.Pend_Quantity   = Convert.ToInt32(v.Quantity);
                store_Request.Status          = "Pending";

                model.Store_Request_items.Add(store_Request);

                model.SaveChanges();
            }



            // Response.Write("request approve and send to store request");
        }
Example #3
0
        public static List <String> process(int id, Store_Request Request)
        {
            string rt = "";

            List <string> status = new List <string>();

            var relist = model.Store_Request_items.Where(x => x.StoreRequest_ID == id && x.Status == "Pending").ToList();



            foreach (var v in relist)
            {
                var itemID = v.Item_Number;

                var trslist = model.Wrehse_Trans_Dtl.Where(x => x.Available_Qunty != 0 && x.Available_Qunty > 0 && x.Item_number == itemID).FirstOrDefault();

                if (trslist.Available_Qunty != 0)
                {
                    if (trslist.Available_Qunty >= v.Pend_Quantity)
                    {
                        if (v.Delv_Quantity == null)
                        {
                            int?     Req_quty         = v.Pend_Quantity;       //for dupliacte table
                            int?     deliver_quantity = v.Req_Quantity;        //for duplicate table
                            DateTime date             = DateTime.Now;          //for dupilcate table
                            string   depart_id        = Request.Department_ID; //for duplicate table



                            trslist.Available_Qunty = trslist.Available_Qunty - v.Req_Quantity;
                            v.Delv_Quantity         = v.Req_Quantity;
                            v.Pend_Quantity         = 0;
                            v.Status = "Done";
                            model.SaveChanges();
                            status.Add("Done");

                            Request_completed Completed = new Request_completed();
                            Completed.Department_ID      = depart_id;
                            Completed.Item_Number        = v.Item_Number;
                            Completed.Req_quantity       = Req_quty;
                            Completed.Delivered_quantity = deliver_quantity;
                            Completed.Date            = date;
                            Completed.StoreRequest_ID = v.StoreRequest_ID;

                            model.Request_completed.Add(Completed);
                            model.SaveChanges();
                        }
                        else
                        {
                            int?     Req_quty         = v.Pend_Quantity;       //for dupliacte table
                            int?     deliver_quantity = v.Pend_Quantity;       //for duplicate table
                            DateTime date             = DateTime.Now;          //for dupilcate table
                            string   depart_id        = Request.Department_ID; //for duplicate table

                            trslist.Available_Qunty = trslist.Available_Qunty - v.Pend_Quantity;
                            v.Delv_Quantity         = v.Delv_Quantity + v.Pend_Quantity;
                            v.Pend_Quantity         = 0;
                            v.Status = "Done";
                            model.SaveChanges();

                            status.Add("Done");

                            Request_completed Completed = new Request_completed();
                            Completed.Department_ID      = depart_id;
                            Completed.Item_Number        = v.Item_Number;
                            Completed.Req_quantity       = Req_quty;
                            Completed.Delivered_quantity = deliver_quantity;
                            Completed.Date            = date;
                            Completed.StoreRequest_ID = v.StoreRequest_ID;

                            model.Request_completed.Add(Completed);
                            model.SaveChanges();
                        }
                    }
                    else
                    {
                        if (v.Delv_Quantity == null)
                        {
                            int bal = (int)(v.Req_Quantity - trslist.Available_Qunty);

                            int?     deliver_quantity = trslist.Available_Qunty; // for duplicate table
                            int?     Req_quty         = v.Pend_Quantity;         //for dupliacte table
                            DateTime date             = DateTime.Now;            //for dupilcate table
                            string   depart_id        = Request.Department_ID;   //for duplicate table

                            trslist.Available_Qunty = 0;
                            v.Pend_Quantity         = bal;
                            v.Delv_Quantity         = v.Req_Quantity - bal;
                            model.SaveChanges();
                            status.Add("Pending");


                            Request_completed Completed = new Request_completed();
                            Completed.Department_ID      = depart_id;
                            Completed.Item_Number        = v.Item_Number;
                            Completed.Req_quantity       = Req_quty;
                            Completed.Delivered_quantity = deliver_quantity;
                            Completed.Date            = date;
                            Completed.StoreRequest_ID = v.StoreRequest_ID;

                            model.Request_completed.Add(Completed);
                            model.SaveChanges();
                        }
                    }
                }
                else
                {
                    rt = "Available Qunty no more";
                }
            }

            return(status);
        }