Beispiel #1
0
        /// <summary>
        ///     Load in a list of Request objects to populate the Request List
        /// </summary>
        /// <returns></returns>
        public List <Request> LoadRequests()
        {
            List <Request> requestList = new List <Request>();
            List <int>     requestIds  = new List <int>();

            try
            {
                List <Request> rawRequests   = OptionService.RetrieveRequests(this.AdminStatus);
                int            PresentId     = 0;
                string         PresentStatus = string.Empty;

                for (int i = 0; i < rawRequests.Count; i++)
                {
                    int    CurrentId     = rawRequests[i].RequestId;
                    string CurrentStatus = rawRequests[i].RequestStatus;

                    if (PresentId != CurrentId)
                    {
                        PresentId = CurrentId;
                        requestIds.Add(CurrentId);
                        PresentStatus = CurrentStatus;
                    }
                    else
                    {
                        switch (PresentStatus)
                        {
                        case "Incomplete":
                            break;

                        case "Pending":
                            if (CurrentStatus == "Incomplete")
                            {
                                PresentStatus = CurrentStatus;
                            }
                            break;

                        case "Canceled":
                            if (CurrentStatus == "Incomplete")
                            {
                                PresentStatus = CurrentStatus;
                            }
                            if (CurrentStatus == "Pending")
                            {
                                PresentStatus = CurrentStatus;
                            }
                            break;

                        case "Complete":
                            if (CurrentStatus == "Incomplete")
                            {
                                PresentStatus = CurrentStatus;
                            }
                            if (CurrentStatus == "Pending")
                            {
                                PresentStatus = CurrentStatus;
                            }
                            break;
                        }
                    }
                    if (i + 1 == rawRequests.Count)
                    {
                        Request request = new Request(PresentId, rawRequests[i].UserName, rawRequests[i].DttmSubmitted, PresentStatus)
                        {
                            GroupComment = rawRequests[i].GroupComment,
                            Website      = rawRequests[i].Website
                        };
                        requestList.Add(request);
                    }
                    else if (rawRequests[i].RequestId != rawRequests[i + 1].RequestId)
                    {
                        Request request = new Request(PresentId, rawRequests[i].UserName, rawRequests[i].DttmSubmitted, PresentStatus)
                        {
                            GroupComment = rawRequests[i].GroupComment,
                            Website      = rawRequests[i].Website
                        };
                        requestList.Add(request);
                    }
                }// End for (int i = 0; i <= RawRequests.Count; i++)
            }
            catch (Exception ex)
            {
                ErrorLog.LogError("Odin was unable to load the requests.", ex.ToString());
            }
            return(requestList);
        }