Пример #1
0
        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);
        }
Пример #2
0
        /// <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));
        }
Пример #3
0
        /// <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));
        }
Пример #4
0
        /// <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));
        }
Пример #5
0
        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));
        }