public async Task <RowState> ParseRowData(int rowIndex, string rowText, StringBuilder registrationStringBuilder, StringBuilder propDescriptionStringBuilder, StringBuilder dateOfLeaseStringBuilder, StringBuilder lesseesStringBuilder, StringBuilder noteStringBuilder, RowState lastRowState) { try { var columnSpaceMatches = Regex.Matches(rowText, @"\s\s+"); var columnText = rowText.Split(" ", StringSplitOptions.RemoveEmptyEntries) .Where(p => !string.IsNullOrWhiteSpace(p)) .ToArray(); var rowTextEndsWithSpacing = Regex.IsMatch(rowText, @"\s\s+$"); if (rowIndex == 0) { ParseFirstRow(columnText, registrationStringBuilder, propDescriptionStringBuilder, dateOfLeaseStringBuilder, lesseesStringBuilder); return(RowState.Standard); } else { return(ParseIntermediateRow(columnSpaceMatches, columnText, registrationStringBuilder, propDescriptionStringBuilder, dateOfLeaseStringBuilder, lesseesStringBuilder, noteStringBuilder, lastRowState, rowTextEndsWithSpacing)); } } catch (Exception ex) { logger.LogException(ex, "Failure whilst parsing Entry Text Items, potential unsupported string format"); throw ex; } }
public async override Task HandleAsync(ExceptionHandlerContext context, CancellationToken cancellationToken) { var exception = context.Exception; _logger.LogException(exception); var mappedException = await context.MapException(); string errorMessage = exception.Message; var response = context.Request.CreateResponse(mappedException, new { Message = errorMessage }); response.Headers.Add("X-Error", errorMessage.Replace(Environment.NewLine, "")); context.Result = new ResponseMessageResult(response); }
public override void OnException(ExceptionContext context) { _logger.LogException(context.Exception); }