public void Process(PipelineItem item) { var services = item.Direction == PipelineDirection.In ? _inServices : _outServices; PipelineItem result = item; foreach (var service in services) { service.Process(result); result = service.Result; if (result.StatusResult.Status == PipelineItemStatus.Fail) { throw new PipelineException(result.StatusResult.Message); } else if (result.StatusResult.Status == PipelineItemStatus.Drop) { break; } } if (item.StatusResult.Status == PipelineItemStatus.Success) { if (result.Direction == PipelineDirection.In) { _inRequest.OnNext(item.Data as IModel); } else if (result.Direction == PipelineDirection.Out) { _outRequest.OnNext(item.Data as string); } } }
public void Process(PipelineItem item) { throw new NotImplementedException(); }