public LoadingPlan UpdateLoadingplanscanstatus(NewLoadingPlanReq LPR)
        {
            LoadingPlan SS1 = new LoadingPlan();

            try
            {
                if (LPR.LPID == "0")
                {
                    SS1.Status  = "Failure";
                    SS1.Message = "Invalid ID";
                }
                if (LPR.UserId == "0")
                {
                    SS1.Status  = "Failure";
                    SS1.Message = "Invalid UserId";
                }
                query     = "Sp_NewLoadingPlanWebApi";
                dbcommand = new SqlCommand(query, conn);
                dbcommand.Connection.Open();
                dbcommand.CommandType = CommandType.StoredProcedure;
                dbcommand.Parameters.AddWithValue("@QueryType", "UpdatePendingFlag");
                dbcommand.Parameters.AddWithValue("@TLPHID", LPR.LPID);
                dbcommand.Parameters.AddWithValue("@UserId", LPR.UserId);

                dbcommand.CommandTimeout = 0;
                SqlDataAdapter da = new SqlDataAdapter(dbcommand);
                DataSet        dt = new DataSet();
                da.Fill(dt);
                if (dt != null && dt.Tables[0].Rows.Count > 0)
                {
                    if (dt.Tables[0].Rows[0]["result"].ToString() == "1")
                    {
                        SS1.Status  = "Success";
                        SS1.Message = "Successfull move to ongoing to pending";
                    }

                    else
                    {
                        SS1.Status  = "Failure";
                        SS1.Message = "Sorry Invalid loading plan no.";
                    }
                }
                else
                {
                    SS1.Status  = "Failure";
                    SS1.Message = "Sorry Invalid loading plan no.";
                }
            }
            catch (Exception Ex)
            {
                SS1.Status  = "Failure";
                SS1.Message = Ex.Message;
            }
            finally
            {
                dbcommand.Connection.Close();
            }
            return(SS1);
        }
        public NewLoadingPlanDetails LoadingPlanDetails(NewLoadingPlanReq LPR)
        {
            NewLoadingPlanDetails SS = new NewLoadingPlanDetails();

            try
            {
                if (LPR.LPID == "0")
                {
                    SS.Status  = "Failure";
                    SS.Message = "Invalid ID";
                }
                if (LPR.UserId == "0")
                {
                    SS.Status  = "Failure";
                    SS.Message = "Invalid UserId";
                }
                query     = "Sp_NewLoadingPlanWebApi";
                dbcommand = new SqlCommand(query, conn);
                dbcommand.Connection.Open();
                dbcommand.CommandType = CommandType.StoredProcedure;
                dbcommand.Parameters.AddWithValue("@QueryType", "LoadingPlanDetails");
                dbcommand.Parameters.AddWithValue("@TLPHID", LPR.LPID);
                dbcommand.Parameters.AddWithValue("@UserId", LPR.UserId);

                dbcommand.CommandTimeout = 0;
                SqlDataAdapter da = new SqlDataAdapter(dbcommand);
                DataSet        dt = new DataSet();
                da.Fill(dt);
                if (dt != null && dt.Tables[0].Rows.Count > 0)
                {
                    if (dt.Tables[2].Rows[0]["result"].ToString() == "2")
                    {
                        SS.Status  = "close";
                        SS.Message = "This loading plan is discarded";
                    }
                    else if (dt.Tables[2].Rows[0]["result"].ToString() == "3")
                    {
                        SS.Status  = "close";
                        SS.Message = "This loading plan is finished";
                    }
                    else
                    {
                        SS.TruckID       = dt.Tables[0].Rows[0]["TruckID"].ToString();
                        SS.DriverName    = dt.Tables[0].Rows[0]["DriverName"].ToString();
                        SS.GateNo        = Convert.ToInt16(dt.Tables[0].Rows[0]["GateNo"]);
                        SS.LoadingPlanNo = dt.Tables[0].Rows[0]["LoadingPlanNo"].ToString();
                        SS.DriverID      = dt.Tables[0].Rows[0]["DriverId"].ToString();
                        SS.TruckNo       = dt.Tables[0].Rows[0]["TruckNo"].ToString();


                        List <NewLoadingPlanDetailsList> LoadingPlanList = new List <NewLoadingPlanDetailsList>();
                        foreach (DataRow row in dt.Tables[0].Rows)
                        {
                            NewLoadingPlanDetailsList A = new NewLoadingPlanDetailsList();
                            A.ItemName            = row["ItemName"].ToString();
                            A.ItemId              = row["ItemId"].ToString();
                            A.ToBeLoadedQty       = Convert.ToDecimal(row["PickingQty"]);
                            A.DeliveryReminderQty = Convert.ToDecimal(row["PDSCWDELIVERYREMINDER"]);
                            A.LoadedQty           = Convert.ToDecimal(row["LoadedQuantity"]);
                            A.PickingPlanNo       = row["PlanningID"].ToString();
                            A.SalesOrder          = row["SalesOrder"].ToString();

                            LoadingPlanList.Add(A);
                        }
                        SS.ItemList = LoadingPlanList;



                        List <ReasonList> ReasonList = new List <ReasonList>();
                        foreach (DataRow row in dt.Tables[1].Rows)
                        {
                            ReasonList A = new ReasonList();
                            A.id   = Convert.ToString(row["id"]);
                            A.name = row["name"].ToString();

                            ReasonList.Add(A);
                        }
                        SS.ReasonList = ReasonList;

                        SS.Status  = "Success";
                        SS.Message = "Data retrived successfully";
                    }
                }
                else
                {
                    SS.Status  = "Failure";
                    SS.Message = "There is no more stillage in this loading plan.";
                }
            }
            catch (Exception Ex)
            {
                SS.Status  = "Failure";
                SS.Message = Ex.Message;
            }
            finally
            {
                dbcommand.Connection.Close();
            }
            return(SS);
        }