Ejemplo n.º 1
0
        public IDataResult <ExcelConfiguration> GeneratExcelConfig(ExcelWorksheet excelWorksheet)
        {
            IDataResult <ExcelConfiguration> dataResult =
                new DataResult <ExcelConfiguration>();
            ExcelConfiguration excelConfiguration = new ExcelConfiguration();

            excelConfiguration.DataColumn = new DataColumn();
            IExcelWorksheetEntity tmpEntity = new ExcelWorksheetEntity();

            tmpEntity.ExcelWorksheet = excelWorksheet;
            tmpEntity.RowNo          = _excelConfiguration.DataRowIndex.Title;

            List <IDataResult <Data> > dataResults = new List <IDataResult <Data> >();

            int endColumn = excelWorksheet.Dimension.End.Column;

            StringBuilder messegeBuilder = new StringBuilder();

            foreach (var data in _excelConfiguration.DataColumn.Datas)
            {
                IDataResult <Data> tmResultHelper = HelperGenerat(data, tmpEntity, endColumn);

                if (!tmResultHelper.Success)
                {
                    messegeBuilder.Append(data.Name + MessageHolder.GetErrorMessage(MessageType.Space));
                }
                dataResults.Add(tmResultHelper);
            }
            excelConfiguration.DataColumn.Datas = dataResults.Select(p => p.Data).ToList();

            if (dataResults.Any(p => p.Success == false))
            {
                dataResult.Success = false;
                dataResult.Message = MessageHolder.
                                     GetErrorMessage(MessageType.NotIsTitle) +
                                     MessageHolder.GetErrorMessage(MessageType.Space)
                                     + messegeBuilder +
                                     MessageHolder.GetErrorMessage(MessageType.BackBracket);

                return(dataResult);
            }

            excelConfiguration.DataRowIndex      = _excelConfiguration.DataRowIndex;
            excelConfiguration.NameColumnSection = _excelConfiguration.NameColumnSection;
            dataResult.Data    = excelConfiguration;
            dataResult.Success = true;

            return(dataResult);
        }
Ejemplo n.º 2
0
        public IDataResult <IRowItem> RowParser
            (ExcelWorksheet excelWorksheet, int row, ExcelConfiguration excelConfiguration)
        {
            IDataResult <IRowItem> dataResult =
                new DataResult <IRowItem>()
            {
                Success = false
            };
            IRowItem rowItem = new RowItem();

            List <IColumnItem> columnItems = new List <IColumnItem>();
            int end = excelWorksheet.Dimension.End.Column;

            for (int j = excelWorksheet.Dimension.Start.Column;
                 j <= end;
                 j++)
            {
                IExcelWorksheetEntity tmpEntity = new ExcelWorksheetEntity();
                tmpEntity.CellNo         = j;
                tmpEntity.RowNo          = row;
                tmpEntity.ExcelWorksheet = excelWorksheet;

                IExcelWorksheetEntity titleEntity = new ExcelWorksheetEntity();
                titleEntity.RowNo          = excelConfiguration.DataRowIndex.Title;
                titleEntity.CellNo         = j;
                titleEntity.ExcelWorksheet = excelWorksheet;

                IDataResult <string> nametitleResilt = _readExcelData.GetValue(titleEntity);

                if (!nametitleResilt.Success)
                {
                    break;
                }
                IDataResult <IColumnItem> getDataResult =
                    ColumnParser(tmpEntity, excelConfiguration);
                dataResult.Message += getDataResult.Message;

                if (getDataResult.Success)
                {
                    columnItems.Add(getDataResult.Data);
                }
            }

            rowItem.ColumnItems = columnItems;
            dataResult.Data     = rowItem;
            dataResult.Success  = true;

            return(dataResult);
        }
Ejemplo n.º 3
0
        public IDataResult <List <IColumnItem> > GetCulumnTitleItem
            (ExcelWorksheet sheet, ExcelConfiguration excelConfiguration)
        {
            IDataResult <List <IColumnItem> > columnsResult =
                new DataResult <List <IColumnItem> >()
            {
                Success = true
            };
            List <IColumnItem> columnItems = new List <IColumnItem>();

            int start = sheet.Dimension.Start.Column;
            int end   = sheet.Dimension.Columns;
            int row   = excelConfiguration.DataRowIndex.Title;
            IExcelWorksheetEntity entity = new ExcelWorksheetEntity();

            entity.ExcelWorksheet = sheet;
            entity.RowNo          = row;

            for (int i = start; i < end; i++)
            {
                entity.CellNo = i;
                IDataResult <string> nametitleResilt = _readExcelData.GetValue(entity);

                if (!nametitleResilt.Success)
                {
                    break;
                }

                IColumnItem column = new ColumnItem();
                column.BaseEntity       = new BaseEntity();
                column.BaseEntity.Value = nametitleResilt.Data;
                column.ColumNumber      = i;
                column.ColumnType       = ColumnType.None;
                columnItems.Add(column);
            }

            columnsResult.Data = columnItems;

            return(columnsResult);
        }
