コード例 #1
0
ファイル: Matrix_ADO.cs プロジェクト: CSOIreland/PxStat
        /// <summary>
        /// Createws the Frequency record in the database
        /// </summary>
        /// <param name="dto"></param>
        /// <param name="matrixId"></param>
        /// <returns></returns>
        internal int CreateFrequencyRecord(FrequencyRecordDTO_Create dto, int matrixId)
        {
            var inputParams = new List <ADO_inputParams>()
            {
                new ADO_inputParams()
                {
                    name = "@FrqValue", value = dto.Value
                },
                new ADO_inputParams()
                {
                    name = "@FrqCode", value = dto.Code
                },
                new ADO_inputParams()
                {
                    name = "@FrqMtrId", value = matrixId
                },
            };

            var returnParam = new ADO_returnParam()
            {
                name = "@ReturnVal", value = 0
            };

            ado.ExecuteNonQueryProcedure("Data_Frequency_Create", inputParams, ref returnParam);

            return((int)returnParam.value);
        }
コード例 #2
0
ファイル: Matrix_BSO.cs プロジェクト: Chriz-ONeill/PxStat
        /// <summary>
        /// Creates a frequency object and persists it to the database via bulk upload
        /// </summary>
        /// <param name="frequency"></param>
        /// <param name="matrixId"></param>
        /// <returns></returns>
        private int CreateFrequency(FrequencyRecordDTO_Create frequency, int matrixId)
        {
            Matrix_ADO matrixAdo = new Data.Matrix_ADO(Ado);

            frequency.FrequencyId = matrixAdo.CreateFrequencyRecord(frequency, matrixId);

            DataTable dtPeriods = new DataTable();

            dtPeriods.Columns.Add("PRD_CODE");
            dtPeriods.Columns.Add("PRD_VALUE");
            dtPeriods.Columns.Add("PRD_FRQ_ID");

            foreach (var p in frequency.Period)
            {
                DataRow dr = dtPeriods.NewRow();
                dr["PRD_CODE"]   = p.Code;
                dr["PRD_VALUE"]  = p.Value;
                dr["PRD_FRQ_ID"] = frequency.FrequencyId;
                dtPeriods.Rows.Add(dr);
            }

            matrixAdo.CreatePeriodRecordBulk(dtPeriods);

            //read the period id's for the uploaded periods
            List <dynamic> periodData = matrixAdo.ReadPeriodsByMatrixId(matrixId).ToList();

            foreach (var p in frequency.Period)
            {
                p.FrequencyPeriodId = periodData.Where(x => x.PrdCode == p.Code).FirstOrDefault().PrdId;
            }

            return(frequency.FrequencyId);
        }
コード例 #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);
                }
            }
        }