public ActionResponseDocument GetById([FromBody] ActionRequestDocument action) { _logger.LogDebug($"API:{MammutUtility.GetCurrentMethod()}"); var result = new ActionResponseDocument(); var session = _core.Session.ObtainSession(action.SessionId); try { var metaDocument = _core.Document.GetById(session, action.Path, action.Id); result.Document = MetaDocument.ToPayload(metaDocument); result.Id = metaDocument.Id; result.Success = true; } catch (Exception ex) { result.Success = false; result.Message = "Call failed with an exception: " + ex.Message; _logger.LogError(result.Message); } finally { session.CommitImplicitTransaction(); } return(result); }
/// <summary> /// Gets a document by its id. /// </summary> /// <param name="logicalSchemaPath"></param> /// <param name="documentId"></param> /// <returns></returns> public ActionResponseDocument GetById(string logicalSchemaPath, Guid documentId) { var action = new ActionRequestDocument(_client.Token.SessionId) { Path = logicalSchemaPath, Id = documentId }; return(Submit <ActionRequestDocument, ActionResponseDocument>($"{_apiBase}/GetById", action)); }
/// <summary> /// Creates a single document returns its id. /// </summary> /// <param name="logicalSchemaPath"></param> /// <param name="document"></param> /// <returns></returns> public async Task <ActionResponseDocument> CreateAsync(string logicalSchemaPath, Document document) { var action = new ActionRequestDocument(_client.Token.SessionId) { Path = logicalSchemaPath, Document = document }; return(await SubmitAsync <ActionRequestDocument, ActionResponseDocument>($"{_apiBase}/Create", action)); }
/// <summary> /// Creates a single document returns its id. /// </summary> /// <param name="logicalSchemaPath"></param> /// <param name="document"></param> /// <returns></returns> public ActionResponseId Create(string logicalSchemaPath, Document document) { var action = new ActionRequestDocument(_client.Token.SessionId) { Path = logicalSchemaPath, Document = document }; return(Submit <ActionRequestDocument, ActionResponseId>($"{_apiBase}/Create", action)); }
public async Task <ActionResponseDocument> CreateAsync(string logicalSchemaPath, object documentContent) { var document = new Document() { Content = JsonConvert.SerializeObject(documentContent) }; var action = new ActionRequestDocument(_client.Token.SessionId) { Path = logicalSchemaPath, Document = document }; return(await SubmitAsync <ActionRequestDocument, ActionResponseDocument>($"{_apiBase}/Create", action)); }