Ejemplo n.º 4
0
        public IResult GetExcelConfig(ExcelWorksheet excelWorksheet)
        {
            IResult result = new Result()
            {
                Success = false
            };
            List <IResult> results = new List <IResult>();

            IExcelWorksheetEntity tmpEntity = new ExcelWorksheetEntity();

            tmpEntity.ExcelWorksheet = excelWorksheet;
            tmpEntity.RowNo          = _excelConfiguration.DataRowIndex.Title;

            foreach (var data in _excelConfiguration.DataColumn.Datas)
            {
                tmpEntity.CellNo = data.Nomer;
                results.Add(HelpGetConfig(data, tmpEntity));
            }

            result.Success = results.All(p => p.Success);

            return(result);
        }
Ejemplo n.º 5
0
        public IDataResult <IRowItem> RowParser
            (ExcelWorksheet excelWorksheet, int row, ExcelConfiguration excelConfiguration)
        {
            IDataResult <IRowItem> dataResult =
                new DataResult <IRowItem>()
            {
                Success = false
            };
            IRowItem      rowItem = new RowItem();
            IRowItemError error   = new RowItemError();

            List <IColumnItem> columnItems = new List <IColumnItem>();
            List <IDataResult <IColumnItem> > errorColumnItems = new List <IDataResult <IColumnItem> >();
            int start = excelWorksheet.Dimension.Start.Column;
            int end   = excelWorksheet.Dimension.Columns;

            for (int j = start; j < end; j++)
            {
                IExcelWorksheetEntity tmpEntity = new ExcelWorksheetEntity();
                tmpEntity.CellNo = j;
                tmpEntity.RowNo  = row;
                //
                IExcelWorksheetEntity titleEntity = new ExcelWorksheetEntity();
                titleEntity.RowNo          = excelConfiguration.DataRowIndex.Title;
                titleEntity.CellNo         = j;
                titleEntity.ExcelWorksheet = excelWorksheet;

                IDataResult <string> nametitleResilt = _readExcelData.GetValue(titleEntity);

                if (!nametitleResilt.Success)
                {
                    break;
                }
                tmpEntity.ExcelWorksheet = excelWorksheet;

                IDataResult <IColumnItem> getDataResult =
                    ColumnParser(tmpEntity, excelConfiguration);

                dataResult.Message += getDataResult.Message;

                if (getDataResult.Success)
                {
                    if (!string.IsNullOrEmpty(getDataResult.Message))
                    {
                        getDataResult.Success = false;
                        errorColumnItems.Add(getDataResult);
                    }
                    else
                    {
                        columnItems.Add(getDataResult.Data);
                    }
                }
                else
                {
                    errorColumnItems.Add(getDataResult);
                }
            }
            error.ListColums  = errorColumnItems;
            error.ColumnItems = columnItems;
            if (errorColumnItems.Any())
            {
                dataResult.Data    = error;
                dataResult.Success = false;

                return(dataResult);
            }

            rowItem.ColumnItems = columnItems;
            dataResult.Data     = rowItem;
            dataResult.Success  = true;

            return(dataResult);
        }
