Ejemplo n.º 1
0
        //获取所有报表信息
        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
            })));
        }
Ejemplo n.º 2
0
        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"));
            }
        }