예제 #1
0
        private Byte[] GetXfdf(string customerCode, string siteCode, string formInstanceId)
        {
            Byte[] data     = null;
            bool   bSuccess = false;

            for (int iFailureCnt = 0; !bSuccess && iFailureCnt < RETRIES; iFailureCnt++)
            {
                PrefillDataDownloader downloader = null;
                try
                {
                    downloader     = new PrefillDataDownloader();
                    downloader.Url = m_strDownloadURL;
                    data           = downloader.GetXfdf(customerCode, siteCode, formInstanceId);
                    bSuccess       = true;
                }
                catch (Exception ex)
                {
                    string error = string.Format("Get xfdf failed for customer code {0}, site code {1}, formInstanceId {2}. Retrying...\n",
                                                 customerCode, siteCode, formInstanceId);
                    m_Utils.WriteEventLogEntry(error + ex.Message, EventLogEntryType.Error, EVENT_LOG_SOURCE);
                }
                finally
                {
                    if (downloader != null)
                    {
                        downloader.Dispose();
                    }
                }
            }

            if (!bSuccess)
            {
                string error = string.Format("Get xfdf failed after {0} retries.", RETRIES);
                throw new Exception(error);
            }

            return(data);
        }
예제 #2
0
        private bool SetPrefilledManifestDownloaded(string customerCode, string siteCode, int manifestNumber)
        {
            bool bSuccess = false;

            for (int iFailureCnt = 0; !bSuccess && iFailureCnt < RETRIES; iFailureCnt++)
            {
                PrefillDataDownloader prefillDownloader = null;
                try
                {
                    prefillDownloader     = new PrefillDataDownloader();
                    prefillDownloader.Url = m_strDownloadURL;
                    prefillDownloader.SetManifestDownloaded(customerCode, siteCode, manifestNumber);
                    bSuccess = true;
                }
                catch (Exception ex)
                {
                    string error = string.Format("Set prefilled manifest downloaded failed for customer code {0}, site code {1}, manifest number {2}. Retrying...\n",
                                                 customerCode, siteCode, manifestNumber);
                    m_Utils.WriteEventLogEntry(error + ex.Message, EventLogEntryType.Error, EVENT_LOG_SOURCE);
                }
                finally
                {
                    if (prefillDownloader != null)
                    {
                        prefillDownloader.Dispose();
                    }
                }
            }

            if (!bSuccess)
            {
                //Note: Don't throw here, because we need to purge the downloaded files.
                string error = string.Format("Set prefilled manifest downloaded failed after {0} retries. Download must be run again.", RETRIES);
                m_Utils.WriteEventLogEntry(error, EventLogEntryType.Error, EVENT_LOG_SOURCE);
            }

            return(bSuccess);
        }