Beispiel #1
0
        private void Posting()
        {
            SqlTransaction Trans        = null;
            bool           Check        = false;
            string         strChkSelect = string.Empty;

            try
            {
                foreach (GridViewRow gvr in GvMain.Rows)
                {
                    CheckBox chkSelect = (CheckBox)gvr.Cells[0].FindControl("ChkSelect");
                    if (chkSelect.Checked == true)
                    {
                        strChkSelect = "T";
                        break;
                    }
                    else
                    {
                        strChkSelect = "F";
                    }
                }
                if (strChkSelect == "F")
                {
                    SysFunc.UserMsg(LbErr, Color.Red, "Select Item in parts list");
                    return;
                }
                if (ObjTrans.BeginTransaction(ref Trans) == false)
                {
                    return;
                }
                // Issues Code Generation
                //if (txtIssueNo.Text.Trim() == "")
                //{
                //    if (Post_InsertMasterDetail(Trans))
                //    {
                //        Check = true;
                //    }
                //    else
                //    {
                //        Check = false;
                //    }
                //}
                //else
                //{
                //    Check = true;
                //}

                Save_InsertMasterDetail(Trans, ref Check);
                //if (Check == true)
                //{
                foreach (GridViewRow gvr in GvMain.Rows)
                {
                    CheckBox chkSelect = (CheckBox)gvr.FindControl("ChkSelect");
                    if (chkSelect.Checked)
                    {
                        SqlParameter[] param =
                        {
                            new SqlParameter("@IssueQty",    SqlDbType.Float),
                            new SqlParameter("@SIRNo",       SqlDbType.Char),
                            new SqlParameter("@ItemCode",    SqlDbType.Char),
                            new SqlParameter("@DEALER_CODE", SqlDbType.Char)
                        };

                        DropDownList ddlLocation = (DropDownList)gvr.FindControl("ddlLocation");
                        //HiddenField HDPartsTransLocCode = (HiddenField)GvMain.Rows[i].FindControl("HDPartsTransLocCode");

                        TextBox txtIssueQty = (TextBox)gvr.FindControl("txtIssueQty");
                        Label   lblAvgCost  = (Label)gvr.FindControl("lblAvgCost");
                        Label   LbAmount    = (Label)gvr.FindControl("LbAmount");


                        param[0].Value = txtIssueQty.Text.Trim();
                        param[1].Value = ddlSirNo.SelectedValue.ToString().Trim();
                        param[2].Value = gvr.Cells[1].Text.Trim();
                        param[3].Value = Session["DealerCode"].ToString().Trim();

                        if (SysFunc.UpdateSIRDetail(Trans, param))
                        {
                            SqlParameter[] param1 =
                            {
                                new SqlParameter("@IssueQty", SqlDbType.Float),             //0
                                new SqlParameter("@JobCardCode", SqlDbType.Char),           //1
                                new SqlParameter("@ItemCode", SqlDbType.Char),              //2
                                new SqlParameter("@DEALER_CODE", SqlDbType.Char)            //3
                            };
                            param1[0].Value = txtIssueQty.Text.Trim();
                            param1[1].Value = txtJC_CS_No.Text.Trim();
                            param1[2].Value = gvr.Cells[1].Text.Trim();
                            param1[3].Value = Session["DealerCode"].ToString().Trim();

                            if (txtSource.Text.Trim() == "J")
                            {
                                Check = SysFunc.UpdateJobCardDetail(Trans, param1, ddlSirNo.SelectedValue.ToString(), gvr.Cells[1].Text, Session["DealerCode"].ToString());
                                if (Check == false)
                                {
                                    break;
                                }
                            }
                            else
                            {
                                Check = true;
                            }


                            if (Check == true)
                            {
                                SqlParameter[] param2 =
                                {
                                    new SqlParameter("@IssueQty", SqlDbType.Float),         //0
                                    new SqlParameter("@IssueVal", SqlDbType.Char),          //1
                                    new SqlParameter("@ItemCode", SqlDbType.Char),          //2
                                    new SqlParameter("@LocationCode", SqlDbType.Char),      //3
                                    new SqlParameter("@DEALER_CODE", SqlDbType.Char)        //4
                                };
                                param2[0].Value = txtIssueQty.Text.Trim();
                                param2[1].Value = LbAmount.Text.Trim();
                                param2[2].Value = gvr.Cells[1].Text.Trim();
                                //param2[3].Value = txtLocationCode.Text;
                                param2[3].Value = ddlLocation.SelectedValue.ToString().Trim();
                                param2[4].Value = Session["DealerCode"].ToString().Trim();

                                if (SysFunc.UpdateStock(Trans, param2))
                                {
                                    Check = true;
                                }
                                else
                                {
                                    Check = false;
                                    break;
                                }
                            }
                        }
                    }
                }


                //Check SIR RecQty
                foreach (GridViewRow gvr in GvMain.Rows)
                {
                    CheckBox chkSelect = (CheckBox)gvr.FindControl("ChkSelect");
                    if (chkSelect.Checked)
                    {
                        SqlParameter[] param3 =
                        {
                            new SqlParameter("@SIRNO", SqlDbType.Char),                  //0
                            new SqlParameter("@DEALER_CODE", SqlDbType.Char),            //1
                            new SqlParameter("@ItemCode", SqlDbType.Char),               //2
                        };



                        param3[0].Value = ddlSirNo.SelectedValue.ToString().Trim();
                        param3[1].Value = Session["DealerCode"].ToString();
                        param3[2].Value = gvr.Cells[1].Text.Trim();

                        if (SysFunc.Sp_Sparts_Get_IsItemIssuedExta(Trans, param3))
                        {
                            Check = true;
                        }
                        else
                        {
                            Check = false;
                            SysFunc.UserMsg(LbErr, Color.Red, "Issuance of Part [" + gvr.Cells[1].Text + "] is already completed, you cannot issue more quantity.");
                        }
                    }
                }
                //Updating the CounterSalesMaster
                if (txtSource.Text.Trim() == "C")
                {
                    SqlParameter[] param4 =
                    {
                        new SqlParameter("@SIRNO", SqlDbType.Char),                      //0
                        new SqlParameter("@DEALER_CODE", SqlDbType.Char),                //1
                        new SqlParameter("@InvoiceNO", SqlDbType.Char),                  //2
                    };

                    param4[0].Value = ddlSirNo.SelectedValue.ToString().Trim();
                    param4[1].Value = Session["DealerCode"].ToString();
                    param4[2].Value = txtJC_CS_No.Text.Trim();

                    if (SysFunc.SP_Parts_Update_UpdateCounterSales(Trans, param4))
                    {
                        Check = true;
                    }
                    else
                    {
                        Check = false;
                        SysFunc.UserMsg(LbErr, Color.Red, "Issuance information could not be Posted");
                    }
                }


                //Posting the Stock Issuance

                //


                if (SysFunc.PartIssues_UpdatePost(Trans, strIssueNo, Session["DealerCode"].ToString()))
                {
                    Check = true;
                }
                else
                {
                    Check = false;
                    SysFunc.UserMsg(LbErr, Color.Red, "Issuance information could not be Posted");
                }

                if (Check == false)
                {
                    ObjTrans.RollBackTransaction(ref Trans);
                    SysFunc.UserMsg(LbErr, Color.Red, "Record not save and post. Try again...");
                }
                else
                {
                    ObjTrans.CommittTransaction(ref Trans);
                    SysFunc.UserMsg(LbErr, Color.Green, "Record saved and post successfully. Last Code: " + strIssueNo);
                    //strSubmitBehavior = "Y";
                    System.Windows.Forms.MessageBox.Show("Record saved and post successfully. Last Code: " + strIssueNo, "Message");
                    btnClear_Click(btnClear, EventArgs.Empty);
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "Savealert()", true);
                }
            }
            //}
            catch (Exception ex)
            {
                ObjTrans.RollBackTransaction(ref Trans);
                SysFunc.UserMsg(LbErr, Color.Red, ex.Message);
            }
        }