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); }
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); }
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); }
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); }
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); }
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); }
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); }