2025-04-15 12:10:19 +02:00

411 lines
15 KiB
C#

using System;
using System.Text;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Threading;
using System.Collections.Generic;
public partial class VerificheCampione : System.Web.UI.Page
{
protected string rete = "";
protected string codicePB = "";
protected string cognomeCliente = "";
protected string nomeCliente = "";
protected string codiceFiscale = "";
protected string idProfilo = "";
protected string dataSottoscrizioneDA = "";
protected string dataSottoscrizioneA = "";
protected string RFA = "";
protected string VAR = "";
private const string ASCENDING = " ASC";
private const string DESCENDING = " DESC";
protected void Page_Load(object sender, EventArgs e)
{
#region Autorizzazione
Utente utenteAut;
string userName = User.Identity.Name;
if (WebConfigParameter.getParameter("Ambiente").ToUpper() == "ESTERNO")
{
string codiceApplicazione = WebConfigParameter.getParameter("CodiceApplicazione");
utenteAut = Utente.GetAutorizzazioniAccessoGestioneControlli(userName, codiceApplicazione);
}
else
{
int pos = userName.IndexOf("\\") + 1;
string codiceUtenteWindows = userName.Substring(pos, userName.Length - pos).ToUpper();
utenteAut = new Utente();
utenteAut.UserId = codiceUtenteWindows;
utenteAut.Nome = "Utente di Prova";
utenteAut.Cognome = "US-RP-SO-SI";
utenteAut.UtenteAutorizzatoApplicazione = true;
utenteAut.ProfiloUtenteLoggato = ProfiloUtenteLoggato.RP;
}
if (utenteAut.ProfiloUtenteLoggato == ProfiloUtenteLoggato.SO || utenteAut.ProfiloUtenteLoggato == ProfiloUtenteLoggato.RP)
dg.Columns[dg.Columns.Count - 1].Visible = true;
else
dg.Columns[dg.Columns.Count - 1].Visible = false;
#endregion
#region Gestione Provenienza da
if (!IsPostBack)
{
string tiporeport = "";
string verificati = "";
string esito = "";
//string prov = "";
if (Request.QueryString["tiporeport"] != null)
{
tiporeport = Request.QueryString["tiporeport"].ToString();
if (tiporeport == "D")
CBDiagnosi.Checked = true;
else if (tiporeport == "M")
CBMonitoraggio.Checked = true;
}
if (Request.QueryString["verificati"] != null)
{
verificati = Request.QueryString["verificati"].ToString();
if (verificati == "1")
CheckBoxVerificato.Checked = true;
else if (verificati == "0")
CheckBoxNonVerificato.Checked = true;
}
if (Request.QueryString["esito"] != null)
{
esito = Request.QueryString["esito"].ToString();
if (esito == "OK")
CheckBoxOK.Checked = true;
else if (esito == "KO")
CheckBoxKO.Checked = true;
}
if (Request.QueryString["prov"] != null)
{
FillDataGrid();
}
}
#endregion
}
protected void Ricerca_Click(object sender, EventArgs e)
{
FillDataGrid();
}
private void FillDataGrid()
{
DataTable dtDg = GetData();
if (dtDg.Rows.Count > 0)
{
//dg.PageIndex = 0;
dg.DataSource = dtDg;
dg.DataBind();
dg.Visible = true;
//dg.SelectedIndex = -1;
}
else
{
// creo item per il datagrid
DataRow dr = dtDg.NewRow();
dr["IdReport"] = 1;
dr["Rete"] = "";
dr["Cod_Agente"] = "";
dr["NOMINATIVOCLIENTE"] = "";
dr["TipoReport"] = "";
dr["UserModify"] = "";
dr["VERIFICA"] = false;
dr["Esito"] = "-";
//dr["Cod_Fiscale "] = "";
dr["pdfC6"] = 1;
dtDg.Columns["Cod_Fiscale"].AllowDBNull = true;
dtDg.Rows.Add(dr);
dg.DataSource = dtDg;
dg.DataBind();
int TotalColumns = dg.Rows[0].Cells.Count;
dg.Rows[0].Cells.Clear();
dg.Rows[0].Cells.Add(new TableCell());
dg.Rows[0].Cells[0].ColumnSpan = TotalColumns;
dg.Rows[0].Cells[0].Text = "Nessun Record Trovato";
}
}
private DataTable GetData()
{
List<Parametro> parametri = new List<Parametro>();
#region Parametri
ProcessoVerificaCls.loadValueParameter("Rete", DropDownListRete.SelectedValue, DbType.String, ref parametri);
ProcessoVerificaCls.loadValueParameter("CodicePB", txtCodicePB.Text, DbType.String, ref parametri);
ProcessoVerificaCls.loadValueParameter("NomeCliente", txtNomeCliente.Text, DbType.String, ref parametri);
ProcessoVerificaCls.loadValueParameter("CognomeCliente", txtCognomeCliente.Text, DbType.String, ref parametri);
ProcessoVerificaCls.loadValueParameter("CodiceFiscale", txtCodiceFiscale.Text, DbType.String, ref parametri);
ProcessoVerificaCls.loadValueParameter("DataSottDA", txtDataSottDA.Text, DbType.DateTime, ref parametri);
ProcessoVerificaCls.loadValueParameter("DataSottA", txtDataSottA.Text,DbType.DateTime, ref parametri);
ProcessoVerificaCls.loadValueParameter("RFADA", txtRFADA.Text,DbType.Currency, ref parametri);
string profilo = "";
if (CBPrudente.Checked)
profilo += "1|";
if (CBModerato.Checked)
profilo += "2|";
if (CBEquilibrato.Checked)
profilo += "3|";
if (CBDinamico.Checked)
profilo += "4|";
if (CBAggressivo.Checked)
profilo += "5|";
ProcessoVerificaCls.loadValueParameter("Profilo", profilo, DbType.String, ref parametri);
ProcessoVerificaCls.loadValueParameter("RFAA", txtRFAA.Text, DbType.Currency, ref parametri);
ProcessoVerificaCls.loadValueParameter("VaRA", txtVaRA.Text, DbType.Currency, ref parametri);
ProcessoVerificaCls.loadValueParameter("VaRDA", txtVaRDA.Text, DbType.Currency, ref parametri);
ProcessoVerificaCls.loadValueParameter("Diagnosi", CBDiagnosi.Checked, DbType.Int16, ref parametri);
ProcessoVerificaCls.loadValueParameter("Monitoraggio", CBMonitoraggio.Checked, DbType.Int16, ref parametri);
ProcessoVerificaCls.loadValueParameter("Verificato", CheckBoxVerificato.Checked, DbType.Int16, ref parametri);
ProcessoVerificaCls.loadValueParameter("NonVerificato", CheckBoxNonVerificato.Checked,DbType.Int16, ref parametri);
ProcessoVerificaCls.loadValueParameter("OK", CheckBoxOK.Checked, DbType.Int16, ref parametri);
ProcessoVerificaCls.loadValueParameter("KO", CheckBoxKO.Checked, DbType.Int16, ref parametri);
#endregion
DataTable dtDgData = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerStampeC6, "C6MartPeriodico.GC_VerificheCampioneSelect", parametri);
return dtDgData;
}
private DataTable GetDataXmlFake()
{
StringBuilder xml = new StringBuilder();
xml.Append("<?xml version=\"1.0\" standalone=\"yes\"?>");
xml.Append("<NewDataSet>");
xml.Append("<xs:schema id=\"NewDataSet\" xmlns=\"\" ");
xml.Append(" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"");
xml.Append(" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">");
xml.Append("<xs:element name=\"NewDataSet\" msdata:IsDataSet=\"true\" msdata:Locale=\"it-IT\">");
xml.Append("<xs:complexType>");
xml.Append("<xs:choice maxOccurs=\"unbounded\">");
xml.Append("<xs:element name=\"Table\">");
xml.Append("<xs:complexType>");
xml.Append("<xs:sequence>");
xml.Append("<xs:element name=\"Rete\" type=\"xs:string\" minOccurs=\"0\" />");
xml.Append("<xs:element name=\"CodicePB\" type=\"xs:string\" minOccurs=\"0\" />");
xml.Append("<xs:element name=\"CognomePB\" type=\"xs:string\" minOccurs=\"0\" />");
xml.Append("<xs:element name=\"TipoReport\" type=\"xs:string\" minOccurs=\"0\" />");
xml.Append("<xs:element name=\"UserModify\" type=\"xs:string\" minOccurs=\"0\" />");
xml.Append("<xs:element name=\"Verifica\" type=\"xs:string\" minOccurs=\"0\" />");
xml.Append("<xs:element name=\"Esito\" type=\"xs:string\" minOccurs=\"0\" />");
xml.Append("<xs:element name=\"PDF\" type=\"xs:string\" minOccurs=\"0\" />");
xml.Append("</xs:sequence>");
xml.Append("</xs:complexType>");
xml.Append("</xs:element>");
xml.Append("</xs:choice>");
xml.Append("</xs:complexType>");
xml.Append("</xs:element>");
xml.Append("</xs:schema>");
xml.Append("<Table>");
xml.Append("<Rete>Fideuram</Rete>");
xml.Append("<CodicePB>000011</CodicePB>");
xml.Append("<CognomePB>Rossi Mario </CognomePB>");
xml.Append("<TipoReport>Diagnosi</TipoReport>");
xml.Append("<UserModify>SOP001</UserModify>");
xml.Append("<Verifica>True</Verifica>");
xml.Append("<Esito>OK</Esito>");
xml.Append("<PDF>-</PDF>");
xml.Append("</Table>");
xml.Append("<Table>");
xml.Append("<Rete>Fideuram</Rete>");
xml.Append("<CodicePB>000012</CodicePB>");
xml.Append("<CognomePB>Verdi Giovanni </CognomePB>");
xml.Append("<TipoReport>Monitoraggio</TipoReport>");
xml.Append("<UserModify>SOP002</UserModify>");
xml.Append("<Verifica>False</Verifica>");
xml.Append("<Esito>-</Esito>");
xml.Append("<PDF>-</PDF>");
xml.Append("</Table>");
xml.Append("<Table>");
xml.Append("<Rete>San Paolo Invest</Rete>");
xml.Append("<CodicePB>000013</CodicePB>");
xml.Append("<CognomePB>Bianchi Luca </CognomePB>");
xml.Append("<TipoReport>Diagnosi</TipoReport>");
xml.Append("<UserModify>SOP003</UserModify>");
xml.Append("<Verifica>True</Verifica>");
xml.Append("<Esito>KO</Esito>");
xml.Append("<PDF>-</PDF>");
xml.Append("</Table>");
xml.Append("<Table>");
xml.Append("<Rete>Fideuram</Rete>");
xml.Append("<CodicePB>000014</CodicePB>");
xml.Append("<CognomePB>Gialli Mario </CognomePB>");
xml.Append("<TipoReport>Diagnosi</TipoReport>");
xml.Append("<UserModify>SOP005</UserModify>");
xml.Append("<Verifica>True</Verifica>");
xml.Append("<Esito>OK</Esito>");
xml.Append("<PDF>-</PDF>");
xml.Append("</Table>");
xml.Append("<Table>");
xml.Append("<Rete>Fideuram</Rete>");
xml.Append("<CodicePB>000016</CodicePB>");
xml.Append("<CognomePB>Rossi Mario </CognomePB>");
xml.Append("<TipoReport>Monitoraggio</TipoReport>");
xml.Append("<UserModify>SOP006</UserModify>");
xml.Append("<Verifica>False</Verifica>");
xml.Append("<Esito>-</Esito>");
xml.Append("<PDF>-</PDF>");
xml.Append("</Table>");
xml.Append("</NewDataSet>");
System.IO.StringReader xmlSR = new System.IO.StringReader(xml.ToString());
//////
DataSet ds = new DataSet();
ds.ReadXml(xmlSR, XmlReadMode.ReadSchema);
return ds.Tables["Table"];
}
protected void dg_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
dg.PageIndex = e.NewPageIndex;
dg.DataSource = GetData();
dg.DataBind();
}
protected void dg_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string rete = ((Label)dg.Rows[e.RowIndex].FindControl("lblRete")) == null ? "" : ((Label)dg.Rows[e.RowIndex].FindControl("lblRete")).Text;
string codpb = ((Label)dg.Rows[e.RowIndex].FindControl("lblCodPB")) == null ? "" : ((Label)dg.Rows[e.RowIndex].FindControl("lblCodPB")).Text;
string codfis = ((Label)dg.Rows[e.RowIndex].FindControl("lblCodiceFiscale")) == null ? "" : ((Label)dg.Rows[e.RowIndex].FindControl("lblCodiceFiscale")).Text;
//string usermodify = ((Label)dg.Rows[e.RowIndex].FindControl("lblUserModify")) == null ? "" : ((Label)dg.Rows[e.RowIndex].FindControl("lblUserModify")).Text;
string userName = User.Identity.Name;
int pos = userName.IndexOf("\\") + 1;
string usermodify = userName.Substring(pos, userName.Length - pos);
string tiporeport = ((Label)dg.Rows[e.RowIndex].FindControl("lblTipoReport")) == null ? "" : ((Label)dg.Rows[e.RowIndex].FindControl("lblTipoReport")).Text;
bool cbverificato = ((CheckBox)dg.Rows[e.RowIndex].FindControl("CheckBoxVerificaGrid")) == null ? false : ((CheckBox)dg.Rows[e.RowIndex].FindControl("CheckBoxVerificaGrid")).Checked;
DropDownList ddlesito = (DropDownList)dg.Rows[e.RowIndex].FindControl("DLEsito");
string esito = ddlesito == null ? "" : ddlesito.SelectedValue;
ProcessoVerificaCls.Update(dg.DataKeys[e.RowIndex].Values[0].ToString(), rete, codpb, codfis, usermodify, tiporeport, cbverificato, esito);
dg.EditIndex = -1;
FillDataGrid();
}
protected void dg_RowEditing(object sender, GridViewEditEventArgs e)
{
dg.EditIndex = e.NewEditIndex;
FillDataGrid();
}
protected void dg_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
dg.EditIndex = -1;
FillDataGrid();
}
protected void dg_Sorting(object sender, GridViewSortEventArgs e)
{
string sortExpression = e.SortExpression;
ViewState["SortExpression"] = sortExpression;
if (GridViewSortDirection == SortDirection.Ascending)
{
GridViewSortDirection = SortDirection.Descending;
SortGridView(sortExpression, DESCENDING);
}
else
{
GridViewSortDirection = SortDirection.Ascending;
SortGridView(sortExpression, ASCENDING);
}
}
private SortDirection GridViewSortDirection
{
get
{
if (ViewState["sortDirection"] == null)
ViewState["sortDirection"] = SortDirection.Ascending;
return (SortDirection)ViewState["sortDirection"];
}
set { ViewState["sortDirection"] = value; }
}
private void SortGridView(string sortExpression, string direction)
{
// You can cache the DataTable for improving performance
DataTable dt = GetData();
DataView dv = new DataView(dt);
dv.Sort = sortExpression + direction;
dg.DataSource = dv;
dg.DataBind();
}
}