public EnhancedZaznam(XSD.dumpZaznam item) { this.casZverejneni = item.casZverejneni; this.identifikator = item.identifikator; this.odkaz = item.odkaz; this.platnyZaznam = item.platnyZaznam; this.prilohy = null; if (item.prilohy != null) { this.EnhPrilohy = item.prilohy.Select(m => new EnhancedPriloha(m)).ToArray(); } this.smlouva = item.smlouva; }
public Smlouva(XSD.dumpZaznam item) { this.casZverejneni = item.casZverejneni; this.identifikator = item.identifikator; this.odkaz = item.odkaz; this.platnyZaznam = item.platnyZaznam; if (item.prilohy != null) { this.Prilohy = item.prilohy.Select(m => new Priloha(m)).ToArray(); } this.cisloSmlouvy = item.smlouva.cisloSmlouvy; this.ciziMena = item.smlouva.ciziMena; this.datumUzavreni = item.smlouva.datumUzavreni; this.hodnotaBezDph = item.smlouva.hodnotaBezDphSpecified ? item.smlouva.hodnotaBezDph : (decimal?)null; this.hodnotaVcetneDph = item.smlouva.hodnotaVcetneDphSpecified ? item.smlouva.hodnotaVcetneDph : (decimal?)null; this.navazanyZaznam = item.smlouva.navazanyZaznam; this.predmet = item.smlouva.predmet; this.schvalil = item.smlouva.schvalil; //smluvni strany //vkladatel je jasny this.VkladatelDoRejstriku = new Subjekt(item.smlouva.subjekt); //pokud je nastaven parametr //<xs:documentation xml:lang="cs">1 = příjemce, 0 = plátce</xs:documentation> bool platceSpecified = item.smlouva.smluvniStrana.Any(m => m.prijemce.HasValue && m.prijemce == false); bool prijemceSpecified = item.smlouva.smluvniStrana.Any(m => m.prijemce.HasValue && m.prijemce == true); if (platceSpecified) { this.Platce = new Subjekt(item.smlouva .smluvniStrana .Where(m => m.prijemce.HasValue && m.prijemce == false) .First() ); } else { //copy from subjekt this.Platce = new Subjekt(item.smlouva.subjekt); } if (prijemceSpecified) { this.Prijemce = item.smlouva.smluvniStrana .Where(m => m.prijemce.HasValue && m.prijemce == true) .Select(m => new Subjekt(m)) .ToArray(); //add missing from source this.Prijemce = this.Prijemce .ToArray() .Union( item.smlouva.smluvniStrana .Where(m => m.prijemce.HasValue == false) .Select(m => new Subjekt(m)) ).ToArray(); } else { this.Prijemce = item.smlouva.smluvniStrana //.Where(m => m.ico != this.Platce.ico || m.datovaSchranka != this.Platce.datovaSchranka) .Where(m => m.prijemce.HasValue == false && m.prijemce != false) .Select(m => new Subjekt(m)) .ToArray(); } //add missing from subject if (platceSpecified) { if (this.Prijemce .Where(m => m.ico == this.VkladatelDoRejstriku.ico || m.datovaSchranka != this.VkladatelDoRejstriku.datovaSchranka) .Count() == 0 ) { this.Prijemce = this.Prijemce .ToArray() .Union( new Subjekt[] { this.VkladatelDoRejstriku } ).ToArray(); } } }