///<summary> /// add the alert to the Queue. /// </summary> /// <param name="item"></param> /// <returns></returns> public void EnQueue(AlertDetails item) { try { _Queue.Enqueue(item); } catch (Exception ex) { ExceptionManager.Publish(ex); } }
///<summary> /// get the item from the Queue. /// </summary> /// <param name="item"></param> /// <returns></returns> public AlertDetails DeQueue() { AlertDetails aItem = null; try { aItem = _Queue.Dequeue() as AlertDetails; } catch (Exception ex) { ExceptionManager.Publish(ex); } return(aItem); }
///<summary> /// export to enterprise ///</summary> internal void ProcessMessages() { try { AlertDetails aDetail = DeQueue(); //Export to Enterprise _proxy.ImportAlertDetails(AlertDataContext.SiteCode, Serialize(aDetail).ToString()); //using (AlertDataContext context = new AlertDataContext()) // context.ImportAlertDetails(AlertDataContext.SiteCode, Serialize(aDetail).ToString()); } catch (Exception ex) { ExceptionManager.Publish(ex); } }
/// <summary> /// Export Alert Details to Enterprise. /// </summary> /// <param name="EHReferenceID"></param> /// <param name="EHID"></param> /// <returns></returns> public static bool ExportAlertDetails(long EHReferenceID, string EHID) { bool bResult = false; AlertDetails detail = null; try { // assign the parameters SqlParameter[] sqlparams = new SqlParameter[2]; sqlparams[0] = new SqlParameter("EhReference", EHReferenceID); sqlparams[1] = new SqlParameter("EhID", EHID); //get the alert details. DataSet ds = SqlHelper.ExecuteDataset(GetConnectionString(), "rsp_GetAlertDetails", sqlparams); if (ds.Tables.Count > 0) { foreach (DataRow row in ds.Tables[0].Rows) { detail = new AlertDetails { AlertMessage = row["AlertMessage"].ToString(), AlertType = row["AlertType"].ToString(), ID = (long)row["ID"], AlertStatus = Convert.ToInt16(row["AlertStatus"]), AlertReceivedOn = Convert.ToDateTime(row["AlertReceivedOn"]), SiteCode = row["SiteCode"].ToString() }; } } //invoke the proxy to send details to enterprise. if (_proxy == null) { _proxy = GetWebService(); } bool bStatus = _proxy.ImportAlertDetails(detail.SiteCode, Serialize(detail).ToString()); if (bStatus) { //Update the status in alert history table. sqlparams[0] = new SqlParameter("ID", detail.ID); sqlparams[1] = new SqlParameter("Status", bStatus); int iresult = SqlHelper.ExecuteNonQuery(GetConnectionString(), "usp_UpdateAlertExportStatus", sqlparams); bResult = true; } } catch (Exception ex) { LogManager.WriteLog("GetAlertDetails->Exception:" + ex.Message, LogManager.enumLogLevel.Error); detail = new AlertDetails(); } return bResult; }