//获取所有报表信息 public ActionResult GetReportList() { var queryDictReport = DictReportService.LoadEntities(r => 1 == 1).Select(r => new { r.ID, r.ReportName, r.FuncName, ArgumentCount = r.DictReportArgument.Count }).OrderBy(nr => nr.ID); return(Content(JsonConvert.SerializeObject(queryDictReport, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }))); }
public ActionResult AddReport() { string funName = Request["funName"]; string reportName = Request["reportName"]; string reportFile = Request["reportFile"]; //进行校验是否存在 DictReport reportExists = DictReportService.LoadEntities(r => r.FuncName == funName || r.ReportName == reportName || r.ReportFile == reportFile).FirstOrDefault(); if (reportExists != null) { if (reportExists.FuncName == funName) { return(Content("函数已经存在,请函数对应的报表进行编辑即可!")); } else if (reportExists.ReportName == reportName) { return(Content("报表名已经存在,无法进行保存!")); } else { return(Content("报表模板文件重复,一个报表只能对应一个模板!")); } } //接受基本值 DictReport dictReport = new DictReport() { FuncName = funName, ReportName = reportName, ReportFile = reportFile, Remark = Request["remark"] }; Dictionary <string, string> dictPostArg = new Dictionary <string, string>(); //动态获取 foreach (string item in Request.Form.Keys) { if (item != "funName" && item != "reportName" && item != "reportFile" && item != "remark") { dictPostArg.Add(item, Request.Form[item]); } } Dictionary <string, DictReportArgument> dicArg = new Dictionary <string, DictReportArgument>(); //进行创建对象 foreach (string item in dictPostArg.Keys) { string repItem = item.Replace("【", "").Replace("】", ""); //如果已经存在了 if (dicArg.Keys.Contains(repItem)) { if (item.Contains("【")) { dicArg[repItem].ArgumentText = dictPostArg[item]; } } else { if (!item.Contains("【")) { dicArg.Add(item, new DictReportArgument() { ArgumentName = item, DictArgumentID = Convert.ToInt32(dictPostArg[item]) }); } } } //进行关联 dictReport.DictReportArgument = dicArg.Values; //进行保存 DictReportService.AddEntity(dictReport); int affect = DictReportService.SaveChange(); if (affect == 0) { return(Content("自定义报表增加失败")); } else { return(Content("1")); } }