Example #1
0
        public SubmitProductionJournalResponse SubmitPickingJournalData(SubmitProductionJournalRequest SPJR)
        {
            SubmitProductionJournalResponse SM = new SubmitProductionJournalResponse();

            try
            {
                if (SPJR.UserId == "" || SPJR.UserId == null)
                {
                    SM.Status  = "Failure";
                    SM.Message = "Invalid UserId";
                    return(SM);
                }
                if (SPJR.WorkOrderNo == "" || SPJR.WorkOrderNo == null)
                {
                    SM.Status  = "Failure";
                    SM.Message = "Invalid WorkOrderId";
                    return(SM);
                }



                query     = "Sp_AxWebserviceIntegration";
                dbcommand = new SqlCommand(query, conn);
                //  dbcommand.Connection.Open();
                dbcommand.CommandType    = CommandType.StoredProcedure;
                dbcommand.CommandTimeout = 0;
                SqlDataAdapter da = new SqlDataAdapter(dbcommand);
                DataSet        ds = new DataSet();
                da.Fill(ds);

                //  DataSet ds = CommonManger.FillDatasetWithParam("Sp_AxWebserviceIntegration");
                AXWebServiceRef1.Iace_FinishedGoodServiceClient obj = new AXWebServiceRef1.Iace_FinishedGoodServiceClient();
                obj.ClientCredentials.Windows.ClientCredential.Domain   = Convert.ToString(ds.Tables[0].Rows[0]["Domain"]);
                obj.ClientCredentials.Windows.ClientCredential.UserName = Convert.ToString(ds.Tables[0].Rows[0]["Username"]);
                obj.ClientCredentials.Windows.ClientCredential.Password = Convert.ToString(ds.Tables[0].Rows[0]["Password"]);

                AXWebServiceRef1.CallContext Cct = new AXWebServiceRef1.CallContext();
                Cct.Company  = Convert.ToString(ds.Tables[0].Rows[0]["Company"]);
                Cct.Language = Convert.ToString(ds.Tables[0].Rows[0]["Language"]);

                var JournalIdPicking = obj.CreatePickingJournalHeader(Cct, SPJR.WorkOrderNo, "HHD");

                // var JournalIdRoute = obj.CreateRouteJournalHeader(Cct, SPJR.WorkOrderNo);

                List <PickingListData> PickingList = new List <PickingListData>();
                PickingList = SPJR.PickingList;
                foreach (var row in PickingList)
                {
                    PickingListData A = new PickingListData();
                    A.ItemId   = row.ItemId;
                    A.Quantity = row.Quantity;
                    if (row.Shift == "")
                    {
                        A.Shift = "";
                    }
                    else
                    {
                        A.Shift = row.Shift;
                    }
                    A.Date = row.Date;
                    obj.CreatePickingJournalDetails(Cct, JournalIdPicking, A.ItemId, A.Quantity, A.Shift, Convert.ToDateTime(A.Date));
                }
                //obj.CreatePickingJournalDetailsFG(Cct, JournalIdPicking);
                //obj.PostPickingJournal(Cct, JournalIdPicking);
                obj.PostQCReject(Cct, JournalIdPicking);
                //List<RoutingCardListData> RoutingCardList = new List<RoutingCardListData>();
                //RoutingCardList = SPJR.RoutingCardList;
                //foreach (var row in RoutingCardList)
                //{
                //    RoutingCardListData A = new RoutingCardListData();
                //    A.OperationName = row.OperationName;
                //    A.Resource = row.Resource;
                //    A.ResourceType = row.ResourceType;
                //    A.Shift = row.Shift;
                //    A.OperationId = row.OperationId;
                //    A.Quantity = row.Quantity;
                //    A.Hours = row.Hours;
                //    A.Priority = row.Priority;
                //    obj.CreateRouteJournalDetails(Cct, JournalIdRoute, A.OperationId, A.Priority, A.Quantity, A.Hours, A.Shift);
                //}


                SM.Status  = "Success";
                SM.Message = "Picking Journal Posted Successfully ";

                //if (ds.Rows[0]["value"].ToString() == "1")
                //{
                //    SM.Status = "Success";
                //    SM.Message = "SubmitProductionJournalProcess Successfully";
                //}
                //else
                //{
                //    SM.Status = "Failure";
                //    SM.Message = "SubmitProductionJournalProcess Failure";
                //}
            }
            catch (Exception Ex)
            {
                SM.Status  = "Failure";
                SM.Message = Ex.Message;
            }
            //finally
            //{
            //    //dbcommand.Connection.Close();
            //}
            return(SM);
        }
        public StickerMaster RejectedStillageDetail(RejectedStillageReq RSR)
        {
            StickerMaster SM = new StickerMaster();

            try
            {
                if (RSR.StickerNo == "")
                {
                    SM.Status  = "Failure";
                    SM.Message = "Enter Sticker ID";
                }
                if (RSR.UserId == 0)
                {
                    SM.Status  = "Failure";
                    SM.Message = "Invalid UserId";
                }

                Decimal StillageQtyPcs = 0;
                query                    = "Sp_RejectStillageWebApi";
                dbcommand                = new SqlCommand(query, conn);
                dbcommand.CommandType    = CommandType.StoredProcedure;
                dbcommand.CommandTimeout = 0;
                dbcommand.Parameters.AddWithValue("@QueryType", "FetchDataRejectST");
                dbcommand.Parameters.AddWithValue("@StillageID", RSR.StickerNo);
                dbcommand.Parameters.AddWithValue("@UserId", RSR.UserId);
                dbcommand.Parameters.AddWithValue("@ActivityID", "Reject");
                dbcommand.Parameters.AddWithValue("@Reason", RSR.Reason);
                SqlDataAdapter daGetData = new SqlDataAdapter(dbcommand);
                DataSet        dsGetData = new DataSet();
                daGetData.Fill(dsGetData);
                SqlDataAdapter da   = new SqlDataAdapter(dbcommand);
                var            Hold = "";
                if (dsGetData.Tables[0].Rows[0]["isHold"].ToString() == "True")
                {
                    Hold = "Qc Hold";
                }
                else
                {
                    Hold = "Qc Release";
                }

                decimal StillageQty = 0;


                if (dsGetData.Tables[0].Rows[0]["value"].ToString() != "2")
                {
                    query     = "Sp_AxWebserviceIntegration";
                    dbcommand = new SqlCommand(query, conn);
                    //  dbcommand.Connection.Open();
                    dbcommand.CommandType    = CommandType.StoredProcedure;
                    dbcommand.CommandTimeout = 0;
                    da = new SqlDataAdapter(dbcommand);
                    DataSet ds = new DataSet();
                    da.Fill(ds);

                    //  DataSet ds = CommonManger.FillDatasetWithParam("Sp_AxWebserviceIntegration");
                    AXWebServiceRef1.Iace_FinishedGoodServiceClient obj = new AXWebServiceRef1.Iace_FinishedGoodServiceClient();
                    obj.ClientCredentials.Windows.ClientCredential.Domain   = Convert.ToString(ds.Tables[0].Rows[0]["Domain"]);
                    obj.ClientCredentials.Windows.ClientCredential.UserName = Convert.ToString(ds.Tables[0].Rows[0]["Username"]);
                    obj.ClientCredentials.Windows.ClientCredential.Password = Convert.ToString(ds.Tables[0].Rows[0]["Password"]);

                    AXWebServiceRef1.CallContext Cct = new AXWebServiceRef1.CallContext();
                    Cct.Company  = Convert.ToString(ds.Tables[0].Rows[0]["Company"]);
                    Cct.Language = Convert.ToString(ds.Tables[0].Rows[0]["Language"]);
                    if (Convert.ToString(dsGetData.Tables[1].Rows[0]["WOStatus"]) == "7")
                    {
                        if (RSR.IsKg == 1)
                        {
                            StillageQty = Convert.ToDecimal(dsGetData.Tables[1].Rows[0]["StillageQty"]) - Math.Round(RSR.Quantity / Convert.ToDecimal(dsGetData.Tables[1].Rows[0]["Factor"]));
                        }
                        else
                        {
                            StillageQty = Convert.ToDecimal(dsGetData.Tables[1].Rows[0]["StillageQty"]) - RSR.Quantity;
                        }
                        if (StillageQty == 0)
                        {
                            query                    = "[Sp_MasterDataWebApi]";
                            dbcommand                = new SqlCommand(query, conn);
                            dbcommand.CommandType    = CommandType.StoredProcedure;
                            dbcommand.CommandTimeout = 0;
                            dbcommand.Parameters.AddWithValue("@QueryType", "GetActivityMaster");
                            dbcommand.Parameters.AddWithValue("@ActivityID", "Reject & Discarded");
                            SqlDataAdapter daGetData1 = new SqlDataAdapter(dbcommand);
                            DataSet        dsGetData1 = new DataSet();
                            daGetData.Fill(dsGetData1);
                            string JournalID = "";
                            if (RSR.IsKg == 1)
                            {
                                obj.UpdateQty(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), false, false, Convert.ToString(RSR.Shift), RSR.StickerNo, "HHD", StillageQty, Convert.ToDecimal(-1 * RSR.Quantity));
                                //JournalID = obj.QCRejectHeader(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), RSR.StickerNo, "Process");
                                //obj.QCRejectLines(Cct, JournalID, "Startup", Convert.ToDecimal(RSR.Quantity), Convert.ToString(RSR.Reason), Convert.ToString(RSR.Shift), Convert.ToDateTime(DateTime.Now.ToString()));
                                ////obj.QCRejectFGLine(Cct, JournalID);
                                //obj.PostQCReject(Cct, JournalID);
                            }

                            else
                            {
                                obj.UpdateQty(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), false, false, Convert.ToString(RSR.Shift), RSR.StickerNo, "HHD", StillageQty, Convert.ToDecimal(-1 * RSR.Quantity));
                                //JournalID = obj.QCRejectHeader(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), RSR.StickerNo, "Process");
                                //obj.QCRejectLines(Cct, JournalID, "Process", Convert.ToDecimal(RSR.Quantity), Convert.ToString(RSR.Reason), Convert.ToString(RSR.Shift), Convert.ToDateTime(DateTime.Now.ToString()));
                                ////obj.QCRejectFGLine(Cct, JournalID);
                                //obj.PostQCReject(Cct, JournalID);
                            }
                            //obj.UpdateStillageQty(Cct, RSR.StickerNo, Convert.ToString(dsGetData.Tables[1].Rows[0]["StillageLocation"]), StillageQty);

                            string value = obj.InsertHistoryHeaderData(Cct, RSR.StickerNo, Convert.ToString(dsGetData.Tables[0].Rows[0]["SiteID"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["ItemId"]), Convert.ToDecimal(dsGetData.Tables[0].Rows[0]["WorkOrderQty"]));
                            obj.InsertHistoryDetailData(Cct, RSR.StickerNo, "", Convert.ToString(dsGetData1.Tables[1].Rows[0]["ActivityName"]), Convert.ToString(dsGetData1.Tables[1].Rows[0]["ActivityDesc"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["StillageLocation"]), "", "", "", "", Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonName"]), Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonDes"]), "Yes", 0, "", 0, 0, StillageQty, Convert.ToString(dsGetData.Tables[1].Rows[0]["UserName"]), Hold, RSR.Quantity, "", "", "", Convert.ToString(dsGetData.Tables[0].Rows[0]["WareHouseID"]), 0);
                        }
                        else
                        {
                            string JournalID = "";
                            if (RSR.IsKg == 1)
                            {
                                obj.UpdateQty(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), false, false, Convert.ToString(RSR.Shift), RSR.StickerNo, "HHD", StillageQty, Convert.ToDecimal(-1 * RSR.Quantity));
                                //JournalID = obj.QCRejectHeader(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), RSR.StickerNo, "Process");
                                //obj.QCRejectLines(Cct, JournalID, "Startup", Convert.ToDecimal(RSR.Quantity), Convert.ToString(RSR.Reason), Convert.ToString(RSR.Shift), Convert.ToDateTime(DateTime.Now.ToString()));
                                ////obj.QCRejectFGLine(Cct, JournalID);
                                //obj.PostQCReject(Cct, JournalID);
                            }

                            else
                            {
                                obj.UpdateQty(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), false, false, Convert.ToString(RSR.Shift), RSR.StickerNo, "HHD", StillageQty, Convert.ToDecimal(-1 * RSR.Quantity));
                                //JournalID = obj.QCRejectHeader(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), RSR.StickerNo, "Process");
                                //obj.QCRejectLines(Cct, JournalID, "Process", Convert.ToDecimal(RSR.Quantity), Convert.ToString(RSR.Reason), Convert.ToString(RSR.Shift), Convert.ToDateTime(DateTime.Now.ToString()));
                                ////obj.QCRejectFGLine(Cct, JournalID);
                                //obj.PostQCReject(Cct, JournalID);
                            }
                            string value = obj.InsertHistoryHeaderData(Cct, RSR.StickerNo, Convert.ToString(dsGetData.Tables[0].Rows[0]["SiteID"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["ItemId"]), Convert.ToDecimal(dsGetData.Tables[0].Rows[0]["WorkOrderQty"]));
                            obj.InsertHistoryDetailData(Cct, RSR.StickerNo, "", Convert.ToString(dsGetData.Tables[1].Rows[0]["ActivityName"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["ActivityDesc"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["StillageLocation"]), "", "", "", "", Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonName"]), Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonDes"]), "Yes", 0, "", 0, 0, StillageQty, Convert.ToString(dsGetData.Tables[1].Rows[0]["UserName"]), Hold, RSR.Quantity, "", "", "", Convert.ToString(dsGetData.Tables[1].Rows[0]["WareHouseID"]), 0);
                        }

                        query                    = "Sp_RejectStillageWebApi";
                        dbcommand                = new SqlCommand(query, conn);
                        dbcommand.CommandType    = CommandType.StoredProcedure;
                        dbcommand.CommandTimeout = 0;
                        dbcommand.Parameters.AddWithValue("@QueryType", "SingleRejectStillage");
                        dbcommand.Parameters.AddWithValue("@StickerId", RSR.StickerNo);
                        dbcommand.Parameters.AddWithValue("@RejectedQty", StillageQty);
                        dbcommand.Parameters.AddWithValue("@Reason", RSR.Reason);
                        dbcommand.Parameters.AddWithValue("@Shift", RSR.Shift);
                        dbcommand.Parameters.AddWithValue("@UserId", RSR.UserId);
                        //dbcommand.Parameters.AddWithValue("@ActivityID", RSR.ActivityID);
                        SqlDataAdapter daGetData0 = new SqlDataAdapter(dbcommand);
                        DataSet        dsGetData0 = new DataSet();
                        daGetData0.Fill(dsGetData0);
                        da = new SqlDataAdapter(dbcommand);
                        DataTable dt = new DataTable();
                        da.Fill(dt);
                        if (dt.Rows[0]["value"].ToString() == "1")
                        {
                            SM.Status  = "Success";
                            SM.Message = "Stillage Reject successfully";
                        }
                        else
                        {
                            SM.Status  = "Failure";
                            SM.Message = "Stillage Not Reject successful";
                        }
                    }
                    else
                    {
                        if (RSR.IsKg == 1)
                        {
                            StillageQty    = Convert.ToDecimal(dsGetData.Tables[1].Rows[0]["StillageQty"]) - Math.Round(RSR.Quantity / Convert.ToDecimal(dsGetData.Tables[1].Rows[0]["Factor"]));
                            StillageQtyPcs = Math.Round(RSR.Quantity / Convert.ToDecimal(dsGetData.Tables[1].Rows[0]["Factor"]));
                        }
                        else
                        {
                            StillageQty = Convert.ToDecimal(dsGetData.Tables[1].Rows[0]["StillageQty"]) - RSR.Quantity;
                        }
                        if (Convert.ToBoolean(dsGetData.Tables[1].Rows[0]["IsCounted"]) == false)
                        {
                            if (StillageQty == 0)
                            {
                                query                    = "[Sp_MasterDataWebApi]";
                                dbcommand                = new SqlCommand(query, conn);
                                dbcommand.CommandType    = CommandType.StoredProcedure;
                                dbcommand.CommandTimeout = 0;
                                dbcommand.Parameters.AddWithValue("@QueryType", "GetActivityMaster");
                                dbcommand.Parameters.AddWithValue("@ActivityID", "Reject & Discarded");
                                SqlDataAdapter daGetData1 = new SqlDataAdapter(dbcommand);
                                DataSet        dsGetData1 = new DataSet();
                                daGetData.Fill(dsGetData1);
                                string JournalID = "";
                                if (RSR.IsKg == 1)
                                {
                                    //obj.ProcessRejectionRAF(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), false, false, Convert.ToString(RSR.Shift), RSR.StickerNo, "HHD", false, false, StillageQtyPcs);
                                    JournalID = obj.QCRejectHeader(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), RSR.StickerNo, "Web");
                                    obj.QCRejectLines(Cct, JournalID, "Process", StillageQtyPcs, Convert.ToString(RSR.Reason), Convert.ToString(RSR.Shift), Convert.ToDateTime(DateTime.Now.ToString()), RSR.Quantity);
                                    obj.QCRejectFGLine(Cct, JournalID);
                                    obj.PostQCReject(Cct, JournalID);

                                    string value = obj.InsertHistoryHeaderData(Cct, RSR.StickerNo, Convert.ToString(dsGetData.Tables[0].Rows[0]["SiteID"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["ItemId"]), Convert.ToDecimal(dsGetData.Tables[0].Rows[0]["WorkOrderQty"]));
                                    obj.InsertHistoryDetailData(Cct, RSR.StickerNo, "", Convert.ToString(dsGetData1.Tables[1].Rows[0]["ActivityName"]), Convert.ToString(dsGetData1.Tables[1].Rows[0]["ActivityDesc"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["StillageLocation"]), "", "", "", "", Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonName"]), Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonDes"]), "No", 0, "", 0, 0, StillageQty, Convert.ToString(dsGetData.Tables[1].Rows[0]["UserName"]), Hold, StillageQtyPcs, "", "", "", Convert.ToString(dsGetData.Tables[0].Rows[0]["WareHouseID"]), 0);
                                }

                                else
                                {
                                    //  obj.ProcessRejectionRAF(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), false, false, Convert.ToString(RSR.Shift), RSR.StickerNo, "HHD", false, false, RSR.Quantity);
                                    JournalID = obj.QCRejectHeader(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), RSR.StickerNo, "Process");
                                    obj.QCRejectLines(Cct, JournalID, "Process", Convert.ToDecimal(RSR.Quantity), Convert.ToString(RSR.Reason), Convert.ToString(RSR.Shift), Convert.ToDateTime(DateTime.Now.ToString()), RSR.Quantity);
                                    obj.QCRejectFGLine(Cct, JournalID);
                                    obj.PostQCReject(Cct, JournalID);

                                    string value = obj.InsertHistoryHeaderData(Cct, RSR.StickerNo, Convert.ToString(dsGetData.Tables[0].Rows[0]["SiteID"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["ItemId"]), Convert.ToDecimal(dsGetData.Tables[0].Rows[0]["WorkOrderQty"]));
                                    obj.InsertHistoryDetailData(Cct, RSR.StickerNo, "", Convert.ToString(dsGetData1.Tables[1].Rows[0]["ActivityName"]), Convert.ToString(dsGetData1.Tables[1].Rows[0]["ActivityDesc"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["StillageLocation"]), "", "", "", "", Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonName"]), Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonDes"]), "No", 0, "", 0, 0, StillageQty, Convert.ToString(dsGetData.Tables[1].Rows[0]["UserName"]), Hold, RSR.Quantity, "", "", "", Convert.ToString(dsGetData.Tables[0].Rows[0]["WareHouseID"]), 0);
                                }
                                //obj.UpdateStillageQty(Cct, RSR.StickerNo, Convert.ToString(dsGetData.Tables[1].Rows[0]["StillageLocation"]), StillageQty);
                            }
                            else
                            {
                                string JournalID = "";
                                if (RSR.IsKg == 1)
                                {
                                    // obj.ProcessRejectionRAF(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), false, false, Convert.ToString(RSR.Shift), RSR.StickerNo, "HHD", false, false, StillageQtyPcs);
                                    JournalID = obj.QCRejectHeader(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), RSR.StickerNo, "Web");
                                    obj.QCRejectLines(Cct, JournalID, "Process", StillageQtyPcs, Convert.ToString(RSR.Reason), Convert.ToString(RSR.Shift), Convert.ToDateTime(DateTime.Now.ToString()), RSR.Quantity);
                                    obj.QCRejectFGLine(Cct, JournalID);
                                    obj.PostQCReject(Cct, JournalID);

                                    string value = obj.InsertHistoryHeaderData(Cct, RSR.StickerNo, Convert.ToString(dsGetData.Tables[0].Rows[0]["SiteID"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["ItemId"]), Convert.ToDecimal(dsGetData.Tables[0].Rows[0]["WorkOrderQty"]));
                                    obj.InsertHistoryDetailData(Cct, RSR.StickerNo, "", Convert.ToString(dsGetData.Tables[1].Rows[0]["ActivityName"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["ActivityDesc"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["StillageLocation"]), "", "", "", "", Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonName"]), Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonDes"]), "No", 0, "", 0, 0, StillageQty, Convert.ToString(dsGetData.Tables[1].Rows[0]["UserName"]), Hold, StillageQtyPcs, "", "", "", Convert.ToString(dsGetData.Tables[1].Rows[0]["WareHouseID"]), 0);
                                }

                                else
                                {
                                    //obj.ProcessRejectionRAF(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), false, false, Convert.ToString(RSR.Shift), RSR.StickerNo, "HHD", false, false, RSR.Quantity);
                                    JournalID = obj.QCRejectHeader(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), RSR.StickerNo, "Process");
                                    obj.QCRejectLines(Cct, JournalID, "Process", Convert.ToDecimal(RSR.Quantity), Convert.ToString(RSR.Reason), Convert.ToString(RSR.Shift), Convert.ToDateTime(DateTime.Now.ToString()), RSR.Quantity);
                                    obj.QCRejectFGLine(Cct, JournalID);
                                    obj.PostQCReject(Cct, JournalID);

                                    string value = obj.InsertHistoryHeaderData(Cct, RSR.StickerNo, Convert.ToString(dsGetData.Tables[0].Rows[0]["SiteID"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["ItemId"]), Convert.ToDecimal(dsGetData.Tables[0].Rows[0]["WorkOrderQty"]));
                                    obj.InsertHistoryDetailData(Cct, RSR.StickerNo, "", Convert.ToString(dsGetData.Tables[1].Rows[0]["ActivityName"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["ActivityDesc"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["StillageLocation"]), "", "", "", "", Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonName"]), Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonDes"]), "No", 0, "", 0, 0, StillageQty, Convert.ToString(dsGetData.Tables[1].Rows[0]["UserName"]), Hold, RSR.Quantity, "", "", "", Convert.ToString(dsGetData.Tables[1].Rows[0]["WareHouseID"]), 0);
                                }
                            }
                        }
                        else
                        {
                            if (StillageQty == 0)
                            {
                                query                    = "[Sp_MasterDataWebApi]";
                                dbcommand                = new SqlCommand(query, conn);
                                dbcommand.CommandType    = CommandType.StoredProcedure;
                                dbcommand.CommandTimeout = 0;
                                dbcommand.Parameters.AddWithValue("@QueryType", "GetActivityMaster");
                                dbcommand.Parameters.AddWithValue("@ActivityID", "Reject & Discarded");
                                SqlDataAdapter daGetData1 = new SqlDataAdapter(dbcommand);
                                DataSet        dsGetData1 = new DataSet();
                                daGetData.Fill(dsGetData1);
                                string JournalID = "";
                                if (RSR.IsKg == 1)
                                {
                                    obj.ProcessRejectionRAF(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), false, false, Convert.ToString(RSR.Shift), RSR.StickerNo, "HHD", false, false, StillageQtyPcs);
                                    JournalID = obj.QCRejectHeader(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), RSR.StickerNo, "Web");
                                    obj.QCRejectLines(Cct, JournalID, "Process", StillageQtyPcs, Convert.ToString(RSR.Reason), Convert.ToString(RSR.Shift), Convert.ToDateTime(DateTime.Now.ToString()), RSR.Quantity);
                                    //obj.QCRejectFGLine(Cct, JournalID);
                                    obj.PostQCReject(Cct, JournalID);

                                    string value = obj.InsertHistoryHeaderData(Cct, RSR.StickerNo, Convert.ToString(dsGetData.Tables[0].Rows[0]["SiteID"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["ItemId"]), Convert.ToDecimal(dsGetData.Tables[0].Rows[0]["WorkOrderQty"]));
                                    obj.InsertHistoryDetailData(Cct, RSR.StickerNo, "", Convert.ToString(dsGetData1.Tables[1].Rows[0]["ActivityName"]), Convert.ToString(dsGetData1.Tables[1].Rows[0]["ActivityDesc"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["StillageLocation"]), "", "", "", "", Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonName"]), Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonDes"]), "Yes", 0, "", 0, 0, StillageQty, Convert.ToString(dsGetData.Tables[1].Rows[0]["UserName"]), Hold, StillageQtyPcs, "", "", "", Convert.ToString(dsGetData.Tables[0].Rows[0]["WareHouseID"]), 0);
                                }

                                else
                                {
                                    obj.ProcessRejectionRAF(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), false, false, Convert.ToString(RSR.Shift), RSR.StickerNo, "HHD", false, false, RSR.Quantity);
                                    JournalID = obj.QCRejectHeader(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), RSR.StickerNo, "Process");
                                    obj.QCRejectLines(Cct, JournalID, "Process", Convert.ToDecimal(RSR.Quantity), Convert.ToString(RSR.Reason), Convert.ToString(RSR.Shift), Convert.ToDateTime(DateTime.Now.ToString()), RSR.Quantity);
                                    //obj.QCRejectFGLine(Cct, JournalID);
                                    obj.PostQCReject(Cct, JournalID);

                                    string value = obj.InsertHistoryHeaderData(Cct, RSR.StickerNo, Convert.ToString(dsGetData.Tables[0].Rows[0]["SiteID"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["ItemId"]), Convert.ToDecimal(dsGetData.Tables[0].Rows[0]["WorkOrderQty"]));
                                    obj.InsertHistoryDetailData(Cct, RSR.StickerNo, "", Convert.ToString(dsGetData1.Tables[1].Rows[0]["ActivityName"]), Convert.ToString(dsGetData1.Tables[1].Rows[0]["ActivityDesc"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["StillageLocation"]), "", "", "", "", Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonName"]), Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonDes"]), "Yes", 0, "", 0, 0, StillageQty, Convert.ToString(dsGetData.Tables[1].Rows[0]["UserName"]), Hold, RSR.Quantity, "", "", "", Convert.ToString(dsGetData.Tables[0].Rows[0]["WareHouseID"]), 0);
                                }
                                //obj.UpdateStillageQty(Cct, RSR.StickerNo, Convert.ToString(dsGetData.Tables[1].Rows[0]["StillageLocation"]), StillageQty);
                            }
                            else
                            {
                                string JournalID = "";
                                if (RSR.IsKg == 1)
                                {
                                    obj.ProcessRejectionRAF(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), false, false, Convert.ToString(RSR.Shift), RSR.StickerNo, "HHD", false, false, StillageQtyPcs);
                                    JournalID = obj.QCRejectHeader(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), RSR.StickerNo, "Web");
                                    obj.QCRejectLines(Cct, JournalID, "Process", StillageQtyPcs, Convert.ToString(RSR.Reason), Convert.ToString(RSR.Shift), Convert.ToDateTime(DateTime.Now.ToString()), RSR.Quantity);
                                    //obj.QCRejectFGLine(Cct, JournalID);
                                    obj.PostQCReject(Cct, JournalID);

                                    string value = obj.InsertHistoryHeaderData(Cct, RSR.StickerNo, Convert.ToString(dsGetData.Tables[0].Rows[0]["SiteID"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["ItemId"]), Convert.ToDecimal(dsGetData.Tables[0].Rows[0]["WorkOrderQty"]));
                                    obj.InsertHistoryDetailData(Cct, RSR.StickerNo, "", Convert.ToString(dsGetData.Tables[1].Rows[0]["ActivityName"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["ActivityDesc"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["StillageLocation"]), "", "", "", "", Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonName"]), Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonDes"]), "Yes", 0, "", 0, 0, StillageQty, Convert.ToString(dsGetData.Tables[1].Rows[0]["UserName"]), Hold, StillageQtyPcs, "", "", "", Convert.ToString(dsGetData.Tables[1].Rows[0]["WareHouseID"]), 0);
                                }

                                else
                                {
                                    obj.ProcessRejectionRAF(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), false, false, Convert.ToString(RSR.Shift), RSR.StickerNo, "HHD", false, false, RSR.Quantity);
                                    JournalID = obj.QCRejectHeader(Cct, Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), RSR.StickerNo, "Process");
                                    obj.QCRejectLines(Cct, JournalID, "Process", Convert.ToDecimal(RSR.Quantity), Convert.ToString(RSR.Reason), Convert.ToString(RSR.Shift), Convert.ToDateTime(DateTime.Now.ToString()), RSR.Quantity);
                                    //obj.QCRejectFGLine(Cct, JournalID);
                                    obj.PostQCReject(Cct, JournalID);

                                    string value = obj.InsertHistoryHeaderData(Cct, RSR.StickerNo, Convert.ToString(dsGetData.Tables[0].Rows[0]["SiteID"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["WorkOrderNo"]), Convert.ToString(dsGetData.Tables[0].Rows[0]["ItemId"]), Convert.ToDecimal(dsGetData.Tables[0].Rows[0]["WorkOrderQty"]));
                                    obj.InsertHistoryDetailData(Cct, RSR.StickerNo, "", Convert.ToString(dsGetData.Tables[1].Rows[0]["ActivityName"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["ActivityDesc"]), Convert.ToString(dsGetData.Tables[1].Rows[0]["StillageLocation"]), "", "", "", "", Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonName"]), Convert.ToString(dsGetData.Tables[2].Rows[0]["ReasonDes"]), "Yes", 0, "", 0, 0, StillageQty, Convert.ToString(dsGetData.Tables[1].Rows[0]["UserName"]), Hold, RSR.Quantity, "", "", "", Convert.ToString(dsGetData.Tables[1].Rows[0]["WareHouseID"]), 0);
                                }
                            }
                        }


                        query                    = "Sp_RejectStillageWebApi";
                        dbcommand                = new SqlCommand(query, conn);
                        dbcommand.CommandType    = CommandType.StoredProcedure;
                        dbcommand.CommandTimeout = 0;
                        dbcommand.Parameters.AddWithValue("@QueryType", "SingleRejectStillage");
                        dbcommand.Parameters.AddWithValue("@StickerId", RSR.StickerNo);
                        dbcommand.Parameters.AddWithValue("@RejectedQty", StillageQty);
                        dbcommand.Parameters.AddWithValue("@Reason", RSR.Reason);
                        dbcommand.Parameters.AddWithValue("@Shift", RSR.Shift);
                        dbcommand.Parameters.AddWithValue("@UserId", RSR.UserId);
                        //dbcommand.Parameters.AddWithValue("@ActivityID", RSR.ActivityID);
                        SqlDataAdapter daGetData0 = new SqlDataAdapter(dbcommand);
                        DataSet        dsGetData0 = new DataSet();
                        daGetData0.Fill(dsGetData0);
                        da = new SqlDataAdapter(dbcommand);
                        DataTable dt = new DataTable();
                        da.Fill(dt);
                        if (dt.Rows[0]["value"].ToString() == "1")
                        {
                            SM.Status  = "Success";
                            SM.Message = "Stillage Reject successfully";
                        }
                        else
                        {
                            SM.Status  = "Failure";
                            SM.Message = "Stillage Not Reject successful";
                        }
                    }
                }


                else
                {
                    SM.Status  = "Failure";
                    SM.Message = "This Stillage Does Not Exist";
                    return(SM);
                }
            }
            catch (Exception Ex)
            {
                SM.Status  = "Failure";
                SM.Message = Ex.Message;
            }
            finally
            {
                dbcommand.Connection.Close();
            }
            return(SM);
        }