public Task Execute(IJobExecutionContext context)
        {
            try
            {
                var facade      = new HelpdeskFacade();
                var helpdeskIds = facade.GetHelpdesks().Helpdesks.Select(h => h.HelpdeskID).ToList();

                foreach (int id in helpdeskIds)
                {
                    ForceCheckoutQueueRemoveResponse result = facade.ForceCheckoutQueueRemove(id);
                    if (result.Status != HttpStatusCode.OK)
                    {
                        foreach (StatusMessage message in result.StatusMessages)
                        {
                            s_logger.Error(message);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                s_logger.Error(ex, "Unable to remove queue items and check-ins.");
            }
            return(Task.CompletedTask);
        }
Пример #2
0
        /// <summary>
        /// Used to force-checkout users and remove queue items.
        /// Takes optional DateTime parameter. If not provided, data layer will use DateTime.Now.
        /// Used by DailyCleanupJob.
        /// </summary>
        /// <param name="dateTime"></param>
        /// <returns></returns>
        public ForceCheckoutQueueRemoveResponse ForceCheckoutQueueRemove(int id)
        {
            ForceCheckoutQueueRemoveResponse response = new ForceCheckoutQueueRemoveResponse();

            try
            {
                HelpdeskDataLayer dataLayer = new HelpdeskDataLayer();

                response.Result = dataLayer.ForceCheckoutQueueRemove(id);

                if (response.Result == true)
                {
                    response.Status = HttpStatusCode.OK;
                }
            }
            catch (Exception ex)
            {
                s_logger.Error(ex, "Unable to force checkout and remove queue items for Helpdesk " + id);
                response.Status = HttpStatusCode.InternalServerError;
                response.StatusMessages.Add(new StatusMessage(HttpStatusCode.InternalServerError, "Unable to force checkout and remove queue items for Helpdesk " + id));
            }

            return(response);
        }