/// <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); }