コード例 #1
0
        public ActionResponseBase ExecuteDummy([FromBody] ActionRequestBase action)
        {
            _logger.LogDebug($"API:{MammutUtility.GetCurrentMethod()}");

            var result  = new ActionResponseBase();
            var session = _core.Session.ObtainSession(action.SessionId);

            try
            {
                _core.Query.ExecuteDummy(session);

                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
ファイル: SchemaController.cs プロジェクト: NTDLS/MammutDB
        public ActionResponseBase CreateAll([FromBody] ActionRequestSchema action)
        {
            _logger.LogDebug($"API:{MammutUtility.GetCurrentMethod()}");

            var result  = new ActionResponseBase();
            var session = _core.Session.ObtainSession(action.SessionId);

            try
            {
                var schemaInfo = _core.Schema.Parse(session, action.Path);
                var parts      = schemaInfo.FullLogicalPath.Split(':');

                StringBuilder builtSchema = new StringBuilder();

                foreach (var part in parts)
                {
                    builtSchema.Append($"{part}:");
                    _core.Schema.Create(session, builtSchema.ToString().TrimEnd(':'));
                }

                //var schemaInfo = _core.Schema.Create(session, action.Path);
                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);
        }
コード例 #3
0
        public ActionResponseBase Rollback([FromBody] ActionRequestBase action)
        {
            var session = Program.Core.Sessions.GetSession(action.SessionId);

            Thread.CurrentThread.Name = $"API:{session.InstanceKey}:{Utility.GetCurrentMethod()}";
            Program.Core.Log.Trace(Thread.CurrentThread.Name);

            ActionResponseBase result = new ActionResponseBase();

            try
            {
                Program.Core.Transactions.Rollback(session);
                result.Success = true;
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
            }

            return(result);
        }
コード例 #4
0
ファイル: DocumentController.cs プロジェクト: NTDLS/LeafSQL
        public ActionResponseBase DeleteById([FromBody] ActionGenericBase action)
        {
            var session = Program.Core.Sessions.GetSession(action.SessionId);

            Thread.CurrentThread.Name = $"API:{session.InstanceKey}:{Utility.GetCurrentMethod()}";
            Program.Core.Log.Trace(Thread.CurrentThread.Name);

            ActionResponseBase result = new ActionResponseBase();

            try
            {
                Program.Core.Documents.DeleteById(session, action.SchemaName, action.ObjectId);
                result.Success = true;
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
            }

            return(result);
        }
コード例 #5
0
        public ActionResponseBase ExecuteNonQuery([FromBody] ActionRequestExecuteNonQuery action)
        {
            var session = Program.Core.Sessions.GetSession(action.SessionId);

            Thread.CurrentThread.Name = $"API:{session.InstanceKey}:{Utility.GetCurrentMethod()}";
            Program.Core.Log.Trace(Thread.CurrentThread.Name);

            var result = new ActionResponseBase();

            try
            {
                Program.Core.Query.Execute(session, action.Statement);
                result.Success = true;
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
            }

            return(result);
        }