private static void ParseCellValue(EmailModels email, EmailDataParsingRulesModels dataParsingRule, int row, bool CopyRuleFromPreviousOrder) { // AddLog("ParseCellValue"); var path = SpreadsheetHelper.GetSpreadsheetPathById((long)dataParsingRule.TableId_Id); if (path != null) { var name = dataParsingRule.TableId_Id.ToString(); SpreadsheetExtension.LoadDocument(name, path); IWorkbook workbook = SpreadsheetExtension.GetCurrentDocument(name); Worksheet worksheet = workbook.Worksheets[dataParsingRule.Worksheet]; var value = BeforeParseValueFromEmail(email, dataParsingRule); if (value != null) { if (dataParsingRule.IsUpdatingRule) { if (CopyRuleFromPreviousOrder) { worksheet.Cells[row, dataParsingRule.ColumnForUpdate].CopyFrom(worksheet.Cells[row + 1, dataParsingRule.ColumnForUpdate], PasteSpecial.Formats); } worksheet.Cells[row, dataParsingRule.ColumnForUpdate].Value = value.Replace("\n", " "); } else { if (CopyRuleFromPreviousOrder) { worksheet.Cells[row, dataParsingRule.Column].CopyFrom(worksheet.Cells[row + 1, dataParsingRule.Column], PasteSpecial.Formats); } worksheet.Cells[row, dataParsingRule.Column].Value = value.Replace("\n", " "); } } workbook.SaveDocument(path); SpreadsheetExtension.CloseDocument(name); Repository<ParsedCells> parsedCellsRepository = new Repository<ParsedCells>(); var cell = new ParsedCells { Column = dataParsingRule.Column, Content = value, EmailId_Id = email.Id, TableId_Id = dataParsingRule.TableId_Id, Worksheet = dataParsingRule.Worksheet, WorksheetName = worksheet.Name }; parsedCellsRepository.Add(cell); parsedCellsRepository.Commit(); } }