/// <pdGenerated>default Remove</pdGenerated> public void RemoveRequestRepository(Repository.RequestRepository oldRequestRepository) { if (oldRequestRepository == null) { return; } if (this.requestRepository != null) { if (this.requestRepository.Contains(oldRequestRepository)) { this.requestRepository.Remove(oldRequestRepository); } } }
/// <pdGenerated>default Add</pdGenerated> public void AddRequestRepository(Repository.RequestRepository newRequestRepository) { if (newRequestRepository == null) { return; } if (this.requestRepository == null) { this.requestRepository = new System.Collections.ArrayList(); } if (!this.requestRepository.Contains(newRequestRepository)) { this.requestRepository.Add(newRequestRepository); } }
/* Handle Requests */ async void RequestTimer_Elapsed(object sender, ElapsedEventArgs e) { /* Read transaction requests */ EIA.Repository.CModelRequest NextRequest = null; try { /* Make sure it is started */ if (mManager == null) { mManager = new Manager(); await mManager.Update(); } /* Iterate */ using (EIA.Repository.RequestRepository rRepo = new Repository.RequestRepository()) { /* Get next request */ NextRequest = await rRepo.GetNext(); /* Keep looping */ while (NextRequest != null) { /* Used to catch errors */ Boolean ParseError = false; /* Set in progress */ await rRepo.SetRequestStatus(NextRequest.Guid, Repository.RequestStatus.Processing); try { /* Handle request */ await mManager.HandleRequest(NextRequest); } catch (Exception Ex) { Log("Failed to parse: " + Ex.ToString()); ParseError = true; } /* Done? */ if (ParseError) await rRepo.SetRequestStatus(NextRequest.Guid, Repository.RequestStatus.Cancelled); else await rRepo.SetRequestStatus(NextRequest.Guid, Repository.RequestStatus.Finished); /* Get next request */ NextRequest = await rRepo.GetNext(); } } /* Set null */ NextRequest = null; } catch (Exception Ex) { Log(Ex.ToString()); } }