Ejemplo n.º 6
0
        public IDataResult <IColumnItem> ColumnParser
            (IExcelWorksheetEntity excelWorksheet, ExcelConfiguration excelConfiguration)
        {
            IDataResult <IColumnItem> dataResult =
                new DataResult <IColumnItem>()
            {
                Success = false
            };

            IColumnItem          columnItem  = new ColumnItem();
            int                  column      = excelWorksheet.CellNo;
            IDataResult <string> resultValue = _readExcelData.GetValue(excelWorksheet);
            int                  nomertitle  = excelConfiguration.DataRowIndex.Title;

            IExcelWorksheetEntity tmpExcel = new ExcelWorksheetEntity();

            tmpExcel.RowNo          = nomertitle;
            tmpExcel.ExcelWorksheet = excelWorksheet.ExcelWorksheet;
            tmpExcel.CellNo         = column;
            string nameTitle         = _readExcelData.GetValue(tmpExcel).Data;
            string configNameSection = excelConfiguration.DataColumn.Datas
                                       .FirstOrDefault(p => p.ColumnType == (int)ColumnType.Section)?.Name;

            configNameSection     = _dataNormalization.NormalizeString(configNameSection).Data;
            columnItem.BaseEntity = new BaseEntity();
            bool isResult = false;

            foreach (var data in excelConfiguration.DataColumn.Datas)
            {
                if (column == data.Nomer)
                {
                    if (!resultValue.Success)
                    {
                        if (data.MustExist)
                        {
                            dataResult.Message += resultValue.Message;
                        }
                    }

                    columnItem.ColumnType = (ColumnType)data.ColumnType;
                    columnItem.BaseEntity = GetBaseEntity
                                                (excelWorksheet, resultValue.Data, column, excelConfiguration);
                    isResult = true;
                }
            }
            if (!isResult)
            {
                nameTitle = _dataNormalization.NormalizeString(nameTitle).Data;


                if (nameTitle == null)
                {
                    //TODO
                    dataResult.Success = true;

                    return(dataResult);
                }

                if (nameTitle.Contains(configNameSection))
                {
                    columnItem.ColumnType = ColumnType.SectionTransfer;
                    nameTitle             = nameTitle.Replace(configNameSection, string.Empty);
                }
                else
                {
                    columnItem.ColumnType = ColumnType.WorldSection;
                }
                dataResult.Message += resultValue.Message;
                string language = LanguageHolder.GetISOCodes(nameTitle, _dataNormalization);

                ITranslationEntity entity = new TranslationEntity();
                entity.Language       = language;
                entity.Value          = resultValue.Data;
                columnItem.BaseEntity = entity;
            }

            columnItem.ColumNumber = column;
            dataResult.Data        = columnItem;
            dataResult.Success     = true;


            return(dataResult);
        }
Ejemplo n.º 7
0
        public IDataResult <IColumnItem> ColumnParser
            (IExcelWorksheetEntity worksheetEntity, ExcelConfiguration excelConfiguration)
        {
            IDataResult <IColumnItem> dataResult =
                new DataResult <IColumnItem>()
            {
                Success = false
            };

            IColumnItem          columnItem  = new ColumnItem();
            int                  column      = worksheetEntity.CellNo;
            IDataResult <string> resultValue = _readExcelData.GetValue(worksheetEntity);
            int                  nomertitle  = excelConfiguration.DataRowIndex.Title;

            if (!resultValue.Success)
            {
                dataResult.Message = resultValue.Message;
            }

            IExcelWorksheetEntity tmpExcel = new ExcelWorksheetEntity();

            tmpExcel.RowNo          = nomertitle;
            tmpExcel.ExcelWorksheet = worksheetEntity.ExcelWorksheet;
            tmpExcel.CellNo         = column;

            IDataResult <string> resultNameTitle = _readExcelData.GetValue(tmpExcel);

            if (!resultNameTitle.Success)
            {
                dataResult.Message = MessageHolder.GetErrorMessage(MessageType.NotNameTitle);
            }

            string nameTitle = resultNameTitle.Data;

            nameTitle = _dataNormalization.NormalizeString(nameTitle).Data;

            string titleConfig = excelConfiguration.DataColumn.Datas?
                                 .FirstOrDefault(p => p.ColumnType == (int)ColumnType.Section)?.Name;

            titleConfig = _dataNormalization.NormalizeString(titleConfig).Data;
            ITranslationEntity translationEntity = new TranslationEntity();

            translationEntity.Value = resultValue.Data;
            string mainLanguage = excelConfiguration.NameColumnSection.MainLanguage;

            mainLanguage = _dataNormalization.NormalizeString(mainLanguage).Data;
            string excelLanguage = null;

            if (titleConfig != null)
            {
                excelLanguage = nameTitle.Replace(titleConfig, string.Empty);
            }


            if (nameTitle.Equals(titleConfig) || (excelLanguage != null && excelLanguage.Equals(mainLanguage)))
            {
                columnItem.ColumnType      = ColumnType.Section;
                translationEntity.Language =
                    LanguageHolder.GetISOCodes(mainLanguage, _dataNormalization);

                if (!resultValue.Success)
                {
                    dataResult.Message = resultValue.Message;

                    return(dataResult);
                }

                columnItem.BaseEntity = translationEntity;
            }
            else
            {
                columnItem.ColumnType = ColumnType.SectionTransfer;

                translationEntity.Language =
                    LanguageHolder.GetISOCodes(excelLanguage, _dataNormalization);

                if (!resultValue.Success)
                {
                    dataResult.Message = resultValue.Message;

                    return(dataResult);
                }

                columnItem.BaseEntity = translationEntity;
            }

            dataResult.Data    = columnItem;
            dataResult.Success = true;

            return(dataResult);
        }