예제 #1
0
 /// <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);
         }
     }
 }
예제 #2
0
        /// <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());
            }
        }
예제 #3
0
        /// <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);
                }
            }
        }