public object Evaluate(SpreadsheetProcessor processor) { var result = processor.GetCellValue(Address); var exception = result as Exception; if (exception != null) throw exception; return result; }
/// <summary> /// Get loanbook data /// </summary> /// <param name="ct"></param> /// <returns></returns> public async Task <IEnumerable <LoanbookItem> > GetLoanbookAsync(CancellationToken ct = default) { var file = await ZonkyApi.GetLoanbookFileAddressAsync().ConfigureAwait(false); var processor = new SpreadsheetProcessor <LoanbookItem>(); return(await ZonkyApi.GetLoanbookAsync(file, processor, ct).ConfigureAwait(false)); }
public void GetLoanbookOk() { var file = _zonkyApi.GetLoanbookFileAddressAsync().GetAwaiter().GetResult(); var processor = new SpreadsheetProcessor <LoanbookItem>(); var data = _zonkyApi.GetLoanbookAsync(file, processor).GetAwaiter().GetResult(); Assert.IsNotNull(data); Assert.IsTrue(data.Any()); }
public object Evaluate(SpreadsheetProcessor processor) { var result = processor.GetCellValue(Address); var exception = result as Exception; if (exception != null) { throw exception; } return(result); }
public object Evaluate(SpreadsheetProcessor processor) { try { return(Expression.Evaluate(processor)); } catch (SpreadsheetException exception) { throw SpreadsheetException.AddCellAddressToErrorStack(exception, Address); } catch (Exception exception) { throw SpreadsheetException.AddCellAddressToErrorStack(new ExpressionEvaluationException(exception.Message, exception), Address); } }
static void Main(string[] args) { var isConsoleInput = args.Length < 1; var isConsoleOutput = args.Length < 2; try { var input = isConsoleInput ? Console.OpenStandardInput() : File.Open(args[0], FileMode.Open); var output = isConsoleOutput ? Console.OpenStandardOutput() : File.Create(args[1]); using (var reader = new SpreadsheetReader(input)) { Console.WriteLine(isConsoleInput ? Resources.EnterTable : Resources.ReadingTable); var spreadsheet = reader.ReadSpreadsheet(); Console.WriteLine(Resources.Processing); var processor = new SpreadsheetProcessor(spreadsheet); var result = processor.Evaluate(new ParallelProcessingStrategy()); Console.WriteLine(isConsoleOutput ? Resources.ResultTable : Resources.WritingResult); using (var write = new SpreadsheetWriter(output)) { write.WriteSpreedsheat(result); } } } catch (Exception exception) { Console.WriteLine(exception.Message); } if (isConsoleOutput) { Console.Write(Resources.PressAnyKeyForExit); Console.ReadKey(); } }
public object Evaluate(SpreadsheetProcessor processor) => Value;
public object Evaluate(SpreadsheetProcessor processor) => Value;
public object Evaluate(SpreadsheetProcessor processor) { return Operation.UnaryOperation(Value.Evaluate(processor)); }
public object Evaluate(SpreadsheetProcessor processor) { return(Operation.BinaryOperation(Left.Evaluate(processor), Right.Evaluate(processor))); }
public object Evaluate(SpreadsheetProcessor processor) { return(Operation.UnaryOperation(Value.Evaluate(processor))); }
/// <summary> /// Get loanbook data /// </summary> /// <param name="loanbookFileUrl"></param> /// <param name="processor"></param> /// <param name="ct"></param> /// <returns></returns> public async Task <IEnumerable <LoanbookItem> > GetLoanbookAsync(Uri loanbookFileUrl, SpreadsheetProcessor <LoanbookItem> processor, CancellationToken ct = default) { using (var loanbookFile = await _httpClient.GetStreamAsync(loanbookFileUrl).ConfigureAwait(false)) using (var memoryStream = new MemoryStream()) { await loanbookFile.CopyToAsync(memoryStream).ConfigureAwait(false); memoryStream.Position = 0; var workbook = new XSSFWorkbook(memoryStream); return(processor.ProcessWorkbook(workbook)); } }
public object Evaluate(SpreadsheetProcessor processor) { return Operation.BinaryOperation(Left.Evaluate(processor), Right.Evaluate(processor)); }
public IEnumerable <CellAddress> GetDependencies(SpreadsheetProcessor processor) { throw new NotImplementedException(); }
public object Evaluate(SpreadsheetProcessor processor) { EvaluateCallCount++; Processor = processor; return(_expression()); }