/// <summary>
        /// Helper method for creating a list of ktExaminedGroup 
        /// from an Excel worksheet.
        /// </summary>
        public bool LoadktResourceTranslation(Worksheet worksheet,
          SharedStringTable sharedString)
        {
            Result = new List<ktResourceTranslation>();
            //LINQ query to skip first row with column names.
            Row columnRow =
               (from row in worksheet.Descendants<Row>()
            where row.RowIndex == 1
            select row).First();

            IEnumerable<String> headerValues =
                    from cell in columnRow.Descendants<Cell>()
                    where cell.CellValue != null
                    select
                        (cell.DataType != null
                         && cell.DataType.HasValue
                         && cell.DataType == CellValues.SharedString
                            ? sharedString.ChildElements[
                                int.Parse(cell.CellValue.InnerText)].InnerText
                            : cell.CellValue.InnerText);

            foreach (string header in headerValues)
            {
                ColumnNames.Add(header);
            }

            if (CheckColumnNames(ColumnNames))
            {

                IEnumerable<Row> dataRows =
                  from row in worksheet.Descendants<Row>()
                  where row.RowIndex > 1
                  select row;
                if (CheckDataInSheets(dataRows))
                {

                    foreach (Row row in dataRows)
                    {
                        //LINQ query to return the row's cell values.
                        //Where clause filters out any cells that do not contain a value.
                        //Select returns the value of a cell unless the cell contains
                        //  a Shared String.
                        //If the cell contains a Shared String, its value will be a
                        //  reference id which will be used to look up the value in the
                        //  Shared String table.
                        //IEnumerable<String> textValues =
                        //  from cell in row.Descendants<Cell>()
                        //  where cell.CellValue != null
                        //  select
                        //    (cell.DataType != null
                        //      && cell.DataType.HasValue
                        //      && cell.DataType == CellValues.SharedString
                        //    ? sharedString.ChildElements[
                        //      int.Parse(cell.CellValue.InnerText)].InnerText
                        //    : cell.CellValue.InnerText)
                        //  ;

                        IEnumerable<String> textValues =
              from cell in row.Descendants<Cell>()
              where cell.CellValue != null
              select
            (cell.DataType != null
              && cell.DataType.HasValue
              && cell.DataType == CellValues.SharedString
            ? sharedString.ChildElements[
              int.Parse(cell.CellValue.InnerText)].InnerText
            : cell.CellValue.InnerText)
              ;

                        //Check to verify the row contained data.
                        if (textValues.Count() > 0)
                        {
                            //Create a ktExaminedGroup and add it to the list.
                            //var textArray = textValues.ToArray();
                            //ktUIDesign design = new ktUIDesign();
                            //design.DesignID = Int32.Parse(textArray[0]);
                            //design.DatabaseTableName = textArray[1];
                            //design.DatabaseFieldName = textArray[2];
                            //design.CodeTableName = textArray[3];
                            //design.ResxID = textArray[4];
                            //design.ReadOnlyPolicy = Int32.Parse(textArray[5]);
                            //design.InputDataType = Int32.Parse(textArray[6]);
                            //design.MortyParameter = Int32.Parse(textArray[7]);
                            //design.RequiredID = Int32.Parse(textArray[8]);
                            //design.GUIUnitShortName = textArray[9];
                            //design.DatabaseUnitName = textArray[10];
                            //design.LabkaUnitName = textArray[11];
                            //design.DatabaseToUIConversion = textArray[12];
                            //design.DefaultValue = textArray[13];
                            //design.NormalRangeMinimum = Int32.Parse(textArray[14]);
                            //design.NormalRangeMaximum = Int32.Parse(textArray[15]);
                            //design.CopyEncounter = Int32.Parse(textArray[16]);
                            //design.CopyEpisode = Int32.Parse(textArray[17]);
                            //design.DataQualityScore = Int32.Parse(textArray[18]);
                            //design.CopyFinalEncounter = Int32.Parse(textArray[19]);
                            //result.Add(design);
                            if (textValues.Count() == 3)
                            {
                                var textArray = textValues.ToArray();
                                ktResourceTranslation resourceTranslation = new ktResourceTranslation();
                                resourceTranslation.LanguageID = textArray[0];
                                resourceTranslation.ResourceID = textArray[1];
                                resourceTranslation.TranslationText = textArray[2];
                                Result.Add(resourceTranslation);
                            }
                            else
                            {
                                var textArray = textValues.ToArray();
                                ktResourceTranslation resourceTranslation = new ktResourceTranslation();
                                resourceTranslation.LanguageID = textArray[0];
                                resourceTranslation.ResourceID = textArray[1];
                                resourceTranslation.TranslationText = "";
                                Result.Add(resourceTranslation);
                            }
                        }
                        else
                        {
                            //If no cells, then you have reached the end of the table.
                            break;
                        }
                    }
                }
                else
                {
                    return false;
                }
                return true;
            }
            return false;
        }
