1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
public class compoElement : ElementCatalogue, IConvertibleSuperElement
{
public long? id { get; set; }
public MaClasse classe { get; set; }
public IList<string> descriptionComplement { get; set; }
public IList<Substance> substanceList { get; set; }
public IList<Substance> substance2List { get; set; }
// Liste de propriétés suppprimées pour la clarté ...
public ElementSuperCatalogue ConvertirEnSuperElement()
{
CompositionChimique compo = new CompositionChimique();
compo.idInterne = Convert.ToUInt64(this.id);
compo.id = this.id.ToString();
compo.nom = this.name;
compo.dateCrea = this.date;
compo.dateModif = this.date2;
compo.mangeable = this.retrocedable;
compo.buvable = this.perfusable;
compo.supprime = this.deleted;
// Elements qui sont attribués de la même façon supprimés...
if (classe != null)
compo.classe = Convert.ToUInt64(classe.code);
compo.descComp = new List<string>();
if (descriptionComplement != null)
{
compo.idATC.Add(this.descriptionComplement);
}
compo.idSubstances = new List<ulong>();
compo.idSubstance2 = new List<ulong>();
foreach (Substances subs in subsList)
{
if (subs != null)
{
switch (subs.number)
{
case 1:
foreach (Substances sub in subs.subList)
{
if (sub != null)
{
string chaineCommande = "SELECT ID FROM CorrespondanceSub1 WHERE IDEXTERNE = :idExterne";
Global.Base.CreerCommande(chaineCommande);
Global.Base.AjouterParametre("idExterne", sub.code, DbType.String, ParameterDirection.Input);
try
{
ulong id = Global.Base.RecupererCorrespondance();
compo.idSubstances1.Add(id);
}
catch (Exception e)
{
// Traitement....
}
}
}
break;
case 1:
foreach (Substances sub in subs.subList)
{
if (sub != null)
{
string chaineCommande = "SELECT ID FROM CorrespondanceSub2 WHERE IDEXTERNE = :idExterne";
Global.Base.CreerCommande(chaineCommande);
Global.Base.AjouterParametre("idExterne", sub.code, DbType.String, ParameterDirection.Input);
try
{
ulong id = Global.Base.RecupererCorrespondance();
compo.idSubstances2.Add(id);
}
catch (Exception e)
{
// Traitement....
}
}
}
break;
default:
break;
}
}
}
//D'autres traitement sont dans cette méthode mais ressemblent au derniers...
return compo;
}
} |