public async Task <object> ManageReport(ResolveFieldContext <object> context, ReportOperations operation) { try { object report = null; switch (operation) { case ReportOperations.AddReport: var reportAdd = context.GetArgument <Domain.DomainModel.Report>("reportAdd"); report = await _reportDriver.AddReport(reportAdd); break; case ReportOperations.AddReports: var reportAdds = context.GetArgument <List <Domain.DomainModel.Report> >("reportAdd"); report = await _reportDriver.AddReports(reportAdds); break; } return(report); } catch (ExecutionError ex) { context.Errors.Add(new ExecutionError(ex.Message)); } catch (AggregateException ex) { context.Errors.Add(new ExecutionError(ex.Message)); } catch (Exception ex) { context.Errors.Add(new ExecutionError(ex.Message)); } return(null); }