示例#2
0
        /// <summary>
        /// Helper method for creating a list of ktExaminedGroup
        /// from an Excel worksheet.
        /// </summary>
        public bool LoadktResourceTranslation(Worksheet worksheet,
                                              SharedStringTable sharedString)
        {
            Result = new List <ktResourceTranslation>();
            //LINQ query to skip first row with column names.
            Row columnRow =
                (from row in worksheet.Descendants <Row>()
                 where row.RowIndex == 1
                 select row).First();

            IEnumerable <String> headerValues =
                from cell in columnRow.Descendants <Cell>()
                where cell.CellValue != null
                select
                    (cell.DataType != null &&
                    cell.DataType.HasValue &&
                    cell.DataType == CellValues.SharedString
                    ?sharedString.ChildElements[
                        int.Parse(cell.CellValue.InnerText)].InnerText
                    : cell.CellValue.InnerText);

            foreach (string header in headerValues)
            {
                ColumnNames.Add(header);
            }

            if (CheckColumnNames(ColumnNames))
            {
                IEnumerable <Row> dataRows =
                    from row in worksheet.Descendants <Row>()
                    where row.RowIndex > 1
                    select row;
                if (CheckDataInSheets(dataRows))
                {
                    foreach (Row row in dataRows)
                    {
                        //LINQ query to return the row's cell values.
                        //Where clause filters out any cells that do not contain a value.
                        //Select returns the value of a cell unless the cell contains
                        //  a Shared String.
                        //If the cell contains a Shared String, its value will be a
                        //  reference id which will be used to look up the value in the
                        //  Shared String table.
                        //IEnumerable<String> textValues =
                        //  from cell in row.Descendants<Cell>()
                        //  where cell.CellValue != null
                        //  select
                        //    (cell.DataType != null
                        //      && cell.DataType.HasValue
                        //      && cell.DataType == CellValues.SharedString
                        //    ? sharedString.ChildElements[
                        //      int.Parse(cell.CellValue.InnerText)].InnerText
                        //    : cell.CellValue.InnerText)
                        //  ;

                        IEnumerable <String> textValues =
                            from cell in row.Descendants <Cell>()
                            where cell.CellValue != null
                            select
                                (cell.DataType != null &&
                                cell.DataType.HasValue &&
                                cell.DataType == CellValues.SharedString
                                ?sharedString.ChildElements[
                                    int.Parse(cell.CellValue.InnerText)].InnerText
                                : cell.CellValue.InnerText)
                        ;

                        //Check to verify the row contained data.
                        if (textValues.Count() > 0)
                        {
                            //Create a ktExaminedGroup and add it to the list.
                            //var textArray = textValues.ToArray();
                            //ktUIDesign design = new ktUIDesign();
                            //design.DesignID = Int32.Parse(textArray[0]);
                            //design.DatabaseTableName = textArray[1];
                            //design.DatabaseFieldName = textArray[2];
                            //design.CodeTableName = textArray[3];
                            //design.ResxID = textArray[4];
                            //design.ReadOnlyPolicy = Int32.Parse(textArray[5]);
                            //design.InputDataType = Int32.Parse(textArray[6]);
                            //design.MortyParameter = Int32.Parse(textArray[7]);
                            //design.RequiredID = Int32.Parse(textArray[8]);
                            //design.GUIUnitShortName = textArray[9];
                            //design.DatabaseUnitName = textArray[10];
                            //design.LabkaUnitName = textArray[11];
                            //design.DatabaseToUIConversion = textArray[12];
                            //design.DefaultValue = textArray[13];
                            //design.NormalRangeMinimum = Int32.Parse(textArray[14]);
                            //design.NormalRangeMaximum = Int32.Parse(textArray[15]);
                            //design.CopyEncounter = Int32.Parse(textArray[16]);
                            //design.CopyEpisode = Int32.Parse(textArray[17]);
                            //design.DataQualityScore = Int32.Parse(textArray[18]);
                            //design.CopyFinalEncounter = Int32.Parse(textArray[19]);
                            //result.Add(design);
                            if (textValues.Count() == 3)
                            {
                                var textArray = textValues.ToArray();
                                ktResourceTranslation resourceTranslation = new ktResourceTranslation();
                                resourceTranslation.LanguageID      = textArray[0];
                                resourceTranslation.ResourceID      = textArray[1];
                                resourceTranslation.TranslationText = textArray[2];
                                Result.Add(resourceTranslation);
                            }
                            else
                            {
                                var textArray = textValues.ToArray();
                                ktResourceTranslation resourceTranslation = new ktResourceTranslation();
                                resourceTranslation.LanguageID      = textArray[0];
                                resourceTranslation.ResourceID      = textArray[1];
                                resourceTranslation.TranslationText = "";
                                Result.Add(resourceTranslation);
                            }
                        }
                        else
                        {
                            //If no cells, then you have reached the end of the table.
                            break;
                        }
                    }
                }
                else
                {
                    return(false);
                }
                return(true);
            }
            return(false);
        }