public static string GetAlertsView()
        {
            List <Alert> alerts = new List <Alert>();

            using (AccessPointClient accessPoint = new AccessPointClient())
            {
                Alert[] page;
                do
                {
                    page = accessPoint.GetAlerts(new GetAlertsRequest
                    {
                        Skip = (uint)alerts.Count,
                        Take = PageSize,
                    }).Alerts;
                    alerts.AddRange(page);
                }while (page != null && page.Length == PageSize);

                long[]         jobIds = alerts.Select(a => a.JobId).ToArray();
                List <JobData> jobs   = new List <JobData>();
                JobData[]      jobPage;
                do
                {
                    jobPage = accessPoint.GetJobs(new GetJobsRequest
                    {
                        Skip = (uint)jobs.Count,
                        Take = PageSize,
                    }).Jobs;
                    jobs.AddRange(jobPage);
                }while (jobPage != null && jobPage.Length == PageSize);

                if (jobs.Count > 0)
                {
                    foreach (var alert in alerts)
                    {
                        var job = jobs.FirstOrDefault(j => j.Id == alert.JobId);
                        if (job != null)
                        {
                            alert.JobName = job.Name;
                        }
                    }
                }
            }

            System.Web.HttpRuntime.Cache.Remove(Constants.AlertsListCacheKey);
            System.Web.HttpRuntime.Cache.Add(Constants.AlertsListCacheKey, alerts, null, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.NotRemovable, null);

            AlertNotifier alertNotifierControl = AjaxUtility.LoadControl("/UserControls/AlertNotifier.ascx") as AlertNotifier;

            alertNotifierControl.AlertCount = alerts.Count;
            return(AjaxUtility.RenderUserControl(alertNotifierControl));
        }
Example #2
0
        public static void WriteControl([NotNull] Control control)
        {
            Argument.Assert.IsNotNull(control, nameof(control));

            AjaxUtility.WriteControl(control, true);
        }