Beispiel #1
0
        public IHttpActionResult Get()
        {
            try
            {
                var request = Context.AuthenticatedRequest;

                var pollInfo = PollManager.GetPollInfo(request);
                if (pollInfo == null)
                {
                    return(NotFound());
                }
                if (!request.IsAdminLoggin || !request.AdminPermissions.HasSitePermissions(pollInfo.SiteId, PollUtils.PluginId))
                {
                    return(Unauthorized());
                }

                var fieldInfoList      = FieldManager.GetFieldInfoList(pollInfo.Id);
                var listAttributeNames = PollUtils.StringCollectionToStringList(pollInfo.ListAttributeNames);
                var allAttributeNames  = PollManager.GetAllAttributeNames(fieldInfoList);

                var pages = Convert.ToInt32(Math.Ceiling((double)pollInfo.TotalCount / PollUtils.PageSize));
                if (pages == 0)
                {
                    pages = 1;
                }
                var page = request.GetQueryInt("page", 1);
                if (page > pages)
                {
                    page = pages;
                }
                var logInfoList = LogManager.Repository.GetLogInfoList(pollInfo, page);

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

                return(Ok(new
                {
                    Value = logs,
                    Count = pollInfo.TotalCount,
                    Pages = pages,
                    Page = page,
                    FieldInfoList = fieldInfoList,
                    AllAttributeNames = allAttributeNames,
                    ListAttributeNames = listAttributeNames
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Beispiel #2
0
        public IHttpActionResult Get()
        {
            try
            {
                var request = Context.AuthenticatedRequest;

                var pollInfo = PollManager.GetPollInfo(request);
                if (pollInfo == null)
                {
                    return(NotFound());
                }
                if (!request.IsAdminLoggin || !request.AdminPermissions.HasSitePermissions(pollInfo.SiteId, PollUtils.PluginId))
                {
                    return(Unauthorized());
                }

                var fieldInfoList = FieldManager.GetFieldInfoList(pollInfo.Id);

                var attributeNames             = PollManager.GetAllAttributeNames(fieldInfoList);
                var administratorSmsNotifyKeys =
                    PollUtils.StringCollectionToStringList(pollInfo.AdministratorSmsNotifyKeys);
                var userSmsNotifyKeys =
                    PollUtils.StringCollectionToStringList(pollInfo.UserSmsNotifyKeys);

                return(Ok(new
                {
                    Value = pollInfo,
                    FieldInfoList = fieldInfoList,
                    AttributeNames = attributeNames,
                    AdministratorSmsNotifyKeys = administratorSmsNotifyKeys,
                    UserSmsNotifyKeys = userSmsNotifyKeys
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }