using System; using System.Data; using System.Configuration; 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.Collections; using PDFGenerator.BusinessLayer.DataSection; using PDFGenerator.BusinessLayer; using System.Collections.Generic; namespace PDFGenerator.BusinessLayer.DataSection { class DSS179EmittentiConcentrazioneAlta : IDataSection { private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); //private int _experince; //public int Experince //{ // set // { // _experince = value; // } // get // { // return _experince; // } //} public DSS179EmittentiConcentrazioneAlta() { // // TODO: Add constructor logic here // } #region IDataSection Members /// /// Implement the getDataSection function of the interface IDataSection. /// /// /// Sql Statment to be executed to return the Profile Risk of the certain customer in a certain network /// /// Data Table to be shown in the report public DataSectionResult getDataSection(List tabelleSessione, string querySql, DataThread dataThread) { try { FormatNum num = new FormatNum(); DataSectionResult dsr = new DataSectionResult(); DataSetS179 ds179 = new DataSetS179(); // La sezione va stampata se non si verificano i seguenti 3 casi: // Copertura = 0 string preQuerySql = dataThread.Periodico?"[C6MartPeriodico].[PL_D_S178CasiParticolari]": "[C6Mart].[PL_D_S178CasiParticolari]"; DataTable dtTestoKO = SectionManager.GetDataSection(tabelleSessione, preQuerySql, dataThread); if (dtTestoKO.Rows.Count == 0) { DataTable dt = SectionManager.GetDataSection(tabelleSessione, querySql, dataThread); DataRow drEmittente; ds179.EmittentiConcentrazione.Columns.Add(new DataColumn("controvalore", typeof(string))); ds179.EmittentiConcentrazione.Columns.Add(new DataColumn("franchigia", typeof(string))); ds179.EmittentiConcentrazione.Columns.Add(new DataColumn("rating", typeof(string))); ds179.EmittentiConcentrazione.Columns.Add(new DataColumn("concentrazione", typeof(string))); ds179.EmittentiConcentrazione.Columns.Add(new DataColumn("limiteConcentrazione", typeof(string))); if (dt.Rows.Count > 0) { foreach (DataRow r in dt.Rows) { drEmittente = ds179.EmittentiConcentrazione.NewRow(); drEmittente["Emittente"] = r["Emittente"].ToString(); //drEmittente["ObbligazioniControvalore"] = Convert.ToDecimal(r["ObbligazioniControvalore"]).ToString("#,##0.00"); //drEmittente["ObbligazioniConcentrazione"] = Convert.ToDecimal(r["ObbligazioniConcentrazione"]).ToString("#,##0.00"); //drEmittente["AzioniControvalore"] = Convert.ToDecimal(r["AzioniControvalore"]).ToString("#,##0.00"); //drEmittente["AzioniConcentrazione"] = Convert.ToDecimal(r["AzioniConcentrazione"]).ToString("#,##0.00"); //drEmittente["ObbligazioniControvalore"] = r["ObbligazioniControvalore"] == null ? "-" : Convert.ToDecimal(r["ObbligazioniControvalore"]).ToString("C", System.Globalization.CultureInfo.CurrentCulture); //drEmittente["ObbligazioniConcentrazione"] = r["ObbligazioniConcentrazione"] == null ? "-" : Convert.ToDecimal(r["ObbligazioniConcentrazione"]).ToString("P", System.Globalization.CultureInfo.CurrentCulture); //drEmittente["AzioniControvalore"] = r["AzioniControvalore"] == null ? "-" : Convert.ToDecimal(r["AzioniControvalore"]).ToString("C"); //drEmittente["AzioniConcentrazione"] = r["AzioniConcentrazione"] == null ? "-" : Convert.ToDecimal(r["AzioniConcentrazione"]).ToString("P2"); //drEmittente["ObbligazioniControvalore"] = num.ConvertNum(r["ObbligazioniControvalore"]); //drEmittente["ObbligazioniConcentrazione"] = num.ConvertNum(r["ObbligazioniConcentrazione"]); //drEmittente["AzioniControvalore"] = num.ConvertNum(r["AzioniControvalore"]); //drEmittente["AzioniConcentrazione"] = num.ConvertNum(r["AzioniConcentrazione"]); //--MIFID2 20180706 CR Napolitano i simboli € e % vanno nell'intestazione e non nelle celle //drEmittente["ObbligazioniControvalore"] = string.IsNullOrEmpty(r["ObbligazioniControvalore"].ToString()) ? "-" : string.Concat(num.ConvertNum(r["ObbligazioniControvalore"]), " €"); //drEmittente["ObbligazioniConcentrazione"] = string.IsNullOrEmpty(r["ObbligazioniConcentrazione"].ToString()) ? "-" : string.Concat(num.ConvertNum(r["ObbligazioniConcentrazione"]), "%"); //drEmittente["AzioniControvalore"] = string.IsNullOrEmpty(r["AzioniControvalore"].ToString()) ? "-" : string.Concat(num.ConvertNum(r["AzioniControvalore"]), " €"); //drEmittente["AzioniConcentrazione"] = string.IsNullOrEmpty(r["AzioniConcentrazione"].ToString()) ? "-" : string.Concat(num.ConvertNum(r["AzioniConcentrazione"]), "%"); //Leone: modifiche fatte sulla base dei requisiti //drEmittente["ObbligazioniControvalore"] = string.IsNullOrEmpty(r["ObbligazioniControvalore"].ToString()) ? "-" : num.ConvertNum(r["ObbligazioniControvalore"]); //drEmittente["ObbligazioniConcentrazione"] = string.IsNullOrEmpty(r["ObbligazioniConcentrazione"].ToString()) ? "-" : num.ConvertNum(r["ObbligazioniConcentrazione"]); //drEmittente["AzioniControvalore"] = string.IsNullOrEmpty(r["AzioniControvalore"].ToString()) ? "-" : num.ConvertNum(r["AzioniControvalore"]); //drEmittente["AzioniConcentrazione"] = string.IsNullOrEmpty(r["AzioniConcentrazione"].ToString()) ? "-" : num.ConvertNum(r["AzioniConcentrazione"]); drEmittente["controvalore"] = string.IsNullOrEmpty(r["ctv"].ToString()) ? "-" : num.ConvertNum(r["ctv"]); drEmittente["franchigia"] = string.IsNullOrEmpty(r["franchigia"].ToString()) ? "-" : num.ConvertNum(r["franchigia"]); drEmittente["rating"] = string.IsNullOrEmpty(r["rating"].ToString()) ? "-" : num.ConvertNum(r["rating"]); drEmittente["concentrazione"] = string.IsNullOrEmpty(r["percConcentrazione"].ToString()) ? "-" : num.ConvertNum(r["percConcentrazione"]); drEmittente["limiteConcentrazione"] = string.IsNullOrEmpty(r["sogliaConcentrazione"].ToString()) ? "-" : num.ConvertNum(r["sogliaConcentrazione"]); //--MIFID2 ds179.EmittentiConcentrazione.Rows.Add(drEmittente); } } } dsr.DatiSezione = ds179; int esito = 0; //if (dtFilter.Rows.Count < 5) // esito = 0; //else esito = ds179.EmittentiConcentrazione.Rows.Count; dsr.Esito = esito; return dsr; } catch (Exception ex) { try { logger.Error(String.Concat(ex.Message, " ", dataThread.CodiceFiscale)); } catch { } throw ex; } } #endregion } }