Example #1
0
 public void addEvent(string data, string url)
 {
     LogEvent e = new LogEvent();
     e.relativeUrl = url;
     e.sensorEvent = data;
     saveQueue.Enqueue(e);
 }
 private void deleteFromDB(LogEvent logevent)
 {
     using (LogEventDataContext logDb = new LogEventDataContext(LogEventDataContext.ConnectionString))
     {
         if (!logDb.DatabaseExists())
         {
             System.Diagnostics.Debug.WriteLine(this.GetType().Name + ": DB does not exist");
             return;
         }
         logDb.DeleteLogEvent(logevent.EventId);
     }
 }
        private void GetResponse(IAsyncResult asynchronousResult, LogEvent logevent)
        {
            try
            {
                HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;

                // End the operation
                HttpWebResponse finalresponse = (HttpWebResponse)request.EndGetResponse(asynchronousResult);
                Stream streamResponse = finalresponse.GetResponseStream();
                StreamReader streamRead = new StreamReader(streamResponse);
                string responseString = streamRead.ReadToEnd();

                if (responseString.Equals("true"))
                    deleteFromDB(logevent);
                else
                {
                    System.Diagnostics.Debug.WriteLine(this.GetType().Name + " Send failure");
                    System.Diagnostics.Debug.WriteLine(this.GetType().Name + " response: " + responseString);
                    System.Diagnostics.Debug.WriteLine(this.GetType().Name + " logevent: " + logevent.sensorEvent);
                    System.Diagnostics.Debug.WriteLine(this.GetType().Name + " url: " + logevent.relativeUrl);
                }
                // Close the stream object

                streamRead.Close();
                //streamResponse.Close();

                // Release the HttpWebResponse
                finalresponse.Close();
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine(this.GetType().Name + " Exception, message: " + e.Message );
                System.Diagnostics.Debug.WriteLine(this.GetType().Name + " logevent: " + logevent.sensorEvent);
                System.Diagnostics.Debug.WriteLine(this.GetType().Name + " url: " + logevent.relativeUrl);
                System.Diagnostics.Debug.WriteLine(e.GetBaseException());
            }
        }
 private void SendMessage(LogEvent logevent)
 {
     HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_serverRoot + logevent.relativeUrl);
     request.Method = "PUT";
     request.ContentType = "application/json";
     request.BeginGetRequestStream(asynchronousResult =>
     {
         SendData(logevent, asynchronousResult);
     }, request);
 }
        private void SendData(LogEvent logevent, IAsyncResult asynchronousResult)
        {
            HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;

            // End the operation
            Stream putStream = request.EndGetRequestStream(asynchronousResult);

            string putData = logevent.sensorEvent;
            // Convert the string into a byte array.
            byte[] byteArray = Encoding.UTF8.GetBytes(putData);
            //putStream.WriteTimeout = TIMEOUT_MS;
            // Write to the request stream.
            putStream.Write(byteArray, 0, putData.Length);

            putStream.Close();
            // Start the asynchronous operation to get the response
            request.BeginGetResponse(responseAsynchronousResult =>
            {
                GetResponse(responseAsynchronousResult, logevent);

            }, request);
        }
Example #6
0
        public void addEvents(IList<LogEvent> events)
        {
            using (LogEventDataContext context = new LogEventDataContext(ConnectionString))
            {
                foreach (LogEvent e in events)
                {
                    LogEvent le = new LogEvent();
                    e.Time = DeviceTools.GetUnixTime(DateTime.Now);

                    // add the new logEvent to the context
                    context.LogEvents.InsertOnSubmit(e);
                }

                context.SubmitChanges();
            }
        }
Example #7
0
        public void addEvent(JObject sensorEvent, String url)
        {
            using (LogEventDataContext context = new LogEventDataContext(ConnectionString))
            {
                // create a new LogEvent instance
                LogEvent le = new LogEvent();
                le.sensorEvent = sensorEvent.ToString();
                le.Time = DeviceTools.GetUnixTime(DateTime.Now);
                le.relativeUrl = url;

                // add the new logEvent to the context
                context.LogEvents.InsertOnSubmit(le);
                try
                {
                    // save changes to the database
                    context.SubmitChanges();
                }
                catch (System.SystemException e)
                {
                    System.Diagnostics.Debug.WriteLine("SQLException" + e);
                }
            }
        }