コード例 #1
0
 /// <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);
         }
     }
 }
コード例 #2
0
 /// <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);
     }
 }
コード例 #3
0
        /* 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());
            }
        }