Esempio n. 1
0
    public void StorageInvoiceUploadFile(ArrayList arr)
    {
        sqlCon = new SqlConnection(strsqlCon);
        Bill_Sys_SoftwareInVoice_UploadFile obj = new Bill_Sys_SoftwareInVoice_UploadFile();

        SqlTransaction transaction;

        string szRetImg  = "";
        string szRetPath = "";
        string szOldCase = "";

        sqlCon.Open();

        transaction = sqlCon.BeginTransaction();
        try
        {
            ArrayList arrFlg  = new ArrayList();
            string    sz_Type = "";


            for (int i = 0; i < arr.Count; i++)
            {
                int iFalg = 0;

                obj = (Bill_Sys_SoftwareInVoice_UploadFile)arr[i];

                for (int j = 0; j < arrFlg.Count; j++)
                {
                    Bill_Sys_SoftwareInVoice_UploadFile obj1 = new Bill_Sys_SoftwareInVoice_UploadFile();
                    obj1 = (Bill_Sys_SoftwareInVoice_UploadFile)arrFlg[j];

                    sqlCmd = new SqlCommand("SP_CHECK_NODE", sqlCon);
                    sqlCmd.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                    sqlCmd.CommandType    = CommandType.StoredProcedure;
                    sqlCmd.Transaction    = transaction;
                    sqlCmd.Parameters.AddWithValue("@SZ_BILL_NUMBER", obj.sz_bill_no);
                    sqlCmd.Parameters.AddWithValue("@SZ_COMPANY_ID", obj.sz_company_id);
                    sqlCmd.Parameters.AddWithValue("@SZ_PROCESS", "BILL");

                    dr = sqlCmd.ExecuteReader();
                    while (dr.Read())
                    {
                        sz_Type = Convert.ToString(dr.GetValue(0).ToString());
                    }

                    dr.Close();


                    if (sz_Type == "NFVER")
                    {
                        if (obj1.sz_case_id == obj.sz_case_id)
                        {
                            obj.i_ImageId       = obj1.i_ImageId;
                            obj.sz_Logical_Path = obj1.sz_Logical_Path;
                            iFalg = 1;
                        }
                    }
                    else
                    {
                        if (obj1.sz_case_id == obj.sz_case_id && obj1.sz_speciality_id == obj.sz_speciality_id)
                        {
                            obj.i_ImageId       = obj1.i_ImageId;
                            obj.sz_Logical_Path = obj1.sz_Logical_Path;
                            iFalg = 1;
                        }
                    }
                }

                if (iFalg == 0)
                {
                    sqlCmd = new SqlCommand("sp_get_upload_storage_invoice_payment", sqlCon);
                    sqlCmd.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                    sqlCmd.CommandType    = CommandType.StoredProcedure;
                    sqlCmd.Transaction    = transaction;
                    sqlCmd.Parameters.AddWithValue("@sz_case_id", obj.sz_case_id);
                    sqlCmd.Parameters.AddWithValue("@sz_process", obj.sz_flag);
                    sqlCmd.Parameters.AddWithValue("@sz_company_id", obj.sz_company_id);
                    sqlCmd.Parameters.AddWithValue("@sz_file_name", obj.sz_FileName);
                    sqlCmd.Parameters.AddWithValue("@sz_user_name", obj.sz_UserName);
                    sqlCmd.Parameters.AddWithValue("@sz_bill_no", obj.sz_bill_no);
                    sqlCmd.Parameters.AddWithValue("@i_status_code", obj.sz_StatusCode);
                    sqlCmd.Parameters.AddWithValue("@sz_user_id", obj.sz_UserId);
                    sqlCmd.Parameters.AddWithValue("@SZ_PAYMENT_ID", obj.sz_payment_id);
                    sqlCmd.Parameters.AddWithValue("@sz_specialty_id", obj.sz_speciality_id);


                    if (obj.sz_PathFlag != null && obj.sz_PathFlag != "")
                    {
                        sqlCmd.Parameters.AddWithValue("@sz_path_flag", obj.sz_PathFlag);
                    }

                    SqlParameter paramPath = new SqlParameter("@sz_file_path", SqlDbType.NVarChar, 255);
                    SqlParameter paramImg  = new SqlParameter("@i_image_id", SqlDbType.Int);

                    paramPath.Direction = ParameterDirection.Output;
                    paramImg.Direction  = ParameterDirection.Output;

                    sqlCmd.Parameters.Add(paramPath);
                    sqlCmd.Parameters.Add(paramImg);
                    sqlCmd.Parameters.AddWithValue("@sz_PhysicalFilePath", obj.sz_File_PhysicalPath);
                    sqlCmd.ExecuteNonQuery();

                    szRetPath           = sqlCmd.Parameters["@sz_file_path"].Value.ToString();
                    szRetImg            = sqlCmd.Parameters["@i_image_id"].Value.ToString();
                    obj.sz_Logical_Path = szRetPath;
                    obj.i_ImageId       = szRetImg;

                    arrFlg.Add(obj);   //add obj in new arraylist
                }


                sqlCmd = new SqlCommand("SP_TXN_BILL_STORAGE_INVOICE_PAYMENT_IMAGES", sqlCon);
                sqlCmd.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                sqlCmd.CommandType    = CommandType.StoredProcedure;
                sqlCmd.Transaction    = transaction;
                sqlCmd.Parameters.AddWithValue("@SZ_BILL_NUMBER", obj.sz_bill_no);
                sqlCmd.Parameters.AddWithValue("@SZ_COMPANY_ID", obj.sz_company_id);
                sqlCmd.Parameters.AddWithValue("@I_IMAGE_ID", obj.i_ImageId);
                sqlCmd.Parameters.AddWithValue("@SZ_CREATED_USER_ID", obj.sz_UserId);
                sqlCmd.Parameters.AddWithValue("@SZ_PAYMENT_ID", obj.sz_payment_id);
                sqlCmd.Parameters.AddWithValue("@sz_logical_file_path", obj.sz_Logical_Path);
                sqlCmd.Parameters.AddWithValue("@sz_FileName", obj.sz_FileName);
                sqlCmd.Parameters.AddWithValue("@sz_filePhysical_path", obj.sz_File_PhysicalPath);

                sqlCmd.ExecuteNonQuery();
            }

            sqlCmd = new SqlCommand("SP_GET_STORAGE_INVOICE_PAYMENT_FILE_PATH_USING_PAYMNET_ID", sqlCon);
            sqlCmd.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
            sqlCmd.CommandType    = CommandType.StoredProcedure;
            sqlCmd.Transaction    = transaction;
            sqlCmd.Parameters.AddWithValue("@SZ_PAYMENT_ID", obj.sz_payment_id);
            sqlCmd.Parameters.AddWithValue("@SZ_FILENAME", obj.sz_FileName);
            sqlCmd.Parameters.AddWithValue("@SZ_FILEPATH", obj.sz_File_PhysicalPath);

            sqlCmd.ExecuteNonQuery();

            transaction.Commit();
        }
        catch (SqlException ex)
        {
            Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
            transaction.Rollback();
        }
        finally
        {
            if (sqlCon.State == ConnectionState.Open)
            {
                sqlCon.Close();
            }
        }
    }
    protected void btnUploadFile_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
        {
            string           sz_file_path      = "";
            string           szfilename        = "";
            Bill_Sys_invoice objInvoice        = new Bill_Sys_invoice();
            DataSet          dsinvoiceid       = new DataSet();
            DataSet          dspaymentamount   = new DataSet();
            Bill_Sys_invoice _Bill_Sys_invoice = new Bill_Sys_invoice();


            FileUpload _FileUpload = new FileUpload();
            ArrayList  arr         = new ArrayList();


            if (!fuUploadReport.HasFile)
            {
                ScriptManager.RegisterClientScriptBlock(this, GetType(), "mm", " alert('please select file from upload Report !');showUploadFilePopup();", true);
                return;
            }

            dsinvoiceid = objInvoice.GetsoftwareInvoiceId(Session["payment_No"].ToString(), txtCompanyID.Text);


            string strBillNo  = "";
            string strCaseID  = "";
            string strsSpecID = "";
            sz_file_path = ((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_NAME + "/Comman Folder/";
            if (dsinvoiceid.Tables[0].Rows.Count > 0)
            {
                for (int i = 0; i < dsinvoiceid.Tables[0].Rows.Count; i++)
                {
                    strBillNo  = dsinvoiceid.Tables[0].Rows[i][0].ToString();
                    strCaseID  = dsinvoiceid.Tables[0].Rows[i][1].ToString();
                    strsSpecID = dsinvoiceid.Tables[0].Rows[i][2].ToString();
                    Bill_Sys_SoftwareInVoice_UploadFile _objUploadFile = new Bill_Sys_SoftwareInVoice_UploadFile();

                    _objUploadFile.sz_bill_no    = strBillNo;
                    _objUploadFile.sz_case_id    = strCaseID;
                    _objUploadFile.sz_company_id = txtCompanyID.Text;
                    _objUploadFile.sz_FileName   = fuUploadReport.FileName;

                    _objUploadFile.sz_UserId     = ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_ID.ToString();
                    _objUploadFile.sz_UserName   = ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_NAME.ToString();
                    _objUploadFile.sz_StatusCode = "";
                    _objUploadFile.sz_flag       = "PAY";

                    _objUploadFile.sz_payment_id    = Session["payment_No"].ToString();
                    _objUploadFile.sz_speciality_id = strsSpecID;

                    _objUploadFile.sz_File_PhysicalPath = sz_file_path;
                    arr.Add(_objUploadFile);
                }
            }

            _FileUpload.InvoiceUploadFile(arr);

            if (!Directory.Exists(ApplicationSettings.GetParameterValue("BASEPATH") + sz_file_path))
            {
                Directory.CreateDirectory(ApplicationSettings.GetParameterValue("BASEPATH") + sz_file_path);
            }
            fuUploadReport.SaveAs(ApplicationSettings.GetParameterValue("BASEPATH") + sz_file_path + fuUploadReport.FileName);


            dspaymentamount = _Bill_Sys_invoice.GetInvoicepaymnetDetails(Session["InvoiceID"].ToString());
            grdPaymentTransaction.DataSource = dspaymentamount;
            grdPaymentTransaction.DataBind();

            usrMessage.PutMessage("File Upload Successfully");
            usrMessage.SetMessageType(UserControl_ErrorMessageControl.DisplayType.Type_UserMessage);
            usrMessage.Show();
            ModalPopupExtender1.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());
        }
    }