public Archive(ArchiveMetadata metadata, Signature signature, TaxSummary taxSummary, ReportedValue reportedValue) { Metadata = metadata; Signature = signature; TaxSummary = taxSummary; ReportedValue = reportedValue; }
public static ITry <Archive, IEnumerable <string> > Parse(Dto.Archive archive) { return(ArchiveMetadata.Create(archive).FlatMap(metadata => { return Try.Aggregate( TaxSummary.Create(archive, metadata.Version), ReportedValue.Create(archive, metadata.Version), Signature.Create(archive.Signature.Content), (taxSummary, reportedValue, signature) => new Archive(metadata, signature, taxSummary, reportedValue) ); })); }