protected void btnSave_Click(object sender, EventArgs e) { string id = string.Format("Id: {0} Uri: {1}", Guid.NewGuid(), HttpContext.Current.Request.Url); using (Utils utility = new Utils()) { utility.MethodStart(id, System.Reflection.MethodBase.GetCurrentMethod()); } try { int flag = 0; ext1 = (ExtendedDropDownList.ExtendedDropDownList)grdInvoice.Rows[0].FindControl("ItemName"); for (int i = 0; i < grdInvoice.Rows.Count; i++) { LinkButton lnkEdit1 = (LinkButton)grdInvoice.Rows[i].Cells[0].FindControl("lnkEdit"); if (lnkEdit1.Text == "Update") { flag = 1; } } if (flag == 1) { ScriptManager.RegisterClientScriptBlock(this, GetType(), "mm", "UpdateValidation();", true); } else if (extddlOffice.Selected_Text == "--- Select ---") { ScriptManager.RegisterClientScriptBlock(this, GetType(), "mm", "ProviderValidate();", true); } else if (txtServiceDate.Text == "") { ScriptManager.RegisterClientScriptBlock(this, GetType(), "mm", "DateValidate();", true); } else if (txtShipping.Text == "") { ScriptManager.RegisterClientScriptBlock(this, GetType(), "mm", "ShippingAmountValidate();", true); } else if (txtPersonName.Text == "") { ScriptManager.RegisterClientScriptBlock(this, GetType(), "mm", "PersonName();", true); } else if (txtPersonAddress.Text == "") { ScriptManager.RegisterClientScriptBlock(this, GetType(), "mm", "EmptyAddress();", true); } else if (txtCity.Text == "") { ScriptManager.RegisterClientScriptBlock(this, GetType(), "mm", "EmptyCity();", true); } else if (extddlPatientState.Selected_Text == "--- Select ---") { ScriptManager.RegisterClientScriptBlock(this, GetType(), "mm", "EmptyState();", true); } else if (txtZip.Text == "") { ScriptManager.RegisterClientScriptBlock(this, GetType(), "mm", "EmptyZip();", true); } else if (grdInvoice.Rows.Count <= 1 && ext1.Selected_Text == "---Select---") { ScriptManager.RegisterClientScriptBlock(this, GetType(), "mm", "EmptyGridValidate();", true); } else { _InvoiceDAO = new InvoiceDAO(); DataTable dt = new DataTable(); ArrayList objArr = new ArrayList(); dt = (DataTable)ViewState["Table"]; for (int i = 0; i < dt.Rows.Count; i++) { _InvoiceGetSet = new InvoiceGetSet(); _InvoiceGetSet.ItemID = dt.Rows[i][5].ToString(); _InvoiceGetSet.Quantity = dt.Rows[i][2].ToString(); _InvoiceGetSet.UnitePrice = dt.Rows[i][3].ToString(); _InvoiceGetSet.Amount = dt.Rows[i][4].ToString(); _InvoiceGetSet.InvoiceItemId = dt.Rows[i]["Invoice_Detail_Id"].ToString(); objArr.Add(_InvoiceGetSet); } arrStartValues = (ArrayList)ViewState["ArrayList"]; if (btnSave.Text == "Save") { _InvoiceDAO.SaveInvoice(((Bill_Sys_CaseObject)Session["CASE_OBJECT"]).SZ_CASE_ID, txtCompanyId.Text, txtServiceDate.Text, Convert.ToDouble(lblTAmount.Text.Substring(1)), lblTodaysDate.Text, ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_ID, Convert.ToDouble(txtShipping.Text), ((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_NAME, "SAVE", txtInvoiceId.Text, ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_NAME, lblCaseNo.Text, extddlOffice.Text, objArr, arrStartValues, txtPersonName.Text, txtPersonAddress.Text, txtZip.Text, extddlPatientState.Text, txtCity.Text, ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_NAME); ClearFields(); } else if (btnSave.Text == "Update") { _InvoiceDAO.SaveInvoice(((Bill_Sys_CaseObject)Session["CASE_OBJECT"]).SZ_CASE_ID, txtCompanyId.Text, txtServiceDate.Text, Convert.ToDouble(lblTAmount.Text.Substring(1)), lblTodaysDate.Text, ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_ID, Convert.ToDouble(txtShipping.Text), ((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_NAME, "UPDATE", txtInvoiceId.Text, ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_NAME, lblCaseNo.Text, extddlOffice.Text, objArr, arrStartValues, txtPersonName.Text, txtPersonAddress.Text, txtZip.Text, extddlPatientState.Text, txtCity.Text, ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_NAME); } usrMessage.PutMessage("Invoice Items Saved Successfully"); usrMessage.SetMessageType(UserControl_ErrorMessageControl.DisplayType.Type_UserMessage); usrMessage.Show(); } } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); using (Utils utility = new Utils()) { utility.MethodEnd(id, System.Reflection.MethodBase.GetCurrentMethod()); } string str2 = "Error Request=" + id + ".Please share with Technical support."; base.Response.Redirect("../Bill_Sys_ErrorPage.aspx?ErrMsg=" + str2); } //Method End using (Utils utility = new Utils()) { utility.MethodEnd(id, System.Reflection.MethodBase.GetCurrentMethod()); } }
public string SaveInvoice(string P_Case_Id, string P_Company_Id, string P_Date_Of_Service, double P_Total, string P_Created_Date, string P_Created_User_Id, double P_Shipping, string P_Company_Name, string P_Flag, string P_InvoiceId, string P_User_Name, string P_Case_No, string P_ProviderID, ArrayList objArr, ArrayList objArrRecords, string Sz_Person_Name, string SZ_Person_Address, string SZ_Zip, string SZ_State, string SZ_City, string SZ_User_name) { ArrayList objDeletList = new ArrayList(); Company_Name = P_Company_Name; Case_Id = P_Case_Id; InvoiceGetSet _InvoiceGetSet; InvoiceDAO _InvoiceDAO = new InvoiceDAO(); sqlCon = new SqlConnection(strConn); ds = new DataSet(); DataSet ds2 = new DataSet(); DataSet ds1 = new DataSet(); sqlCmd = new SqlCommand(); sqlCmd.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString()); string InvoiceId = ""; SqlTransaction transaction; sqlCon.Open(); transaction = sqlCon.BeginTransaction(); try { if (P_Flag == "UPDATE") { for (int j = 0; j < objArrRecords.Count; j++) { string flag = "true"; for (int i = 0; i < objArr.Count; i++) { _InvoiceGetSet = new InvoiceGetSet(); _InvoiceGetSet = (InvoiceGetSet)objArr[i]; if (_InvoiceGetSet.InvoiceItemId == objArrRecords[j].ToString()) { flag = "false"; } } if (flag == "true") { objDeletList.Add(objArrRecords[j].ToString()); } } } sqlCmd.CommandText = "SP_SAVE_TXN_INVOICE"; sqlCmd.CommandType = CommandType.StoredProcedure; sqlCmd.Connection = sqlCon; sqlCmd.Transaction = transaction; #region "Save Invoice in Txn_Invoice" sqlCmd.Parameters.AddWithValue("@SZ_CASE_ID", P_Case_Id); sqlCmd.Parameters.AddWithValue("@SZ_COMPANY_ID", P_Company_Id); sqlCmd.Parameters.AddWithValue("@DT_DATE_OF_SERVICE", P_Date_Of_Service); sqlCmd.Parameters.AddWithValue("@FLT_TOTAL", P_Total); sqlCmd.Parameters.AddWithValue("@FLT_RECIVED", 0.00); sqlCmd.Parameters.AddWithValue("@FLT_PENDING", 0.00); sqlCmd.Parameters.AddWithValue("@DT_UPDATED_DATE", P_Created_Date); sqlCmd.Parameters.AddWithValue("@SZ_UPDATED_USEr_ID", P_Created_User_Id); sqlCmd.Parameters.AddWithValue("@FLT_SHIIPING_HANDELING", P_Shipping); sqlCmd.Parameters.AddWithValue("@SZ_OFFICE_ID", P_ProviderID); sqlCmd.Parameters.AddWithValue("@SZ_INVOICE_ID", P_InvoiceId); sqlCmd.Parameters.AddWithValue("@SZ_PERSON_NAME", Sz_Person_Name); sqlCmd.Parameters.AddWithValue("@SZ_PERSON_ADDRESS", SZ_Person_Address); sqlCmd.Parameters.AddWithValue("@SZ_PERSON_CITY", SZ_City); sqlCmd.Parameters.AddWithValue("@SZ_PERSON_STATE", Convert.ToInt32(SZ_State)); sqlCmd.Parameters.AddWithValue("@SZ_PERSON_ZIP", SZ_Zip); sqlCmd.Parameters.AddWithValue("@FLAG", P_Flag); sqlCmd.Parameters.AddWithValue("@I_INVOICE_ID", SqlDbType.NVarChar); sqlCmd.Parameters["@I_INVOICE_ID"].Direction = ParameterDirection.ReturnValue; sqlCmd.ExecuteNonQuery(); InvoiceId = sqlCmd.Parameters["@I_INVOICE_ID"].Value.ToString(); #endregion #region "Delete Particular Item From TXN_INVOICE_DETAILS" if (objDeletList.Count > 0) { for (int i = 0; i < objDeletList.Count; i++) { SqlCommand sqlCmd1 = new SqlCommand(); sqlCmd1.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString()); sqlCmd1.CommandText = "SP_SAVE_TXN_INVOICE_DETAIL"; sqlCmd1.CommandType = CommandType.StoredProcedure; sqlCmd1.Connection = sqlCon; sqlCmd1.Transaction = transaction; sqlCmd1.Parameters.AddWithValue("@I_INVOICE_DETAIL_ID", objDeletList[i].ToString()); sqlCmd1.Parameters.AddWithValue("@FLAG", "DELETE"); sqlCmd1.ExecuteNonQuery(); } } #endregion #region "Save Invoice Details in TXN_INVOICE_DETAIL" for (int i = 0; i < objArr.Count; i++) { _InvoiceGetSet = new InvoiceGetSet(); _InvoiceGetSet = (InvoiceGetSet)objArr[i]; SqlCommand sqlCmd1 = new SqlCommand(); sqlCmd1.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString()); sqlCmd1.CommandText = "SP_SAVE_TXN_INVOICE_DETAIL"; sqlCmd1.CommandType = CommandType.StoredProcedure; sqlCmd1.Connection = sqlCon; sqlCmd1.Transaction = transaction; sqlCmd1.Parameters.AddWithValue("@I_INVOICE_ID", InvoiceId); sqlCmd1.Parameters.AddWithValue("@I_INVOICE_ITEM_ID", _InvoiceGetSet.ItemID); sqlCmd1.Parameters.AddWithValue("@I_QUANTITY", _InvoiceGetSet.Quantity); sqlCmd1.Parameters.AddWithValue("@FLT_UNIT_PRICE", Convert.ToDouble(_InvoiceGetSet.UnitePrice)); sqlCmd1.Parameters.AddWithValue("@FLT_AMOUNT", Convert.ToDouble(_InvoiceGetSet.Amount)); sqlCmd1.Parameters.AddWithValue("@SZ_COMPANY_ID", P_Company_Id); sqlCmd1.Parameters.AddWithValue("@DT_UPDATED_DATE", P_Created_Date); sqlCmd1.Parameters.AddWithValue("@SZ_UPDATED_USEr_ID", P_Created_User_Id); sqlCmd1.Parameters.AddWithValue("@I_INVOICE_DETAIL_ID", _InvoiceGetSet.InvoiceItemId); sqlCmd1.Parameters.AddWithValue("@FLAG", P_Flag); sqlCmd1.ExecuteNonQuery(); } #endregion #region "Update Invoice Amount in Txn_Invoice" SqlCommand sqlCmd2 = new SqlCommand(); sqlCmd2.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString()); sqlCmd2.CommandText = "SP_SAVE_TXN_INVOICE"; sqlCmd2.CommandType = CommandType.StoredProcedure; sqlCmd2.Connection = sqlCon; sqlCmd2.Transaction = transaction; sqlCmd2.Parameters.AddWithValue("@SZ_COMPANY_ID", P_Company_Id); sqlCmd2.Parameters.AddWithValue("@SZ_INVOICE_ID", P_InvoiceId); sqlCmd2.Parameters.AddWithValue("@FLAG", "UPDATEAMOUNT"); sqlCmd2.Parameters.AddWithValue("@I_INVOICE_ID", SqlDbType.NVarChar); sqlCmd2.Parameters["@I_INVOICE_ID"].Direction = ParameterDirection.ReturnValue; sqlCmd2.ExecuteNonQuery(); InvoiceId = sqlCmd.Parameters["@I_INVOICE_ID"].Value.ToString(); #endregion #region "save multiple date of service" string[] values = P_Date_Of_Service.Split(','); for (int i = 0; i < values.Length; i++) { if (values[i].ToString().Trim() != "" && values[i].ToString() != "1900-01-01 00:00:00.000") { SqlCommand sqlCmd3 = new SqlCommand(); sqlCmd3.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString()); sqlCmd3.CommandText = "SP_SAVE_MUL_DATE_INVOICE"; sqlCmd3.CommandType = CommandType.StoredProcedure; sqlCmd3.Connection = sqlCon; sqlCmd3.Transaction = transaction; sqlCmd3.Parameters.AddWithValue("@SZ_CASE_ID", P_Case_Id); sqlCmd3.Parameters.AddWithValue("@DT_DATEOF_SERVICE", values[i].ToString()); sqlCmd3.Parameters.AddWithValue("@I_INVOICE_ID", InvoiceId); sqlCmd3.Parameters.AddWithValue("@SZ_USER_NAME", SZ_User_name); sqlCmd3.Parameters.AddWithValue("@SZ_COMPANY_ID", P_Company_Id); sqlCmd3.ExecuteNonQuery(); } } #endregion transaction.Commit(); #region "Generate And Save PDF" ds1 = _InvoiceDAO.getCaseWiseCompanyPatientDetails(P_Case_Id, P_ProviderID); ds2 = _InvoiceDAO.getInvoiceWiseItemDetails(InvoiceId); string strhtml = GenerateHTML(ds1, ds2, P_Case_No); GeneratePDF(strhtml, P_Company_Id, P_Case_Id, P_User_Name, P_Case_No, InvoiceId); #endregion } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); transaction.Rollback(); } finally { transaction.Dispose(); sqlCon.Close(); } return(InvoiceId); }