public Task <Result> Visit(LoadDocumentCommand loadDocumentCommand) { return(Task.Factory.StartNew <Result>(() => { using (var conn = new SqlConnection(_connectionString)) using (var cmd = new SqlCommand()) { conn.Open(); cmd.Connection = conn; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "dbo.LoadDocument"; if (loadDocumentCommand.Id.Actual.HasValue) { cmd.Parameters.Add(new SqlParameter("DocumentId", loadDocumentCommand.Id.Actual.Value)); } if (loadDocumentCommand.Id.Friendly != null) { cmd.Parameters.Add(new SqlParameter("FriendlyId", loadDocumentCommand.Id.Friendly)); } if (loadDocumentCommand.Id.Revision.HasValue) { cmd.Parameters.Add(new SqlParameter("Revision", loadDocumentCommand.Id.Revision)); } using (var sqlReader = cmd.ExecuteReader()) { return MapRecord(sqlReader); } } })); }
public static Task <Document> LoadDocument(this IProvider provider, DocumentIdentifier id) { var command = new LoadDocumentCommand { Id = id, }; return(provider .ExecuteCommand(command) .ContinueWith <Document>(command.HandleResult)); }
public System.Threading.Tasks.Task <Result> Visit(LoadDocumentCommand loadDocumentCommand) { return(Task.Factory.StartNew <Result>(() => { var id = loadDocumentCommand.Id; var doc = inMemoryProvider._docs.FirstOrDefault(d => d.Meta.Id == id.Actual.Value); if (doc != null) { return new DocumentResult(doc); } return new DocumentNotFoundResult(); })); }
public virtual Task <Result> Visit(LoadDocumentCommand loadDocumentCommand) { // TODO: Need to query by ID and document reference throw new NotImplementedException(); }