예제 #1
0
        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);
        }