private void TimerStatusUpdateElapsed(object sender, ElapsedEventArgs e)
        {
            try
            {
                DbIntegration db = new DbIntegration();

                SentEnvelopeModel[] inProgress = db.GetInProgressEnvelopes();

                BulksignIntegration bi = new BulksignIntegration();

                foreach (SentEnvelopeModel m in inProgress)
                {
                    try
                    {
                        bi.CheckEnvelopeStatus(m);

                        Thread.Sleep(1000);
                    }
                    catch (Exception ex)
                    {
                        log.Error(ex);
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex);
            }
        }
        private void TimerDownloadCompletedDocumentsElapsed(object sender, ElapsedEventArgs e)
        {
            if (IS_RUNNING)
            {
                return;
            }

            try
            {
                IS_RUNNING = true;

                DbIntegration db = new DbIntegration();

                SentEnvelopeModel[] bundlesToProcess = db.GetEnvelopesToDownload();

                BulksignIntegration bi = new BulksignIntegration();

                foreach (SentEnvelopeModel model in bundlesToProcess)
                {
                    try
                    {
                        bi.DownloadCompletedDocuments(model.Id, model.ApiToken, model.SenderEmail);

                        Thread.Sleep(1000);
                    }
                    catch (Exception ex)
                    {
                        log.Error(ex);
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex);
            }
            finally
            {
                IS_RUNNING = false;
            }
        }