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

630 lines
26 KiB
C#

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.IO;
using System.Net;
using System.Threading;
using Consulenza.Web.ConsulenzaUnicaWS;
using System.Linq;
using Newtonsoft.Json;
namespace Consulenza.Web
{
public partial class Monitoraggio : System.Web.UI.Page
{
private Dictionary<int, string> _elencoSezioni = new Dictionary<int, string>();
public Dictionary<int, string> ElencoSezioni
{
get { return _elencoSezioni; }
set { _elencoSezioni = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//caricaElencoSezioni();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
var reportManager = new ReportManager();
var chiaveClientePb = tx_chiave.Text != "" ? int.Parse(tx_chiave.Text) : 0;
#region Template costruito
//1,2,4,5,6,7,8,11,15,16,17,18 schede attive 22-01-2016
var template = new Template
{
CodicePb = "",
IdModello = 5, //rete F, 6 rete S
IsDefault = "N",
Options = new[]
{
new Option { Key = "Opzione1", Value = "{'anonimo':'N'}" },
//new Option { Key = "Opzione2", Value = "{'proposta':'1234567'}" }
},
Schede = new[]
{
new SchedaTemplate {
Id = 1002,
Options = new Option[0]
},
#region schede commentate
//new SchedaTemplate {
// Id = 2002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 4002,
// Options = new Option[0]
//},
// new SchedaTemplate {
// Id = 5002,
// Options = new Option[0]
//},
// new SchedaTemplate {
// Id = 6002,
// Options = new Option[0]
//},
// new SchedaTemplate {
// Id = 7002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 8002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 9002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 11002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 12002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 13002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 14002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 15002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 16002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 17002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 18002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 19002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 20002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 21002,
// Options = new Option[0]
//},
//new SchedaTemplate { //danilo:sviluppo in corso?
// Id = 22002,
// Options = new Option[0]
//},
//new SchedaTemplate { //danilo:sviluppo in corso?
// Id = 23002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 24002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 27002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 29002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 30002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 31002,
// Options = new Option[0]
//},
// new SchedaTemplate {
// Id = 32002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 33002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 34002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 35002,
// Options = new Option[0]
//},
// new SchedaTemplate {
// Id = 36002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 37002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 38002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 39002,
// Options = new Option[0]
//},
// new SchedaTemplate {
// Id = 40002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id =41002,
// Options = new Option[0]
//},
// new SchedaTemplate {
// Id = 42002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 43002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 44002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 45002,
// Options = new Option[0]
//},
// new SchedaTemplate {
// Id = 46002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 47002,
// Options = new Option[0]
//},
#endregion
//new SchedaTemplate {
// Id = 48002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 49002,
// Options = new Option[0]
//},
// new SchedaTemplate {
// Id = 50002,
// Options = new Option[0]
//},
//LE TRE SEGUENTI SONO DA FARE
//new SchedaTemplate {
// Id = 51002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 52002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 53002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 66002,
// Options = new Option[0]
//},
// new SchedaTemplate {
// Id = 67002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 68002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 69002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 70002,
// Options = new Option[0]
//},
// new SchedaTemplate {
// Id = 71002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 72002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 73002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 74002,
// Options = new Option[0]
//},
//new SchedaTemplate {
// Id = 75002,
// Options = new Option[0]
//},
}
};
#endregion
#region Template preso da DB
//template = new Template { IdModello = -1, Nome = "Test_Mon_Salvi" };
//template = new Template { IdModello = -1, Nome = "Test_PreRilascio" };
//var imagePdf = reportManager.CreaReport("012057", "FSTTLI43L07L840O", "", "F", 1044379, template, new ConsulenzaUnicaWS.Parametro[0]);
#endregion
template = new Template { IdModello = -1, Nome = "MonitoraggioSavingMap" }; //lindaprop2 -linda62 lindaprop55 - lindaMon -
var imagePdf = reportManager.CreaReport("014803", "MNTPRI49R57G273T", "", "F", 577582, template, new ConsulenzaUnicaWS.Parametro[0]);
//var imagePdf = reportManager.CreaReportOld(chiaveClientePb, template, new ConsulenzaUnicaWS.Parametro[0]);
//var imagePdf = reportManager.CreaReport("002317", "PRZRNZ44S14B025B", "", "F", 74139, template, new ConsulenzaUnicaWS.Parametro[0]);
// DONA' DELLE ROSE S11 - S18
//var imagePdf = reportManager.CreaReport("012057", "DNDMCL54A11L551Z", "", "F", 127235, template, new ConsulenzaUnicaWS.Parametro[0]);
// BELLANTE
//var imagePdf = reportManager.CreaReport("011974", "RSSLEI43C14C006H", "", "F", 428064, template, new ConsulenzaUnicaWS.Parametro[0]);
//var imagePdf = reportManager.CreaReport("005199", "RMRLGU42L24B101X", "", "F", 79807, template, new ConsulenzaUnicaWS.Parametro[0]);
// Luigi DI CLERICO S45 S46 S47
//var imagePdf = reportManager.CreaReport("015104", "DCLLGU40H05H320L", "", "F", 123703, template, new ConsulenzaUnicaWS.Parametro[0]);
// TISEO Marcello
//var imagePdf = reportManager.CreaReport("003839", "TSIMCL67T05A818L", "", "S", 94817, template, new ConsulenzaUnicaWS.Parametro[0]);
// BLOCCO 69
//var imagePdf = reportManager.CreaReport("015238", "LRNGDE63T23F012H", "", "F", 50539, template, new ConsulenzaUnicaWS.Parametro[0]);
// var imagePdf = reportManager.CreaReport("015874", "SLVGPP74R18B963L", "", "F", 1702400, template, new ConsulenzaUnicaWS.Parametro[0]);
//var imagePdf = reportManager.CreaReport("016314", "DVCWTR35S02L781V", "", "F", 1426463, template, new ConsulenzaUnicaWS.Parametro[0]);
//var imagePdf = reportManager.CreaReport("012225", "QGLLND58R42E897H", "", "F", 172049, template, new ConsulenzaUnicaWS.Parametro[0]);
// Paolo Savoldelli S20 - S22
//var imagePdf = reportManager.CreaReport("002317", "SVLPLA53T07D434X", "", "F", 530953, template, new ConsulenzaUnicaWS.Parametro[0]);
//var imagePdf = reportManager.CreaReport("013739", "CCCCRL58D30B300W", "", "F", 608693, template, new ConsulenzaUnicaWS.Parametro[0]);
// s21
//var imagePdf = reportManager.CreaReport("014818", "PRCMRA64P13D286C", "", "F", 363274, template, new ConsulenzaUnicaWS.Parametro[0]);
if (imagePdf == null) return;
Session["pdf"] = imagePdf;
Response.Redirect("Report.aspx", false);
}
private void caricaCheckboxList(Dictionary<int, string> elenco)
{
//chklstSezioni.DataSource = elenco;
//chklstSezioni.DataValueField = "Key";
//chklstSezioni.DataTextField = "Value";
//chklstSezioni.DataBind();
//chkAll.Visible = true;
}
//protected void ddl_report_SelectedIndexChanged(object sender, EventArgs e)
//{
// int[] elencosezioni =null;
// List<int> lista = new List<int>();
// Dictionary<int, string> listatemp = new Dictionary<int, string>();
// switch (ddl_report.SelectedItem.Text)
// {
// case "Diagnosi":
// for (int i = 44; i < 91; i++) lista.Add(i);
// elencosezioni = new int[] { 105, 107, 111, 112, 113, 114, 115 };
// lista.AddRange(elencosezioni.ToList());
// break;
// case "Monitoraggio":
// for (int i =1 ; i < 47; i++) lista.Add(i);
// lista.Remove(11);
// elencosezioni = new int[] { 57,58,59,60,61,63,65,66,67,68,69,70,71,72 };
// lista.AddRange(elencosezioni.ToList());
// break;
// case "Proposta":
// elencosezioni = new int[] { 1, 2, 3, 4, 10, 11, 12,13, 14, 15, 16, 47,48,49, 50, 51,52,53,54,55, 56,62,64, 73 };
// lista.AddRange(elencosezioni.ToList());
// break;
// case "Nucleo":
// elencosezioni = new int[] { 1, 2, 3};
// lista.AddRange(elencosezioni.ToList());
// for (int i = 5; i < 47; i++) lista.Add(i);
// lista.Remove(10);
// lista.Remove(11);
// lista.Remove(12);
// lista.Remove(13);
// lista.Remove(14);
// lista.Remove(32);
// lista.Remove(39);
// lista.Remove(41);
// elencosezioni = new int[] { 68,69,70,71,72,74,75,76,77,78 };
// lista.AddRange(elencosezioni.ToList());
// break;
// }
// ElencoSezioni = (Dictionary<int,string>)Session["elenco"];
// listatemp = ElencoSezioni.Where(p => lista.Contains(p.Key)).ToDictionary(p => p.Key, p => p.Value);
// caricaCheckboxList(listatemp);
//}
private void caricaElencoSezioni()
{
try
{
var dt = DataAccess.ExecuteDataTableSqlStatement(
DBProvider.SqlServerConsulenzaEvoluta
, "SELECT ID, Descrizione FROM ReportModeler2..Sezioni WHERE id>=44 and id<=121", null);
foreach (DataRow r in dt.Rows)
_elencoSezioni.Add(int.Parse(r["ID"].ToString()), r["Descrizione"].ToString());
Session["elenco"] = _elencoSezioni;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
#region follia
//_elencoSezioni.Add(1, "Copertina");
//_elencoSezioni.Add(2, "Glossario");
//_elencoSezioni.Add(3, "Avvertenze");
//_elencoSezioni.Add(4, "Sintesi Cliente");
//_elencoSezioni.Add(5, "Patrimonio finanziario: rappresentazione per intermediario");
//_elencoSezioni.Add(6, "Patrimonio finanziario: rappresentazione per macro asset class");
//_elencoSezioni.Add(7, "Patrimonio finanziario: rappresentazione per asset class");
//_elencoSezioni.Add(8, "Patrimonio finanziario: macro categoria di prodotto");
//_elencoSezioni.Add(9, "Patrimonio finanziario: categoria di prodotto");
//_elencoSezioni.Add(10, "Patrimonio Banca Fideuram: piramide dei bisogni");
//_elencoSezioni.Add(11, "Pianificazione: piramide dei bisogni");
//_elencoSezioni.Add(12, "Pianificazione: dettaglio prodotti");
//_elencoSezioni.Add(13, "Progetto 'nome progetto': dettaglio portafoglio modello");
//_elencoSezioni.Add(14, "Riserva: dettaglio portafoglio modello");
//_elencoSezioni.Add(15, "Patrimonio Banca Fideuram: dettaglio contratti");
//_elencoSezioni.Add(16, "Patrimonio Banca Fideuram: dettaglio prodotti");
//_elencoSezioni.Add(17, "Patrimonio Banca Fideuram: rappresentazione per macro asset class");
//_elencoSezioni.Add(18, "Patrimonio Banca Fideuram: rappresentazione per asset class");
//_elencoSezioni.Add(19, "Patrimonio Banca Fideuram: rappresentazione per valute");
//_elencoSezioni.Add(20, "Patrimonio Banca Fideuram: macro categoria prodotto");
//_elencoSezioni.Add(21, "Patrimonio Banca Fideuram: categoria prodotto");
//_elencoSezioni.Add(22, "Patrimonio Banca Fideuram: rappresentazione per rating");
//_elencoSezioni.Add(23, "Patrimonio Banca Fideuram: rappresentazione per emittenti");
//_elencoSezioni.Add(24, "Patrimonio Banca Fideuram: rappresentazione per scadenze");
//_elencoSezioni.Add(25, "Patrimonio Banca Fideuram: rappresentazione per tassi");
//_elencoSezioni.Add(26, "Patrimonio altri Istituti: distribuzione per intermediario");
//_elencoSezioni.Add(27, "Patrimonio altri Istituti: dettaglio prodotti");
//_elencoSezioni.Add(28, "Patrimonio altri Istituti: rappresentazione per macro asset class");
//_elencoSezioni.Add(29, "Patrimonio altri Istituti: rappresentazione per asset class");
//_elencoSezioni.Add(30, "Patrimonio altri Istituti: macro categoria prodotto");
//_elencoSezioni.Add(31, "Copertina");
//_elencoSezioni.Add(32, "Copertina");
//_elencoSezioni.Add(33, "Copertina");
//_elencoSezioni.Add(34, "Copertina");
//_elencoSezioni.Add(35, "Copertina");
//_elencoSezioni.Add(36, "Copertina");
//_elencoSezioni.Add(37, "Copertina");
//_elencoSezioni.Add(38, "Copertina");
//_elencoSezioni.Add(39, "Copertina");
//_elencoSezioni.Add(40, "Copertina");
//_elencoSezioni.Add(41, "Copertina");
//_elencoSezioni.Add(42, "Copertina");
//_elencoSezioni.Add(43, "Copertina");
//_elencoSezioni.Add(44, "Copertina");
//_elencoSezioni.Add(45, "Copertina");
//_elencoSezioni.Add(46, "Copertina");
//_elencoSezioni.Add(47, "Copertina");
//_elencoSezioni.Add(48, "Copertina");
//_elencoSezioni.Add(49, "Copertina");
//_elencoSezioni.Add(50, "Copertina");
//_elencoSezioni.Add(51, "Copertina");
//_elencoSezioni.Add(52, "Copertina");
//_elencoSezioni.Add(53, "Copertina");
//_elencoSezioni.Add(54, "Copertina");
//_elencoSezioni.Add(55, "Copertina");
//_elencoSezioni.Add(56, "Copertina");
//_elencoSezioni.Add(57, "Copertina");
//_elencoSezioni.Add(58, "Copertina");
//_elencoSezioni.Add(59, "Copertina");
//_elencoSezioni.Add(60, "Copertina");
//_elencoSezioni.Add(61, "Copertina");
//_elencoSezioni.Add(62, "Copertina");
//_elencoSezioni.Add(63, "Copertina");
//_elencoSezioni.Add(64, "Copertina");
//_elencoSezioni.Add(65, "Copertina");
//_elencoSezioni.Add(66, "Copertina");
//_elencoSezioni.Add(67, "Copertina");
//_elencoSezioni.Add(68, "Copertina");
//_elencoSezioni.Add(69, "Copertina");
//_elencoSezioni.Add(70, "Copertina");
//_elencoSezioni.Add(71, "Copertina");
//_elencoSezioni.Add(72, "Copertina");
//_elencoSezioni.Add(73, "Copertina");
//_elencoSezioni.Add(74, "Copertina");
//_elencoSezioni.Add(75, "Copertina");
//_elencoSezioni.Add(76, "Copertina");
//_elencoSezioni.Add(77, "Copertina");
//_elencoSezioni.Add(78, "Copertina");
#endregion
}
protected void Button2_Click(object sender, EventArgs e)
{
var dt = DataAccess.ExecuteDataTableSqlStatement(DBProvider.SqlServerConsulenzaUnica, "select * from vInfoCliente WHERE chiaveclientePb=" + tx_chiave.Text, null);
var agente = dt.Rows[0]["agente"].ToString();
var rete = dt.Rows[0]["rete"].ToString();
var mandato = dt.Rows[0]["codman"].ToString();
var codfiscale = dt.Rows[0]["codfis"].ToString();
var prefisso = rete.Equals("F") ? "R" : "P";
var cliente = string.Format("{0} {1}", dt.Rows[0]["nomecliente"].ToString(), dt.Rows[0]["cognomecliente"].ToString());
var privatebancker = string.Format("{0} {1}", dt.Rows[0]["nomepb"].ToString(), dt.Rows[0]["cognomepb"].ToString());
var url = ConfigurationManager.AppSettings["UrlAPI"];
var stringUrl1 = string.Format("{0}/api/login/main", url);
var stringUrl2 = string.Format("{0}/api/login/home", url);
var stringUrl3 = string.Format("{0}/api/cliente/load/customer", url);
using (var client = new CookieWebClient())
{
client.Headers.Clear();
client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
var dataString1 = "{\"mainUserId\":\"" + prefisso + agente + "\"}";
client.UploadString(new Uri(stringUrl1), "POST", dataString1);
client.Headers.Clear();
client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
var dataString2 = "{\"impersonificatedAgentCode\":\"" + agente + "\"}";
client.UploadString(new Uri(stringUrl2), "POST", dataString2);
client.Headers.Clear();
client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
var dataString3 = "{\"codiceFiscale\":\"" + codfiscale + "\",\"codiceMandato\":\"\",\"codiceAgente\": \"" + agente + "\",\"codiceRete\": \"" + rete + "\"}";
client.UploadString(new Uri(stringUrl3), "POST", dataString3);
}
lblAgente.Text = "Agente: " + agente;
lblCodiceFiscale.Text = "CodiceFiscale: " + codfiscale;
lblRete.Text = "Rete: " + rete;
lblMandato.Text = "Mandato: " + mandato;
lblCliente.Text = "Cliente: " + cliente;
lblPb.Text = "Private Bancker: " + privatebancker;
}
public class CookieWebClient : WebClient
{
public CookieContainer CookieContainer { get; private set; }
/// <summary>
/// This will instanciate an internal CookieContainer.
/// </summary>
public CookieWebClient()
{
this.CookieContainer = new CookieContainer();
}
/// <summary>
/// Use this if you want to control the CookieContainer outside this class.
/// </summary>
public CookieWebClient(CookieContainer cookieContainer)
{
this.CookieContainer = cookieContainer;
}
protected override WebRequest GetWebRequest(Uri address)
{
var request = base.GetWebRequest(address) as HttpWebRequest;
if (request == null) return base.GetWebRequest(address);
request.CookieContainer = CookieContainer;
return request;
}
}
}
}