Esempio n. 1
0
        internal CodelistUtility(CodelistTypes codelistType, bool completeOrSummaryFlag, string agencyId, string language, Header header, string outputFolder, DIConnection DIConnection, DIQueries DIQueries)
            : base(agencyId, language, header, outputFolder)
        {
            this._codelistType = codelistType;
            this._completeOrSummaryFlag = completeOrSummaryFlag;
            this._diConnection = DIConnection;
            this._diQueries = DIQueries;

            if (string.IsNullOrEmpty(language))
            {
                this.Language = this._diQueries.LanguageCode.Substring(1);
                this._multiLanguageHandlingRequired = true;
            }
            else
            {
                if (this._diConnection.IsValidDILanguage(this._diQueries.DataPrefix, language))
                {
                    this.Language = language;
                    this._multiLanguageHandlingRequired = false;
                }
                else
                {
                    this.Language = this._diQueries.LanguageCode.Substring(1);
                    this._multiLanguageHandlingRequired = false;
                }
            }
        }
Esempio n. 2
0
        private void Handle_All_Languages(CodeType Code, CodelistTypes codelistType, FilterFieldType filterField, string filterText, string nameColumn)
        {
            DataTable DtTable;
            string Query, Language;

            Query = string.Empty;

            if (this.MultiLanguageHandlingRequired)
            {
                foreach (DataRow LanguageRow in this.DIConnection.DILanguages(this.DIQueries.DataPrefix).Rows)
                {
                    Language = LanguageRow[DevInfo.Lib.DI_LibDAL.Queries.DIColumns.Language.LanguageCode].ToString();
                    if (Language != this.DIQueries.LanguageCode.Substring(1))
                    {
                        Query = this.Get_Language_Specific_Query(codelistType, filterField, filterText, Language);
                        DtTable = this.DIConnection.ExecuteDataTable(Query);
                        Add_Language_Specific_Details(Code, codelistType, DtTable, nameColumn, Language);
                    }
                }
            }
        }
Esempio n. 3
0
        private string Get_ParentID(CodelistTypes codelistType, string parentNid, string idColumn, string language)
        {
            string RetVal;
            string Query;
            DataTable DtParent;

            try
            {
                Query = this.Get_Language_Specific_Query(codelistType, FilterFieldType.NId, parentNid, language);
                DtParent = this.DIConnection.ExecuteDataTable(Query);
                if (DtParent.Rows.Count > 0)
                {
                    RetVal = DtParent.Rows[0][idColumn].ToString();
                }
                else
                {
                    RetVal = Constants.MinusOne;
                }
            }
            catch (Exception ex)
            {
                RetVal = string.Empty;
                throw ex;
            }

            return RetVal;
        }
Esempio n. 4
0
        private string Get_Language_Specific_Query(CodelistTypes codelistType, FilterFieldType filterField, string filterText, string language)
        {
            string RetVal;
            string[] IUSSplits;
            DIQueries DIQueriesLanguage;

            RetVal = string.Empty;
            if ((filterField == FilterFieldType.GId || filterField == FilterFieldType.ID) && codelistType != CodelistTypes.IUS)
            {
                filterText = Constants.Apostophe + filterText + Constants.Apostophe;
            }
            // 1. Creating language specific DIQueries object.
            DIQueriesLanguage = new DIQueries(this.DIQueries.DataPrefix, language);

            switch (codelistType)
            {
                case CodelistTypes.Area:
                    RetVal = DIQueriesLanguage.Area.GetArea(filterField, filterText);
                    break;
                case CodelistTypes.Indicator:
                    RetVal = DIQueriesLanguage.Indicators.GetIndicator(filterField, filterText, FieldSelection.Heavy);
                    break;
                case CodelistTypes.Subgroups:
                    RetVal = DIQueriesLanguage.Subgroup.GetSubgroup(filterField, filterText);
                    break;
                case CodelistTypes.SubgroupType:
                    RetVal = DIQueriesLanguage.SubgroupTypes.GetSubgroupTypes(filterField, filterText);
                    break;
                case CodelistTypes.SubgroupVal:
                    RetVal = DIQueriesLanguage.SubgroupVals.GetSubgroupVals(filterField, filterText);
                    break;
                case CodelistTypes.Unit:
                    RetVal = DIQueriesLanguage.Unit.GetUnit(filterField, filterText);
                    break;
                case CodelistTypes.IUS:
                    IUSSplits = this.SplitString(filterText, Constants.AtTheRate);
                    RetVal = DIQueriesLanguage.IUS.GetIUSNIdsByGID(IUSSplits[0], IUSSplits[1], IUSSplits[2]);
                    break;
                default:
                    break;
            }

            return RetVal;
        }
Esempio n. 5
0
        private string Get_File_Name(CodelistTypes codelistType)
        {
            string RetVal;

            RetVal = string.Empty;

            switch (codelistType)
            {
                case CodelistTypes.Area:
                    RetVal = Constants.CodeList.Area.FileName;
                    break;
                case CodelistTypes.Indicator:
                    RetVal = Constants.CodeList.Indicator.FileName;
                    break;
                case CodelistTypes.Unit:
                    RetVal = Constants.CodeList.Unit.FileName;
                    break;
                case CodelistTypes.SubgroupType:
                    RetVal = Constants.CodeList.SubgroupType.FileName;
                    break;
                case CodelistTypes.SubgroupVal:
                    RetVal = Constants.CodeList.SubgroupVal.FileName;
                    break;
                case CodelistTypes.IUS:
                    RetVal = Constants.CodeList.IUS.FileName;
                    break;
                default:
                    break;
            }

            return RetVal;
        }
Esempio n. 6
0
        private void Add_Language_Specific_Details(CodeType Code, CodelistTypes codelistType, DataTable DtTable, string nameColumn, string language)
        {
            string[] IUSSplits;

            if (DtTable.Rows.Count > 0)
            {
                if (codelistType != CodelistTypes.IUS)
                {
                    Code.Name.Add(new TextType(language, DtTable.Rows[0][nameColumn].ToString()));
                }
                else
                {
                    IUSSplits = this.SplitString(nameColumn, Constants.AtTheRate);
                    Code.Name.Add(new TextType(language, DtTable.Rows[0][IUSSplits[0]].ToString() + Constants.Dash + DtTable.Rows[0][IUSSplits[1]].ToString() + Constants.Dash + DtTable.Rows[0][IUSSplits[2]].ToString()));
                }
            }
        }
Esempio n. 7
0
        public static List<ArtefactInfo> Generate_Codelist(SDMXSchemaType schemaType, CodelistTypes codelistType, bool completeOrSummaryFlag, string agencyId, string language, Header header, string outputFolder, DIConnection DIConnection, DIQueries DIQueries)
        {
            List<ArtefactInfo> RetVal;
            CodelistUtility CodelistUtility;
            RetVal = null;
            CodelistUtility = null;

            try
            {
                if (language.Contains("_"))
                {
                    language = language.Replace("_", "");
                }
                CodelistUtility = new CodelistUtility(codelistType, completeOrSummaryFlag, agencyId, language, header, outputFolder, DIConnection, DIQueries);
                RetVal = CodelistUtility.Generate_Artefact();
                CodelistUtility.Save_Artefacts(RetVal);
            }
            catch (Exception ex)
            {
                RetVal = null;
                throw ex;
            }
            finally
            {
            }

            return RetVal;
        }