예제 #1
0
        public ActionResult AddReport(string report, string url, string type)
        {
            var m = new CustomReportsModel(CurrentDatabase);

            try
            {
                var dest = m.AddReport(report, url, type);
                return(PageMessage($"Report Added to {dest}", "Report Added", "success"));
            }
            catch (Exception ex)
            {
                return(PageMessage(ex.Message));
            }
        }
예제 #2
0
        public ActionResult EditCustomReport(int?orgId, string report, Guid queryId)
        {
            var modelstate = TempDataModelState;

            if (modelstate != null)
            {
                ModelState.Merge(modelstate);
            }

            var m  = new CustomReportsModel(CurrentDatabase, report, queryId, orgId);
            var vm = m.EditCustomReport(TempDataCustomReport, TempDataSaved);

            return(View(vm));
        }
예제 #3
0
        public JsonResult DeleteCustomReport(string report)
        {
            if (string.IsNullOrEmpty(report))
            {
                return(new JsonResult {
                    Data = "Report name is required."
                });
            }

            var m = new CustomReportsModel(CurrentDatabase);

            m.DeleteReport(report);

            return(new JsonResult {
                Data = "success"
            });
        }
예제 #4
0
        public JsonResult DeleteCustomReport(int?orgId, string reportName)
        {
            if (string.IsNullOrEmpty(reportName))
            {
                return new JsonResult {
                           Data = "Report name is required."
                }
            }
            ;

            var m = new CustomReportsModel(DbUtil.Db, orgId);

            m.DeleteReport(reportName);

            return(new JsonResult {
                Data = "success"
            });
        }
예제 #5
0
 public ActionResult CustomColumns(int?orgid)
 {
     try
     {
         Response.ContentType = "text/plain";
         var m = new CustomReportsModel(DbUtil.Db, orgid);
         var s = m.StandardColumns(includeRoot: false).ToString();
         foreach (var line in s.SplitLines())
         {
             Response.Write("  {0}\n".Fmt(line));
         }
         Response.Write("\n");
         return(new EmptyResult());
     }
     catch (Exception ex)
     {
         return(Message(ex.Message));
     }
 }
예제 #6
0
        public ActionResult EditCustomReport(CustomReportViewModel viewModel)
        {
            if (!viewModel.Columns.Any(c => c.IsSelected))
            {
                ModelState.AddModelError("Columns", "At least one column must be selected.");
            }

            if (ModelState.IsValid)
            {
                viewModel.ReportName = SecurityElement.Escape(viewModel.ReportName.Trim());

                var m      = new CustomReportsModel(DbUtil.Db, viewModel.OrgId);
                var result = m.SaveReport(viewModel.OriginalReportName, viewModel.ReportName,
                                          viewModel.Columns.Where(c => c.IsSelected), viewModel.RestrictToThisOrg);

                switch (result)
                {
                case CustomReportsModel.SaveReportStatus.ReportAlreadyExists:
                    ModelState.AddModelError("ReportName", "A report by this name already exists.");
                    break;

                default:
                    TempData[TempDataSuccessfulSaved] = true;
                    break;
                }
            }

            if (!ModelState.IsValid)
            {
                TempData[TempDataModelStateKey]   = ModelState;
                TempData[TempDataCustomReportKey] = viewModel;
                return(RedirectToAction("EditCustomReport", new { reportName = viewModel.OriginalReportName, orgId = viewModel.OrgId, queryId = viewModel.QueryId }));
            }

            return(RedirectToAction("EditCustomReport", new { reportName = viewModel.ReportName, orgId = viewModel.OrgId, queryId = viewModel.QueryId }));
        }
예제 #7
0
        public ActionResult CustomReportExcel(Guid id, string report)
        {
            var m = new CustomReportsModel(DbUtil.Db, report, id);

            return(m.Result());
        }
예제 #8
0
        public ActionResult CustomReport(Guid id, string report)
        {
            var m = new CustomReportsModel(DbUtil.Db, report, id);

            return(View(m));
        }
예제 #9
0
        public ActionResult CustomReport(Guid id, string report)
        {
            var m = new CustomReportsModel(DbUtil.Db);

            return(m.Result(id, report));
        }
예제 #10
0
        private static IEnumerable <CustomReportColumn> GetAllStandardColumns(CustomReportsModel model)
        {
            var reportXml = model.StandardColumns();

            return(MapXmlToCustomReportColumn(reportXml));
        }
예제 #11
0
        public ActionResult CustomReportExcel(Guid id, string report)
        {
            var m = new CustomReportsModel(CurrentDatabase, report, id);

            return(m.Result());
        }