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