public async Task <ActionResult> HandleAsync(PowerTablesData data, IResponseModifiersApplier responseModifiers) { PowerTablesData <TSourceData, TTargetData> typedData = new PowerTablesData <TSourceData, TTargetData>(data); TResponse response; if (_asynchandlerMethod != null) { response = await _asynchandlerMethod(typedData).ConfigureAwait(false); } else { response = _handlerMethod(typedData); } if (typeof(PowerTablesResponse).IsAssignableFrom(typeof(TResponse))) { responseModifiers.ApplyResponseModifiers(data, (PowerTablesResponse)(object)response); } var o = response as ActionResult; if (o != null) { return(o); } return(new JsonNetResult() { Data = response, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public ActionResult Handle(PowerTablesData data, IResponseModifiersApplier responseModifiers) { // queryable reveals here var mapped = data.Mapped.Value; PowerTablesResponse ptr = new PowerTablesResponse() { PageIndex = data.CurrentPage, ResultsCount = data.ResultsCount, Data = data.Configuration.EncodeResults(mapped), AdditionalData = new Dictionary <string, object>(), Success = false }; try { responseModifiers.ApplyResponseModifiers(data, ptr); } catch (Exception ex) { ptr.FormatException(ex); } ptr.Success = true; return(new JsonNetResult() { Data = ptr, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public ActionResult Handle(PowerTablesData data, IResponseModifiersApplier responseModifiers) { if (_handlerMethod == null) { throw new Exception("This is asynchronous command handler. Please use it with .HandleAsync, not .Handle."); } PowerTablesData <TSourceData, TTargetData> typedData = new PowerTablesData <TSourceData, TTargetData>(data); var response = _handlerMethod(typedData); if (typeof(PowerTablesResponse).IsAssignableFrom(typeof(TResponse))) { responseModifiers.ApplyResponseModifiers(data, (PowerTablesResponse)(object)response); } var o = response as ActionResult; if (o != null) { return(o); } return(new JsonNetResult() { Data = response, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }