示例#1
0
        /// <summary>
        /// Logs iterface transation (EdgeFrontier SendEmail)
        ///     to the  to the logging table.
        /// </summary>
        /// <param name="message">XML message that was sent.</param>
        /// <returns>Returns 'true' if successfull and 'false' if it fails.</returns>
        private bool logToDB(string message)
        {
            bool ReturnVal = true;
            SendReceiveMessageLogger msgLogger;

            try
            {
                msgLogger                = new SendReceiveMessageLogger();
                msgLogger.Interactive    = GTInteractive;
                msgLogger.Interface_Name = "Send Email";
                msgLogger.Component_Name = "GTech Client";
                msgLogger.Correlation_Id = correlationId;
                msgLogger.Log_Detail     = message;
                //ReturnVal = msgLogger.logEntry();
            }
            catch (Exception e)
            {
                if (GTInteractive == true)
                {
                    MessageBox.Show("SendEmail:" + e.Message, "getCorrelationId Error", MessageBoxButtons.OK);
                }
                else
                {
                    if (EventLog.SourceExists("Application Error"))
                    {
                        EventLog.WriteEntry("Application Error", "Error in G/Technology Custom SendEmail - logErrorToDB: " + e.Message);
                    }
                }
                ReturnVal = false;
            }
            return(ReturnVal);
        }
示例#2
0
        /// <summary>
        /// Method to update theTicket status for input NJUNS ticket Id and Ticket number in GIS NJUNS tables
        /// </summary>
        public void UpdateTicketStatus()
        {
            string errorMessage = string.Empty;
            string updateTicketStatusSql;

            try
            {
                int iRecordsAffected = 0;

                if (!string.IsNullOrEmpty(NJUNS_TICKET_ID))
                {
                    updateTicketStatusSql = string.Format("UPDATE GIS_ONC.NJUNS_TICKET SET TICKET_STATUS  = '{0}' WHERE NJUNS_TICKET_ID = '{1}' AND TICKET_NUMBER = {2}", TICKET_STATUS, NJUNS_TICKET_ID, TICKET_NUMBER);
                }
                else
                {
                    updateTicketStatusSql = string.Format("UPDATE GIS_ONC.NJUNS_TICKET SET TICKET_STATUS  = '{0}' WHERE TICKET_NUMBER = {1}", TICKET_STATUS, TICKET_NUMBER);
                }
                DataContext.Execute(updateTicketStatusSql, out iRecordsAffected, (int)CommandTypeEnum.adCmdText);
            }
            catch (Exception ex)
            {
                errorMessage = string.Format("Failed to update ticket records for Ticket ID #", NJUNS_TICKET_ID);
                SendReceiveMessageLogger m_messageLogger = new SendReceiveMessageLogger
                {
                    Log_Detail = ex.Message
                };
                LogErrorMessages(m_messageLogger, m_interfacePoint);

                if (Equals(Mode, 'I'))
                {
                    MessageBox.Show(m_interfacePoint + " : " + errorMessage + Environment.NewLine + ex.Message, "UpdateTicketStatus Error", MessageBoxButtons.OK);
                }
            }
        }
示例#3
0
 /// <summary>
 /// Method to update the NJUNS ticket Id and Ticket number in GIS NJUNS tables for GIS ticket Id
 /// </summary>
 public void UpdateTicketIdAndStatus()
 {
     try
     {
         string errorMessage = string.Empty;
         try
         {
             int           iRecordsAffected = 0;
             StringBuilder updateQuery      = new StringBuilder();
             updateQuery.AppendFormat(" BEGIN ");
             updateQuery.AppendFormat("UPDATE GIS_ONC.NJUNS_TICKET SET NJUNS_TICKET_ID  = {0}, TICKET_NUMBER = '{1}' WHERE GIS_NJUNS_TICKET_ID = '{2}' ;", NJUNS_TICKET_ID, TICKET_NUMBER, GIS_NJUNS_TICKET_ID);
             updateQuery.AppendFormat("UPDATE GIS_ONC.NJUNS_STEP SET NJUNS_TICKET_ID  = {0} WHERE GIS_NJUNS_TICKET_ID = '{1}' ;", NJUNS_TICKET_ID, GIS_NJUNS_TICKET_ID);
             updateQuery.AppendFormat("  COMMIT ; ");
             updateQuery.AppendFormat("  END ; ");
             DataContext.Execute(updateQuery.ToString(), out iRecordsAffected, (int)CommandTypeEnum.adCmdText);
         }
         catch (Exception ex)
         {
             errorMessage = "GIS -" + m_interfacePoint + "  Failed :" + ex.Message;
             SendReceiveMessageLogger m_messageLogger = new SendReceiveMessageLogger
             {
                 Log_Detail = ex.Message
             };
             LogErrorMessages(m_messageLogger, m_interfacePoint);
             if (Equals(Mode, 'I'))
             {
                 MessageBox.Show(m_interfacePoint + " : " + errorMessage + Environment.NewLine + ex.Message, "Submit Ticket Error", MessageBoxButtons.OK);
             }
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#4
0
 /// <summary>
 /// Method to log messages to INTERFACE_LOG table and INTERFACE_XML_DATA
 /// </summary>
 /// <param name="messageLogger">Instance of SendReceiveMessageLogger</param>
 public void LogErrorMessages(SendReceiveMessageLogger messageLogger, string interfacePoint)
 {
     try
     {
         if (messageLogger != null)
         {
             messageLogger.dataContext    = DataContext;
             messageLogger.Interactive    = Equals(Mode, 'I');
             messageLogger.Correlation_Id = GetCorrelationId();
             messageLogger.Interface_Name = interfacePoint;
             messageLogger.Component_Name = "GTech Client";
             messageLogger.logEntry();
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#5
0
        /// <summary>
        /// Generate a Correlation ID.
        /// </summary>
        /// <returns>Returns the Correleation string if it succeed
        ///    and string.Empty if it fails.</returns>
        private string GetCorrelationId()
        {
            string    ReturnVal = string.Empty;
            Recordset tmpRs     = null;
            string    tmpQry    = string.Empty;

            try
            {
                tmpQry = "select GIS_STG.CORRELATION_ID_SEQ.nextval " + (char)34 + "NEXTVAL" + (char)34 + " from dual";
                tmpRs  = GetRecordSet(tmpQry);    //m_DataContext.OpenRecordset(tmpQry, CursorTypeEnum.adOpenStatic, LockTypeEnum.adLockReadOnly, (int)CommandTypeEnum.adCmdText);
                tmpRs.MoveFirst();
                ReturnVal = "GIS" + Convert.ToString(tmpRs.Fields[0].Value);
                return(ReturnVal);
            }
            catch (Exception ex)
            {
                SendReceiveMessageLogger m_messageLogger = new SendReceiveMessageLogger
                {
                    Log_Detail = ex.Message
                };
                LogErrorMessages(m_messageLogger, "GetCorrelationId");

                if (Equals(Mode, 'I'))
                {
                    MessageBox.Show(m_interfacePoint + ex.Message, "GetCorrelationId Error", MessageBoxButtons.OK);
                }
                return(ReturnVal);
            }
            finally
            {
                if (tmpRs != null)
                {
                    tmpRs.Close();
                    tmpRs = null;
                }
            }
        }
示例#6
0
        /// <summary>
        /// Sends an request to the EdgeFrontier Email system
        /// </summary>
        /// <returns>Returns 'true' if successfull and 'false' if it fails.</returns>
        public bool sendEmail()
        {
            XmlSerializer   sendEmailSerializer = new XmlSerializer(typeof(eMailRequest));
            string          tmpXML  = string.Empty;
            StringWriter    StrWrtr = new StringWriter();
            XmlWriter       XmlWrtr = XmlWriter.Create(StrWrtr);
            HttpWebRequest  request;
            IGTApplication  tmpApp = null;
            HttpWebResponse webresponse;
            StreamReader    tmpReader;
            StringBuilder   strBldr = new StringBuilder();
            XmlDocument     tmpXDoc = new XmlDocument();

            System.IO.Stream         requestStream;
            byte[]                   XMLBytes;
            string                   tmpException = string.Empty;
            SendReceiveMessageLogger msgLogger;
            bool logger = true;

            try
            {
                if (GTDataContext == null)
                {
                    tmpApp        = GTClassFactory.Create <IGTApplication>();
                    GTDataContext = tmpApp.DataContext;
                }
                if (EFUrl == string.Empty)
                {
                    queryForURL();
                }
                if (EmailRequest.Attachments == string.Empty)
                {
                    EmailRequest.Attachments = " ";
                }
                correlationId = getCorrelationId();

                // serialize the Email request
                sendEmailSerializer.Serialize(XmlWrtr, EmailRequest);
                tmpXML = StrWrtr.ToString();
                tmpXML = tmpXML.Replace("</eMailRequest>", "<Correlation_Id>" + correlationId + "</Correlation_Id></eMailRequest>"); // code for Testing

                // create and send the web request.
                XMLBytes = System.Text.Encoding.ASCII.GetBytes(tmpXML);

                // log the message to be sent.
                msgLogger                = new SendReceiveMessageLogger();
                msgLogger.Interactive    = GTInteractive;
                msgLogger.Interface_Name = "Send Email";
                msgLogger.Component_Name = "GTech Client";
                msgLogger.Correlation_Id = correlationId;
                msgLogger.xmlMessage     = tmpXML;
                logger = msgLogger.logEntry();  // add a log entry

                // send the request
                request               = HttpWebRequest.Create(EFUrl) as HttpWebRequest;
                request.Method        = "POST";
                request.ContentLength = XMLBytes.Length;
                request.ContentType   = "text/xml; encoding='utf-8'";
                requestStream         = request.GetRequestStream();
                requestStream.Write(XMLBytes, 0, XMLBytes.Length);
                requestStream.Close();
                webresponse = request.GetResponse() as HttpWebResponse;

                //Get the Response.

                tmpReader = new StreamReader(webresponse.GetResponseStream());
                strBldr.Append(tmpReader.ReadToEnd());

                // Log the responce
                // get the status from the
                tmpXDoc.LoadXml(strBldr.ToString());
                XmlNode     root       = tmpXDoc.FirstChild;
                XmlNodeList tmpNodeLst = root.SelectNodes("//Status");
                tmpNodeLst[0].ToString();
                // If the status is failure.
                if (tmpNodeLst[0].InnerText == "FAILURE")
                {
                    tmpNodeLst = root.SelectNodes("//ErrorMsg");
                    string errStr = tmpNodeLst[0].InnerText;
                    errStr               = errStr.Replace("'", "''");
                    tmpException         = "Email Failure " + errStr;
                    msgLogger.Log_Detail = "SendEmail.sendEmail Error: " + tmpException;
                    msgLogger.xmlMessage = tmpXDoc.OuterXml;
                    //logToDB("SendEmail.sendEmail Error:" + tmpException);
                    logger = msgLogger.logEntry();
                    if (GTInteractive == true)
                    {
                        MessageBox.Show("SendEmail: " + tmpException, "sendEmail Error", MessageBoxButtons.OK);
                    }
                    logger = false;
                }
                else
                {
                    msgLogger.xmlMessage = tmpXDoc.OuterXml;
                    msgLogger.Log_Detail = "Success";
                    logger = msgLogger.logEntry();
                }
            }
            catch (Exception e)
            {
                if (GTInteractive == true)
                {
                    MessageBox.Show("SendEmail: " + e.Message, "sendEmail Error", MessageBoxButtons.OK);
                    logger = false;
                }
                else
                {
                    logToDB("SendEmail.sendEmail Error: " + e.Message);
                }
            }
            return(logger);
        }