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); }
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); }
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); }
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); }
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); }