Esempio n. 1
0
    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());
        }
    }
Esempio n. 2
0
    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);
    }