ReportManager.NET/Consulenza.Web/FinalitaImmobiliare.aspx.cs

175 lines
7.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
namespace Consulenza.Web
{
public partial class FinalitaImmobiliare : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// Report del patrimonio immobiliare
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button3_Click(object sender, EventArgs e)
{
var ci = new ConsulenzaImmobiliareWS.WSImmobiliare();
var chiaveClientePb = Convert.ToInt32(txtChiaveClientePb.Text.Trim());
var listaIdImmobileCatasto = new List<string>();
var listaIdSezione = new List<Int32>();
string immobili = "";
if (tx_immobili.Text != "")
{
immobili = tx_immobili.Text.Remove(tx_immobili.Text.Length - 1);
foreach (var item in immobili.Split(';'))
{
listaIdImmobileCatasto.Add(item);
};
}
foreach (var item in txtSchede.Text.Split(';'))
{
listaIdSezione.Add(Convert.ToInt32(item));
};
byte[] myPdf = null;
myPdf = ck_unica.Checked ? ci.CreaReport_FinalitaImmobiliareCU(chiaveClientePb, listaIdImmobileCatasto.ToArray(), listaIdSezione.ToArray()) :
ci.CreaReport_FinalitaImmobiliare(chiaveClientePb, listaIdImmobileCatasto.ToArray(), listaIdSezione.ToArray());
// byte[] myPdf = ci.CreaReport_FinalitaImmobiliare(chiaveClientePb, listaIdImmobileCatasto.ToArray(), listaIdSezione.ToArray());
if (myPdf != null)
{
Session["pdf"] = myPdf;
Response.Redirect("Report.aspx", false);
}
else
ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "ClientScript", "alert('Deve essere selezionata almeno una voce')", true);
}
/// <summary>
/// Popola la txtSchede con le selezioni fatte sulla lista delle sezioni
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button4_Click(object sender, EventArgs e)
{
var selected = chklstSezioni.Items.Cast<ListItem>().Where(li => li.Selected).ToList().Select(o => o.Value);
txtSchede.Text = string.Join(";", selected);
}
/// <summary>
/// Popola la txtIdImmobile con le chiaviImmobile del chiaveclientepb selezionato
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button5_Click(object sender, EventArgs e)
{
int chiave = txtChiaveClientePb.Text != string.Empty ? int.Parse(txtChiaveClientePb.Text) : 0;
recuperaImmobili(chiave);
tx_immobili.Text = "";
lb_norecord.Visible = false;
}
private void recuperaImmobili(int chiave)
{
try
{
DataTable dt = new DataTable();
if (ck_unica.Checked)
{
dt = DataAccess.ExecuteDataTableSqlStatement(
DBProvider.SqlServerConsulenzaUnica
, string.Format(@"SELECT DISTINCT pt.idImmobileCatasto AS idImmobileCatasto
FROM ConsulenzaUnica..PatrimonioTerzi pt
inner join ConsulenzaUnica..DettImmobiliare dett
on pt.chiaveProdottoTerzi=dett.chiaveProdottoTerzi
inner join ConsulenzaUnica..PatrimonioImmobiliareStaging pis
on pis.chiaveClientePB=pt.chiaveClientePB AND pis.idImmobileCatasto=pt.idImmobileCatasto
left join ConsulenzaUnica..dcomune dc
on dc.codcomune=dett.codcomune
where dtfinevalidita > getdate()
and pt.idImmobileCatasto is not null
and dett.codTipologia in ('A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A11')
AND pt.chiaveClientePB = {0}", chiave)
, null);
}
else
{
dt = DataAccess.ExecuteDataTableSqlStatement(
DBProvider.SqlServerConsulenzaEvoluta
, string.Format(@"SELECT DISTINCT pt.idImmobileCatasto AS idImmobileCatasto
FROM ConsulenzaEvoluta..PatrimonioTerzi pt
inner join ConsulenzaEvoluta..DettImmobiliare dett
on pt.chiaveProdottoTerzi=dett.chiaveProdottoTerzi
inner join ConsulenzaEvoluta..PatrimonioImmobiliareStaging pis
on pis.chiaveClientePB=pt.chiaveClientePB AND pis.idImmobileCatasto=pt.idImmobileCatasto
left join ConsulenzaEvoluta..dcomune dc
on dc.codcomune=dett.codcomune
where dtfinevalidita > getdate()
and pt.idImmobileCatasto is not null
and dett.codTipologia in ('A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A11')
AND pt.chiaveClientePB = {0}", chiave)
, null);
}
delenco.Visible = true;
if (dt.Rows.Count > 0)
{
rp_link.Visible = true;
rp_link.DataSource = dt;
rp_link.DataBind();
}
else
{
lb_norecord.Visible = true;
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
protected void lkb_close_Click(object sender, EventArgs e)
{
delenco.Visible = false;
tx_immobili.Text = "";
}
protected void rp_link_ItemDataBound(Object Sender, RepeaterItemEventArgs e)
{
DataRowView rec = (DataRowView)e.Item.DataItem;
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
LinkButton lk = (LinkButton)e.Item.FindControl("lk_immobile");
lk.CommandName = "immobile";
lk.Text = rec["idImmobileCatasto"].ToString();
lk.CommandArgument = rec["idImmobileCatasto"].ToString();
}
}
protected void rp_link_ItemCommand(object source, RepeaterCommandEventArgs e)
{
string comm = e.CommandArgument.ToString();
tx_immobili.Text += comm + ";";
}
}
}