Esempio n. 1
0
        public ActionResult InvoiceUpdate(string ChallanNo, string InvoiceNo, string ManualInvoiceNo, string InvoiceDate, string CategoryId, string InvoiceId)
        {
            string  GenInvoiceNo = "", retInvoiceId = "0";
            Invoice objInvoice = new Invoice();

            try
            {
                objInvoice.UpdateCode = "0";
                objInvoice.InvoiceId  = Convert.ToInt64(InvoiceId);
                if (ChallanNo != "")
                {
                    DataSet dtChallan = objDbTrx.GetChallanCodeOfaCategoryDtl(ChallanNo, Convert.ToInt64(CategoryId));
                    if (dtChallan.Tables[0].Rows.Count > 0 && dtChallan.Tables[1].Rows.Count == 0)
                    {
                        objInvoice.ChallanId       = Convert.ToInt64(dtChallan.Tables[0].Rows[0]["ID"].ToString());
                        objInvoice.ChallanNo       = ChallanNo;
                        objInvoice.InvoiceNo       = InvoiceNo;
                        objInvoice.ManualInvoiceNo = ManualInvoiceNo;
                        objInvoice.InvoiceDate     = Convert.ToDateTime(InvoiceDate).ToString("dd-MMM-yyyy");
                        objInvoice.CategoryId      = Convert.ToInt16(CategoryId);
                        objInvoice.UserId          = Convert.ToString(Session["sp_user_name"]);
                        objInvoice.AY_ID           = GlobalSettings.oUserData.AcademicYearId;
                        if (InvoiceId == "0")
                        {
                            objDbTrx.InsertInInvoice(objInvoice, GlobalSettings.oAcademicYear.PFX_INVOICE, GlobalSettings.oAcademicYear.FormatNumberPaddingCount, out GenInvoiceNo, out retInvoiceId);
                            objInvoice.InvoiceNo  = GenInvoiceNo;
                            objInvoice.InvoiceId  = Convert.ToInt64(retInvoiceId);
                            objInvoice.UpdateCode = "NEW";
                            objInvoice.UpdateMsg  = "Invoice No " + GenInvoiceNo + " Created.";
                        }
                        else
                        {
                            objDbTrx.AddChallanInInvoice(objInvoice);
                            objInvoice.UpdateCode = "EDIT";
                            objInvoice.UpdateMsg  = "Challan No " + ChallanNo + " added under invoice " + InvoiceNo;
                        }
                    }
                    else
                    {
                        objInvoice.UpdateCode = "ERROR";
                        if (dtChallan.Tables[1].Rows.Count > 0)
                        {
                            objInvoice.UpdateMsg = "Challan No " + ChallanNo + " already exist Under Invoice no. " + dtChallan.Tables[1].Rows[0]["InvoiceNo"].ToString();
                        }
                        else
                        {
                            objInvoice.UpdateMsg = "Challan No " + ChallanNo + " is not valid.";
                        }
                    }
                }
                if (objInvoice.InvoiceId > 0)
                {
                    List <InvoiceChallanDtl> lst_InvoiceChallanDtl = new List <InvoiceChallanDtl>();
                    DataTable dtInvoiceChallanDtl = objDbTrx.GetInvoiceChallanDetails(objInvoice.InvoiceId);
                    if (dtInvoiceChallanDtl.Rows.Count > 0)
                    {
                        objInvoice.SaveStatus = dtInvoiceChallanDtl.Rows[0]["Save_Status"].ToString();
                        for (int iCnt = 0; iCnt < dtInvoiceChallanDtl.Rows.Count; iCnt++)
                        {
                            InvoiceChallanDtl objInvoiceChallanDtl = new InvoiceChallanDtl();
                            objInvoiceChallanDtl.InvoiceDtlId = dtInvoiceChallanDtl.Rows[iCnt]["InvoiceDtlId"].ToString();
                            objInvoiceChallanDtl.ChallanId    = dtInvoiceChallanDtl.Rows[iCnt]["ChallanId"].ToString();
                            objInvoiceChallanDtl.ChallanNo    = dtInvoiceChallanDtl.Rows[iCnt]["CHALLAN_NUMBER"].ToString();
                            objInvoiceChallanDtl.ChallanDate  = Convert.ToDateTime(dtInvoiceChallanDtl.Rows[iCnt]["CHALLAN_DATE"]).ToString("dd-MMM-yyyy");
                            objInvoiceChallanDtl.DistrictName = dtInvoiceChallanDtl.Rows[iCnt]["DISTRICT"].ToString();
                            objInvoiceChallanDtl.CircleName   = dtInvoiceChallanDtl.Rows[iCnt]["CIRCLE_NAME"].ToString();
                            objInvoiceChallanDtl.CategoryName = dtInvoiceChallanDtl.Rows[iCnt]["CHALLAN_BOOK_CATEGORY"].ToString();
                            objInvoiceChallanDtl.Language     = dtInvoiceChallanDtl.Rows[iCnt]["LANGUAGE"].ToString();
                            objInvoiceChallanDtl.Transporter  = dtInvoiceChallanDtl.Rows[iCnt]["Transport_Name"].ToString();
                            objInvoiceChallanDtl.CONSIGNEE_NO = dtInvoiceChallanDtl.Rows[iCnt]["CONSIGNEE_NO"].ToString();
                            objInvoiceChallanDtl.VEHICLE_NO   = dtInvoiceChallanDtl.Rows[iCnt]["VEHICLE_NO"].ToString();
                            lst_InvoiceChallanDtl.Add(objInvoiceChallanDtl);
                        }
                    }
                    objInvoice.InvoiceChallanDtlCollection = lst_InvoiceChallanDtl;
                }
            }
            catch (Exception ex)
            {
                objDbTrx.SaveSystemErrorLog(ex, Request.UserHostAddress);
            }
            return(Json(objInvoice));
        }