/// <summary> /// /// </summary> /// <param name="parameters"></param> public PxPeriodListDTO(dynamic parameters) { Periods = new List <PeriodRecordDTO_Create>(); if (parameters.Period != null) { foreach (var p in parameters.Period) { PeriodRecordDTO_Create period = new PeriodRecordDTO_Create(); if (p.PrdCode != null) { period.Code = p.PrdCode; } if (p.PrdValue != null) { period.Value = p.PrdValue; } Periods.Add(period); } } }
/// <summary> /// /// </summary> /// <param name="parameters"></param> public BuildUpdate_DTO(dynamic parameters) { if (parameters.MtrInput != null) { this.MtrInput = Utility.DecodeBase64ToUTF8((string)parameters["MtrInput"]); } if (parameters.Data != null) { PxData = new PxData_DTO(parameters); } if (parameters.LngIsoCode != null) { LngIsoCode = parameters.LngIsoCode; } else { LngIsoCode = Configuration_BSO.GetCustomConfig(ConfigType.global, "language.iso.code"); } Periods = new List <PeriodRecordDTO_Create>(); if (parameters.MtrCode != null) { MtrCode = parameters.MtrCode; } if (parameters.CprCode != null) { CprCode = parameters.CprCode; } if (parameters.FrqCodeTimeval != null) { FrqCodeTimeval = parameters.FrqCodeTimeval; } if (parameters.FrqValueTimeval != null) { FrqValueTimeval = parameters.FrqValueTimeval; } if (parameters.MtrOfficialFlag != null) { MtrOfficialFlag = parameters.MtrOfficialFlag; } Format = new Format_DTO_Read(); if (parameters.FrmType != null && parameters.FrmVersion != null) { Format.FrmType = parameters.FrmType; Format.FrmVersion = parameters.FrmVersion; Format.FrmDirection = Format_DTO_Read.FormatDirection.UPLOAD.ToString(); } if (parameters.Signature != null) { this.Signature = parameters.Signature; } if (parameters.Labels != null) { this.Labels = parameters.Labels; } else { this.Labels = true; } if (parameters.Elimination != null) { Elimination = JsonConvert.DeserializeObject <Dictionary <string, string> >(parameters.Elimination.ToString()); } if (parameters.Dimension != null) { Dimension = new List <Dimension_DTO>(); foreach (var dim in parameters.Dimension) { Dimension_DTO dimension = new Dimension_DTO(); if (dim.Frequency != null) { dimension.Frequency = new FrequencyRecordDTO_Create(); if (dim.Frequency.Period != null) { dimension.Frequency.Period = new List <Data.PeriodRecordDTO_Create>(); foreach (var per in dim.Frequency.Period) { PeriodRecordDTO_Create period = new PeriodRecordDTO_Create(); if (per.PrdCode != null) { period.Code = per.PrdCode; } if (per.PrdValue != null) { period.Value = per.PrdValue; } if (Periods.Where(x => x.Code.Equals(period.Code)).FirstOrDefault() == null) { Periods.Add(period); } dimension.Frequency.Period.Add(period); } } if (dim.Frequency.FrqValue != null) { dimension.Frequency.Value = dim.Frequency.FrqValue; } } if (dim.Classification != null) { dimension.Classifications = new List <ClassificationRecordDTO_Create>(); foreach (var cls in dim.Classification) { ClassificationRecordDTO_Create classification = new ClassificationRecordDTO_Create(); if (cls.ClsCode != null) { classification.Code = cls.ClsCode; } dimension.Classifications.Add(classification); } } if (dim.LngIsoCode != null) { dimension.LngIsoCode = dim.LngIsoCode; } if (dim.MtrTitle != null) { dimension.MtrTitle = dim.Dimension; } if (dim.FrqValue != null) { dimension.FrqValue = dim.FrqValue; } if (dim.MtrNote != null) { dimension.MtrNote = dim.MtrNote; } if (dim.StatisticLabel != null) { dimension.StatisticLabel = dim.StatisticLabel; } if (dim.MtrTitle != null) { dimension.MtrTitle = dim.MtrTitle; } Dimension.Add(dimension); } } if (parameters.Map != null) { Map = JsonConvert.DeserializeObject <Dictionary <string, string> >(parameters.Map.ToString()); } }
/// <summary> /// /// </summary> /// <param name="dim"></param> public Dimension_DTO(dynamic dim) { if (dim.FrqCode != null) { this.FrqCode = dim.FrqCode; } if (dim.FrqValue != null) { this.FrqValue = dim.FrqValue; } if (dim.Frequency != null) { Frequency = new FrequencyRecordDTO_Create(); if (dim.Frequency.FrqCode != null) { this.FrqCode = dim.Frequency.FrqCode; Frequency.Code = dim.Frequency.FrqCode; } if (dim.Frequency.FrqValue != null) { this.FrqValue = dim.Frequency.FrqValue; Frequency.Value = dim.Frequency.FrqValue; } if (dim.Frequency.Period != null) { Frequency.Period = new List <PeriodRecordDTO_Create>(); foreach (dynamic per in dim.Frequency.Period) { PeriodRecordDTO_Create prd = new PeriodRecordDTO_Create(); if (per.PrdCode != null) { prd.Code = per.PrdCode; } if (per.PrdValue != null) { prd.Value = prd.Code; } Frequency.Period.Add(prd); } } } //Sometimes Period as a collection of periods may exist at the top level - e.g. PxFileBuild_API.Update if (dim.Period != null) { Periods = new List <PeriodRecordDTO_Create>(); foreach (dynamic per in dim.Period) { PeriodRecordDTO_Create prd = new PeriodRecordDTO_Create(); if (per.PrdCode != null) { prd.Code = per.PrdCode; } if (per.PrdValue != null) { prd.Value = prd.Code; } Periods.Add(prd); } } if (dim.StatisticLabel != null) { this.StatisticLabel = dim.StatisticLabel; } if (dim.CprValue != null) { this.CprValue = dim.CprValue; } if (dim.LngIsoCode != null) { this.LngIsoCode = dim.LngIsoCode; } if (dim.MtrNote != null) { this.MtrNote = dim.MtrNote; } if (dim.MtrTitle != null) { this.MtrTitle = dim.MtrTitle; } if (dim.Classification != null) { this.Classifications = new List <ClassificationRecordDTO_Create>(); foreach (var pCls in dim.Classification) { ClassificationRecordDTO_Create cls = new ClassificationRecordDTO_Create(pCls); this.Classifications.Add(cls); } } }