328 lines
12 KiB
C#
328 lines
12 KiB
C#
namespace Consulenza.ReportCommon
|
|
{
|
|
public class Opzione
|
|
{
|
|
public string param { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Opzione che indica se il report deve essere stampato in forma anonima o nominativa.
|
|
/// </summary>
|
|
public class Opzione1 : Opzione {
|
|
public bool ReportAnonimo { get { return (param=="N"); } }//s nominativo, n anonimo
|
|
}
|
|
|
|
// <summary>
|
|
/// Opzione che indica se il report deve essere stampato in forma anonima o nominativa.
|
|
/// </summary>
|
|
public class Opzione10 : Opzione
|
|
{
|
|
public int[] idSchede { get { return (param == "N" ? new int[] { 118 } : new int[] { 117, 118 }); } }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Opzione che restituisce la ChiaveProposta quando il tipo di report richiesto è Proposta.
|
|
/// </summary>
|
|
public class Opzione2 : Opzione {
|
|
public long ChiaveProposta { get { return long.Parse(param); } }
|
|
}
|
|
|
|
public class Opzione3 : Opzione {
|
|
public bool Valore { get { return !(param == "N"); } }
|
|
}
|
|
public class Opzione3_1 : Opzione3 {}
|
|
public class Opzione3_2 : Opzione3 {}
|
|
public class Opzione3_3 : Opzione3 {}
|
|
public class Opzione3_4 : Opzione3 {}
|
|
public class Opzione3_5 : Opzione3 {}
|
|
|
|
|
|
|
|
public class Opzione4 : Opzione {
|
|
public bool Valore { get { return !(param == "N"); } }
|
|
}
|
|
public class Opzione4_1 : Opzione4 { }
|
|
public class Opzione4_2 : Opzione { public bool Valore { get { return (param == "S"); } } }
|
|
public class Opzione4_3 : Opzione { public bool Valore { get { return (param == "S"); } } }
|
|
public class Opzione4_4 : Opzione4 { }
|
|
public class Opzione4_5 : Opzione4 { }
|
|
public class Opzione4_6 : Opzione4 { }
|
|
public class Opzione4_7 : Opzione4 { }
|
|
public class Opzione4_8 : Opzione { public bool Valore { get { return (param == "S"); } } }
|
|
public class Opzione4_9 : Opzione4 { }
|
|
|
|
|
|
public class Opzione5 : Opzione {
|
|
public string Valore { get { return param; } }
|
|
}
|
|
public class Opzione5_1 : Opzione5 {
|
|
|
|
public OrizzonteTemporale OrizzonteTemporale
|
|
{
|
|
get
|
|
{
|
|
switch (param)
|
|
{
|
|
case "6":
|
|
return new OrizzonteTemporale
|
|
{
|
|
mesi = 6,
|
|
anni = 0,
|
|
desc = "sei mesi"
|
|
|
|
};
|
|
case "12":
|
|
return new OrizzonteTemporale();
|
|
case "36":
|
|
return new OrizzonteTemporale
|
|
{
|
|
mesi = 36,
|
|
anni = 3,
|
|
desc = "tre anni"
|
|
|
|
};
|
|
case "60":
|
|
return new OrizzonteTemporale {
|
|
mesi = 60,
|
|
anni = 5,
|
|
desc = "cinque anni"
|
|
|
|
};
|
|
case "84":
|
|
return new OrizzonteTemporale {
|
|
mesi = 84,
|
|
anni = 7,
|
|
desc = "sette anni"
|
|
|
|
};
|
|
case "108":
|
|
return new OrizzonteTemporale {
|
|
mesi = 108,
|
|
anni = 9,
|
|
desc = "nove anni"
|
|
|
|
};
|
|
case "120":
|
|
|
|
return new OrizzonteTemporale {
|
|
mesi = 120,
|
|
anni = 10,
|
|
desc = "dieci anni"
|
|
};
|
|
default:
|
|
return new OrizzonteTemporale();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
public class Opzione5_2 : Opzione5_1 { }
|
|
public class Opzione5_3 : Opzione5 { }
|
|
|
|
public class Opzione6 : Opzione {
|
|
public string Valore { get { return param; } }
|
|
}
|
|
public class Opzione6_1 : Opzione6 {
|
|
public DettaglioValute DettaglioValute{
|
|
get
|
|
{
|
|
switch (param)
|
|
{
|
|
case "6":
|
|
return DettaglioValute.PrimeSei;
|
|
case "T":
|
|
return DettaglioValute.Tutte;
|
|
default:
|
|
return DettaglioValute.PrimeSei;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
public class Opzione6_2 : Opzione6 {
|
|
public RaggruppaProdotti RaggruppaProdotti{
|
|
get
|
|
{
|
|
switch (param)
|
|
{
|
|
case "I":
|
|
return RaggruppaProdotti.AreaBisogno;
|
|
case "A":
|
|
return RaggruppaProdotti.Categoria;
|
|
case "O":
|
|
return RaggruppaProdotti.Contratto;
|
|
default:
|
|
return RaggruppaProdotti.AreaBisogno;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
public class Opzione6_3 : Opzione6 {
|
|
public ProdottiPatrimonio ProdottiPatrimonio{
|
|
get
|
|
{
|
|
switch (param)
|
|
{
|
|
case "10":
|
|
return ProdottiPatrimonio.PrimiDieci;
|
|
case "T":
|
|
return ProdottiPatrimonio.Tutti;
|
|
default:
|
|
return ProdottiPatrimonio.PrimiDieci;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
public class Opzione6_4 : Opzione6 {
|
|
public MonitoraggiInterrotti MonitoraggiInterrotti
|
|
{
|
|
get
|
|
{
|
|
switch (param)
|
|
{
|
|
case "3":
|
|
return MonitoraggiInterrotti.UltimiTre;
|
|
case "T":
|
|
return MonitoraggiInterrotti.Tutti;
|
|
default:
|
|
return MonitoraggiInterrotti.UltimiTre;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
public class Opzione6_5 : Opzione6
|
|
{
|
|
public Raggruppamento raggruppamento
|
|
{
|
|
get
|
|
{
|
|
switch (param)
|
|
{
|
|
case "B":
|
|
return Raggruppamento.AreaBisogno;
|
|
case "C":
|
|
return Raggruppamento.Contratto;
|
|
case "P":
|
|
return Raggruppamento.TipologiaProdotto;
|
|
default:
|
|
return Raggruppamento.AreaBisogno;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public class Opzione12 : Opzione {
|
|
public string Valore { get { return param; } }
|
|
|
|
public bool Area { get { return param.IndexOf("01")>=0; } }
|
|
public bool ContrattoDossier { get { return param.IndexOf("02")>=0; } }
|
|
public bool NomeProdotto { get { return true; } }//DEFAULT OBBLI
|
|
public bool CodIsin { get { return param.IndexOf("03")>=0; } }
|
|
public bool DistrCedoleDividendi { get { return param.IndexOf("04")>=0; } }
|
|
public bool RatingMorningstar { get { return param.IndexOf("05")>=0; } }
|
|
public bool NumqQuantValnom { get { return param.IndexOf("06")>=0; } }
|
|
public bool QuotaPrezzoEuro { get { return param.IndexOf("07")>=0; } }
|
|
public bool ControvaloreAttuale { get { return true; } }//DEFAULT OBBLI
|
|
public bool DataAgg { get { return param.IndexOf("08")>=0; } }
|
|
public bool VersatoNettoSott { get { return param.IndexOf("09")>=0; } } //DEFAULT
|
|
public bool UtilePerditaSott { get { return param.IndexOf("10")>=0; } } //DEFAULT
|
|
public bool RendAnnualSott { get { return param.IndexOf("11")>=0; } } //DEFAULT
|
|
public bool DataSott { get { return param.IndexOf("12")>=0; } } //DEFAULT
|
|
public bool VersatoNettoAssoc { get { return param.IndexOf("13")>=0; } }
|
|
public bool UtilPerditaAssoc { get { return param.IndexOf("14")>=0; } }
|
|
public bool RendCumAssoc { get { return param.IndexOf("15")>=0; } }
|
|
public bool DataAssoc { get { return param.IndexOf("16")>=0; } }
|
|
public bool RendInizioTrimestre { get { return param.IndexOf("17")>=0; } }
|
|
public bool RendInizioAnno { get { return param.IndexOf("18")>=0; } }
|
|
public bool VaR { get { return param.IndexOf("19")>=0; } }//DEFAULT
|
|
public bool RischioCredito { get { return param.IndexOf("20")>=0; } }
|
|
public bool Complessità { get { return param.IndexOf("21")>=0; } }
|
|
public bool ValoriDiCarico { get { return param.IndexOf("22") >= 0; } }
|
|
public bool UtilePerditaCaricoEuro { get { return param.IndexOf("23") >= 0; } }
|
|
public bool UtilePerditaCaricoPerc { get { return param.IndexOf("24") >= 0; } }
|
|
|
|
public RaggruppaProdotti RaggruppaProdotti
|
|
{
|
|
get
|
|
{
|
|
var paramList = param.Split(',');
|
|
switch (paramList[paramList.Length-2])
|
|
{
|
|
case "A":
|
|
return RaggruppaProdotti.Categoria;
|
|
case "O":
|
|
return RaggruppaProdotti.Contratto;
|
|
default:
|
|
return RaggruppaProdotti.AreaBisogno;
|
|
}
|
|
// if (param.IndexOf("A") >= 0) return RaggruppaProdotti.Categoria;
|
|
// else if (param.IndexOf("O") >= 0) return RaggruppaProdotti.Contratto;
|
|
// return RaggruppaProdotti.AreaBisogno;
|
|
}
|
|
}
|
|
public VisualizzazioneProdotti VisualizzioneProdotti
|
|
{
|
|
get
|
|
{
|
|
var paramList = param.Split(',');
|
|
switch (paramList[paramList.Length-1])
|
|
{
|
|
case "A":
|
|
return VisualizzazioneProdotti.PosizioniAttive;
|
|
case "SL":
|
|
return VisualizzazioneProdotti.PosizioniLiquidate;
|
|
case "CL":
|
|
return VisualizzazioneProdotti.ContrattiLiquidati;
|
|
default:
|
|
return VisualizzazioneProdotti.All;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
#region Enumeratori
|
|
|
|
|
|
|
|
public class OrizzonteTemporale
|
|
{
|
|
public int mesi = 12;
|
|
public int anni = 1;
|
|
public string desc = "un anno";
|
|
}
|
|
public enum DettaglioValute {
|
|
PrimeSei,
|
|
Tutte
|
|
}
|
|
public enum RaggruppaProdotti {
|
|
AreaBisogno,
|
|
Categoria,
|
|
Contratto
|
|
}
|
|
public enum VisualizzazioneProdotti
|
|
{
|
|
All,
|
|
PosizioniLiquidate,
|
|
ContrattiLiquidati,
|
|
PosizioniAttive
|
|
}
|
|
public enum ProdottiPatrimonio {
|
|
PrimiDieci,
|
|
Tutti
|
|
}
|
|
public enum MonitoraggiInterrotti {
|
|
UltimiTre,
|
|
Tutti
|
|
|
|
}
|
|
public enum Raggruppamento
|
|
{
|
|
AreaBisogno,
|
|
Contratto,
|
|
TipologiaProdotto
|
|
}
|
|
|
|
#endregion
|
|
}
|