コード例 #1
0
        public IHttpActionResult Export()
        {
            try
            {
                var request  = Context.GetCurrentRequest();
                var formInfo = FormManager.GetFormInfoByPost(request);
                if (formInfo == null)
                {
                    return(NotFound());
                }
                if (!request.IsAdminLoggin || !request.AdminPermissions.HasSitePermissions(formInfo.SiteId, FormUtils.PluginId))
                {
                    return(Unauthorized());
                }

                var fieldInfoList = FieldManager.GetFieldInfoList(formInfo.Id);
                var logs          = LogDao.GetLogInfoList(formInfo.Id, false, 0, formInfo.TotalCount);

                var head = new List <string> {
                    "序号"
                };
                foreach (var fieldInfo in fieldInfoList)
                {
                    head.Add(fieldInfo.Title);
                }
                head.Add("添加时间");

                var rows = new List <List <string> >();

                var index = 1;
                foreach (var log in logs)
                {
                    var row = new List <string>
                    {
                        index++.ToString()
                    };
                    foreach (var fieldInfo in fieldInfoList)
                    {
                        row.Add(log.GetString(fieldInfo.Title));
                    }
                    row.Add(log.AddDate.ToString("yyyy-MM-dd HH:mm"));

                    rows.Add(row);
                }

                var relatedPath = "表单数据.csv";

                CsvUtils.Export(Context.PluginApi.GetPluginPath(FormUtils.PluginId, relatedPath), head, rows);
                var downloadUrl = Context.PluginApi.GetPluginUrl(FormUtils.PluginId, relatedPath);

                return(Ok(new
                {
                    Value = downloadUrl
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
コード例 #2
0
        public IHttpActionResult Delete()
        {
            try
            {
                var request  = Context.GetCurrentRequest();
                var formInfo = FormManager.GetFormInfoByPost(request);
                if (formInfo == null)
                {
                    return(NotFound());
                }
                if (!request.IsAdminLoggin || !request.AdminPermissions.HasSitePermissions(formInfo.SiteId, FormUtils.PluginId))
                {
                    return(Unauthorized());
                }

                var logId   = request.GetPostInt("logId");
                var logInfo = LogDao.GetLogInfo(logId);
                if (logInfo == null)
                {
                    return(NotFound());
                }

                LogDao.Delete(formInfo, logInfo);

                var pages = Convert.ToInt32(Math.Ceiling((double)formInfo.TotalCount / FormUtils.PageSize));
                if (pages == 0)
                {
                    pages = 1;
                }
                var page = request.GetQueryInt("page", 1);
                if (page > pages)
                {
                    page = pages;
                }
                var logInfoList = LogDao.GetLogInfoList(formInfo, false, page);

                var logs = new List <Dictionary <string, object> >();
                foreach (var info in logInfoList)
                {
                    logs.Add(info.ToDictionary());
                }

                return(Ok(new
                {
                    Value = logs,
                    Count = formInfo.TotalCount,
                    Pages = pages,
                    Page = page
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
コード例 #3
0
        public IHttpActionResult Get()
        {
            try
            {
                var request  = Context.GetCurrentRequest();
                var formInfo = FormManager.GetFormInfoByGet(request);
                if (formInfo == null)
                {
                    return(NotFound());
                }
                if (!request.IsAdminLoggin || !request.AdminPermissions.HasSitePermissions(formInfo.SiteId, FormUtils.PluginId))
                {
                    return(Unauthorized());
                }

                var fieldInfoList      = FieldManager.GetFieldInfoList(formInfo.Id);
                var listAttributeNames = FormUtils.StringCollectionToStringList(formInfo.Additional.ListAttributeNames);
                var allAttributeNames  = FormManager.GetAllAttributeNames(formInfo, fieldInfoList);

                var pages = Convert.ToInt32(Math.Ceiling((double)formInfo.TotalCount / FormUtils.PageSize));
                if (pages == 0)
                {
                    pages = 1;
                }
                var page = request.GetQueryInt("page", 1);
                if (page > pages)
                {
                    page = pages;
                }
                var logInfoList = LogDao.GetLogInfoList(formInfo, false, page);

                var logs = new List <Dictionary <string, object> >();
                foreach (var logInfo in logInfoList)
                {
                    logs.Add(logInfo.ToDictionary());
                }

                return(Ok(new
                {
                    Value = logs,
                    Count = formInfo.TotalCount,
                    Pages = pages,
                    Page = page,
                    FieldInfoList = fieldInfoList,
                    AllAttributeNames = allAttributeNames,
                    ListAttributeNames = listAttributeNames,
                    formInfo.IsReply
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
コード例 #4
0
        public void Page_Load(object sender, EventArgs e)
        {
            _contentId = Utils.ToInt(Request.QueryString["contentId"]);

            if (IsPostBack)
            {
                return;
            }

            if (_contentId > 0)
            {
                var logInfoList = LogDao.GetLogInfoList(SiteId, _contentId);
                var builder     = new StringBuilder();

                var count = logInfoList.Count;
                var i     = 1;
                foreach (var logInfo in logInfoList)
                {
                    if (logInfo.DepartmentId > 0)
                    {
                        builder.Append(
                            $@"<tr class=""info""><td class=""text-center""> {DepartmentManager.GetDepartmentName(
                                logInfo.DepartmentId)} {ELogTypeUtils.GetText(ELogTypeUtils.GetEnumType(logInfo.LogType))}<br />{Utils
                                .GetDateAndTimeString(logInfo.AddDate)} </td></tr>");
                    }
                    else
                    {
                        builder.Append(
                            $@"<tr class=""info""><td class=""text-center""> {ELogTypeUtils.GetText(
                                ELogTypeUtils.GetEnumType(logInfo.LogType))}<br />{Utils.GetDateAndTimeString(logInfo.AddDate)} </td></tr>");
                    }
                    if (i++ < count)
                    {
                        builder.Append(@"<tr><td class=""text-center""><img src=""assets/images/flow.gif"" /></td></tr>");
                    }
                }

                LtlFlows.Text = builder.ToString();

                if (string.IsNullOrEmpty(LtlFlows.Text))
                {
                    LtlFlows.Text = @"<h3 style=""margin-top: 20px;text-align: center;"">暂无</h3>";
                }
            }
        }
コード例 #5
0
        public IHttpActionResult Get()
        {
            try
            {
                var request = Context.GetCurrentRequest();
                var siteId  = request.GetQueryInt("siteId");
                if (!request.IsAdminLoggin || !request.AdminPermissions.HasSitePermissions(siteId, ApplicationUtils.PluginId))
                {
                    return(Unauthorized());
                }

                var dataId = request.GetQueryInt("dataId");

                var dataInfo = DataDao.GetDataInfo(dataId);

                var fileInfoList = new List <FileInfo>();
                if (dataInfo.IsReplyFiles)
                {
                    fileInfoList = FileDao.GetFileInfoList(siteId, dataId);
                }

                var logInfoList = LogDao.GetLogInfoList(siteId, dataId);
                var settings    = ApplicationUtils.GetSettings(siteId);

                return(Ok(new
                {
                    Value = dataInfo,
                    LogInfoList = logInfoList,
                    FileInfoList = fileInfoList,
                    Settings = settings
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }