private string UKZNCreateInvoice(string FileNo) { try { decimal TotalAmount = 0; DataSet objDs = objBALFileManager.GetQuotationMasterByFileNo(FileNo); string strMessage = string.Empty; int ItemInvoiceNo = 0; if (objDs.Tables[0].Rows.Count > 0) { int CreatedBy = Convert.ToInt32(Session["loginId"]); int RoleId = Convert.ToInt32(Session["role_id"]); int CompanyId = Convert.ToInt32(Session["CompanyId"]); string QuotationRefNo = objDs.Tables[0].Rows[0]["QuotationMasterId"].ToString(); DataSet objDsQut = _objBOQutation.GetQuotationMasterDetailsWithRefNo(Convert.ToInt32(QuotationRefNo), RoleId, CompanyId, CreatedBy, ""); TravelRequestProcess objTravelRequest = new TravelRequestProcess(); List <UKZNInoviceDetails> LstObj = new List <UKZNInoviceDetails>(); int FlightRequestID = 0; int HotelRequestId = 0; int CabRequestId = 0; if (objDsQut.Tables[0].Rows.Count > 0)// Flight Invoice { foreach (GridViewRow row in gdvFlightBookings.Rows) { CheckBox chk = row.FindControl("chkSelect") as CheckBox; if (chk != null && chk.Checked) { foreach (DataRow QuotationRow in objDsQut.Tables[0].Rows) { ItemInvoiceNo = ItemInvoiceNo + 1; UKZNInoviceDetails objF = new UKZNInoviceDetails(); objF.accountnumber = QuotationRow["AccountCode"].ToString(); objF.uniquerequestid = "F_" + QuotationRow["FlightRequestId"].ToString(); // QuotationRow["Fromcode"].ToString(); objF.invoiceitemnumber = ItemInvoiceNo.ToString(); // QuotationRow["FlightRequestId"].ToString();//"F_" + QuotationRow["FlightRequestId"].ToString(); objF.invoiceitemdescription = "Flight Item invoice created for file no" + FileNo; objF.invoiceitemnote = "not paid"; objF.fullyprocessedyn = "N"; //QuotationRow["Fromcode"].ToString(); objF.alreadypaidyn = "N"; // QuotationRow["Fromcode"].ToString(); objF.itemamountincvat = QuotationRow["TotalPrice"].ToString(); TotalAmount = TotalAmount + Convert.ToDecimal(QuotationRow["TotalPrice"].ToString()); objF.commentstmc = "Flight invoice created" + QuotationRow["FlightRequestId"].ToString(); objF.itemvatamount = _objBoutility.CalculateVat(Convert.ToDecimal(objF.itemamountincvat), _decVarPercentage).ToString(); FlightRequestID = Convert.ToInt32(QuotationRow["FlightRequestId"]); LstObj.Add(objF); } } } } if (objDsQut.Tables[1].Rows.Count > 0)// Hotel Invoice { foreach (DataRow QuotationRow in objDsQut.Tables[1].Rows) { foreach (GridViewRow row in gdvHotelBooking.Rows) { CheckBox chk = row.FindControl("chkSelect") as CheckBox; if (chk != null && chk.Checked) { ItemInvoiceNo = ItemInvoiceNo + 1; UKZNInoviceDetails objH = new UKZNInoviceDetails(); objH.accountnumber = QuotationRow["AccountCode"].ToString(); objH.uniquerequestid = "A_" + QuotationRow["HotelRequestId"].ToString(); // QuotationRow["Fromcode"].ToString(); objH.invoiceitemdescription = "Hotel Item Invoice Created for file no" + FileNo; objH.invoiceitemnumber = ItemInvoiceNo.ToString(); //"A_" + QuotationRow["HotelRequestId"].ToString(); objH.invoiceitemnote = "not paid"; objH.fullyprocessedyn = "N"; //QuotationRow["Fromcode"].ToString(); objH.alreadypaidyn = "N"; // QuotationRow["Fromcode"].ToString(); objH.itemamountincvat = QuotationRow["TotalFee"].ToString(); objH.commentstmc = "Hotel Invoice Created" + QuotationRow["HotelRequestId"].ToString(); objH.itemvatamount = _objBoutility.CalculateVat(Convert.ToDecimal(objH.itemamountincvat), _decVarPercentage).ToString(); TotalAmount = TotalAmount + Convert.ToDecimal(QuotationRow["TotalFee"].ToString()); HotelRequestId = Convert.ToInt32(QuotationRow["HotelRequestId"]); LstObj.Add(objH); } } } } if (objDsQut.Tables[3].Rows.Count > 0)// Hotel Invoice { foreach (DataRow QuotationRow in objDsQut.Tables[3].Rows) { foreach (GridViewRow row in gvCarBookings.Rows) { CheckBox chk = row.FindControl("chkSelect") as CheckBox; if (chk != null && chk.Checked) { ItemInvoiceNo = ItemInvoiceNo + 1; UKZNInoviceDetails objc = new UKZNInoviceDetails(); objc.accountnumber = "30031"; objc.uniquerequestid = "C_" + QuotationRow["CarDescId"].ToString(); // QuotationRow["Fromcode"].ToString(); objc.invoiceitemdescription = "Car Item Invoice Created for file no" + FileNo; objc.invoiceitemnumber = ItemInvoiceNo.ToString(); //"A_" + QuotationRow["HotelRequestId"].ToString(); objc.invoiceitemnote = "not paid"; objc.fullyprocessedyn = "N"; //QuotationRow["Fromcode"].ToString(); objc.alreadypaidyn = "N"; // QuotationRow["Fromcode"].ToString(); objc.itemamountincvat = QuotationRow["TotalPrice"].ToString(); objc.commentstmc = "Hotel Invoice Created" + QuotationRow["CarDescId"].ToString(); objc.itemvatamount = _objBoutility.CalculateVat(Convert.ToDecimal(objc.itemamountincvat), _decVarPercentage).ToString(); TotalAmount = TotalAmount + Convert.ToDecimal(QuotationRow["TotalPrice"].ToString()); CabRequestId = Convert.ToInt32(QuotationRow["CarDescId"]); LstObj.Add(objc); } } } } if (TotalAmount > 0) { string Invocie = "0"; if (objDsQut.Tables[2].Rows.Count > 0) { BALUser objBALUer = new BALUser(); int InvoiceNo = objBALUer.GenerateInvocieNo(); Invocie = "INV" + InvoiceNo.ToString("000"); objTravelRequest.supplierno = _strUKZNsupplierno; objTravelRequest.invoicenumber = objDsQut.Tables[2].Rows[0]["QuotationRefNo"].ToString().Replace("QT", "IN_"); // Invocie; objTravelRequest.totamountincvat = TotalAmount.ToString(); // objDsQut.Tables[2].Rows[0]["TripAmount"].ToString(); objTravelRequest.invoicedate = DateTime.Now.ToString("dd-MMM-yyyy").ToUpper(); objTravelRequest.invoicedescription = "Invoice order no " + objDsQut.Tables[2].Rows[0]["ukzn_orderno"].ToString(); objTravelRequest.ordernumber = objDsQut.Tables[2].Rows[0]["ukzn_orderno"].ToString(); objTravelRequest.costcentre = objDsQut.Tables[2].Rows[0]["cost_center"].ToString(); } objTravelRequest.ListObjectUKZNInvoice = LstObj; strMessage = _objUKZNTravelRequest.validateinvoice(objTravelRequest); if (strMessage == "Success") { objBALFileManager.UpdateFileMaster(FileNo, Invocie); lblMsg.Text = _objBoutility.ShowMessage("succcess", "info ", "Invoice created in integrator"); } else { objBALFileManager.UpdateFileMaster(FileNo, strMessage); lblMsg.Text = _objBoutility.ShowMessage("succcess", "info ", strMessage); } } else { lblMsg.Text = _objBoutility.ShowMessage("danger", "Error ", "Please select item"); } } else { lblMsg.Text = _objBoutility.ShowMessage("danger", "Error ", "No order find with this order no."); } return(strMessage); } catch (Exception ex) { lblMsg.Text = _objBoutility.ShowMessage("danger", "Error ", ex.Message); return(""); } }