예제 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DBRepository"/> class.
 /// </summary>
 /// <param name="conn">Connection string</param>
 /// <param name="connFac">Connection factory</param>
 /// <param name="executeWrapper">Execute Wrapper</param>
 public DBRepository(string conn, Func <string, IDbConnection> connFac, IExecuteWrapper executeWrapper = null)
 {
     this.connectionFactory = connFac;
     this.connectionString  = conn;
     if (executeWrapper == null)
     {
         this.executeWrapper = new ExecuteWrapper();
     }
     else
     {
         this.executeWrapper = executeWrapper;
     }
 }
예제 #2
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="DebugEngineProxy" /> class.
 /// </summary>
 /// <param name="control">The control.</param>
 /// <param name="client">The client.</param>
 /// <param name="registers">The registers.</param>
 /// <param name="systemObjects">The system objects.</param>
 /// <param name="debugDataSpaces">The debug data spaces.</param>
 public DebugEngineProxy(IDebugControl6 control, IDebugClient5 client, IDebugRegisters2 registers,
     IDebugSystemObjects systemObjects, IDebugDataSpaces debugDataSpaces, IExecuteWrapper executeWrapper)
 {
     Control = control;
     Client = client;
     Registers = registers;
     Dataspaces = debugDataSpaces;
     ExecuteWrapper = executeWrapper;
     RegisterEngine = new RegisterEngine(); // todo: inject
     MemoryEngine = new MemoryEngine();
     SystemObjects = systemObjects;
     Is32Bit =
         Regex.Match(ExecuteWrapper.Execute("!peb"), @"PEB at (?<peb>[a-fA-F0-9]+)").Groups["peb"].Value
             .Length == 8;
 }
예제 #3
0
        public APIResponse(IExecuteWrapper <T> executeWrapper)
        {
            if (executeWrapper.IsSuccess)
            {
                StatusCode = (int)HttpStatusCode.OK;
                Data       = executeWrapper?.Result;
                return;
            }

            if (executeWrapper == null || (executeWrapper?.Error != null && !executeWrapper.Error.IsValid && executeWrapper.Error.ValidationErrors != null))
            {
                StatusCode = (int)HttpStatusCode.BadRequest;
                Error      = executeWrapper.Error;
                return;
            }

            if (executeWrapper?.Error != null)
            {
                StatusCode = (int)HttpStatusCode.InternalServerError;
                Error      = executeWrapper?.Error;
            }
        }
예제 #4
0
 public IActionResult HandleResponse <T>(IExecuteWrapper <T> result) where T : class
 {
     return(this.ExecuteStandardResponse(result));
 }
        public static IActionResult ExecuteStandardResponse <T>(this Microsoft.AspNetCore.Mvc.Controller controller, IExecuteWrapper <T> result) where T  : class
        {
            var apiResponse = new APIResponse <T>(result);

            //Use Extension Method to set a statusCode as well as an object
            return(controller.StatusCode(apiResponse.StatusCode, apiResponse));
        }
예제 #6
0
        public static IActionResult ExecuteStandardResponse <T>(this Microsoft.AspNetCore.Mvc.Controller controller, IExecuteWrapper <T> result) where T  : class
        {
            var apiResponse = new APIResponse <T>(result);

            return(controller.StatusCode(apiResponse.StatusCode, apiResponse));
        }