Exemple #1
0
 public string SetNewNumber(string NameAndNumber, string PhoneNumber)
 {
     using (DB_A4A060_csEntities db = new DB_A4A060_csEntities())
     {
         var username = NameAndNumber.Split(' ')[0];
         var user     = db.AspNetUsers.SingleOrDefault(u => u.UserName == username);
         user.PhoneNumber = PhoneNumber;
         db.SaveChanges();
         string response = user.UserName + " (" + user.PhoneNumber + ")";
         Context.Response.Output.WriteLine(response);
     }
     Context.Response.End();
     return(string.Empty);
 }
Exemple #2
0
 public string EnableDisable()
 {
     using (DB_A4A060_csEntities db = new DB_A4A060_csEntities())
     {
         var functionQuery = "";
         var note          = "";
         var sendSMS       = Boolean.Parse(ConfigurationManager.AppSettings["sendSMS"]);
         sendSMS = !sendSMS;
         ConfigurationManager.AppSettings["sendSMS"] = sendSMS.ToString();
         if (sendSMS)
         {
             Context.Response.Output.WriteLine("Disable SMS Service");
             functionQuery = "Enable";
             note          = "Service Enabled at " + DateTime.Now.AddHours(3);
         }
         else
         {
             Context.Response.Output.WriteLine("Enable SMS Service");
             functionQuery = "Disable";
             note          = "Service Disabled at " + DateTime.Now.AddHours(3);
         }
         db.Logs.Add(new Log
         {
             user_id        = "Admin",
             page           = HttpContext.Current.Request.Url.AbsoluteUri,
             function_query = functionQuery,
             error          = null,
             note           = note,
             datestamp      = DateTime.Now.AddHours(3),
             recipient      = null
         });
         db.SaveChanges();
         Context.Response.End();
     }
     return(string.Empty);
 }
Exemple #3
0
        public string SendAlerts()
        {
            if (Boolean.Parse(ConfigurationManager.AppSettings["sendSMS"]))
            {
                using (DB_A4A060_csEntities db = new DB_A4A060_csEntities())
                {
                    db.Logs.Add(new Log
                    {
                        user_id        = "Admin",
                        page           = HttpContext.Current.Request.Url.AbsoluteUri,
                        function_query = "Start SendAlerts",
                        error          = null,
                        note           = "Service Started at " + DateTime.Now.AddHours(3),
                        datestamp      = DateTime.Now.AddHours(3),
                        recipient      = null
                    });
                    db.SaveChanges();

                    var rows = db.Z_AlertLogs.Join(db.FarmCows,
                                                   z_alerts => z_alerts.bolus_id,
                                                   farm_cows => farm_cows.Bolus_ID,
                                                   (z_alerts, farm_cows) => new { z_alerts, farm_cows })
                               .Join(db.AspNetUsers,
                                     combined_entry => combined_entry.farm_cows.AspNetUser_ID,
                                     asp_users => asp_users.Id,
                                     (combined_entry, asp_users) => new
                    {
                        username    = asp_users.UserName,
                        msg         = combined_entry.z_alerts.message,
                        date        = combined_entry.z_alerts.date_emailsent,
                        phoneNumber = asp_users.PhoneNumber
                    }).Distinct();
                    string     lastMessage   = "";
                    string     lastRecipient = "";
                    int        messagesSent  = 0;
                    List <Log> logEntries    = new List <Log>();
                    foreach (var row in rows)
                    {
                        if (DateTime.Parse(row.date.ToString()).CompareTo(DateTime.Now.AddMinutes(-30).AddHours(3)) >= 0 &&
                            DateTime.Parse(row.date.ToString()).CompareTo(DateTime.Now.AddHours(3)) <= 0 &&
                            (row.msg != lastMessage || row.phoneNumber != lastRecipient))
                        {
                            string message = row.msg.Replace(';', ',');

                            // Fill in these feilds.
                            string login    = "";
                            string password = "";
                            string url      = "http://api.smsfeedback.ru/messages/v2/send/?login="******"&password="******"&phone=%2B" + row.phoneNumber + "&text=" + message;

                            try
                            {
                                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                                request.Method = "GET";
                                var response = (HttpWebResponse)request.GetResponse();

                                if (response.StatusCode.ToString().Equals("OK"))
                                {
                                    messagesSent++;
                                }

                                logEntries.Add(new Log
                                {
                                    user_id        = "Admin",
                                    page           = HttpContext.Current.Request.Url.AbsoluteUri,
                                    function_query = "SendAlerts",
                                    error          = response.StatusCode.ToString(),
                                    note           = "message:\'" + row.msg + "\' has been sent",
                                    datestamp      = DateTime.Now.AddHours(3),
                                    recipient      = row.phoneNumber
                                });
                                lastMessage   = row.msg;
                                lastRecipient = row.phoneNumber;
                            }
                            catch (global::System.Exception e)
                            {
                                logEntries.Add(new Log
                                {
                                    user_id        = "Admin",
                                    page           = HttpContext.Current.Request.Url.AbsoluteUri,
                                    function_query = "SendAlertsError",
                                    error          = e.Message,
                                    note           = "message:\'" + row.msg + "\' encountered an error while sending.",
                                    datestamp      = DateTime.Now.AddHours(3),
                                    recipient      = row.phoneNumber
                                });
                            }
                        }
                    }
                    foreach (Log logRow in logEntries)
                    {
                        db.Logs.Add(logRow);
                        db.SaveChanges();
                    }
                    Context.Response.Output.WriteLine(messagesSent + " alert(s) were sent at " + DateTime.Now.AddHours(3).ToString() + ".");
                    db.Logs.Add(new Log
                    {
                        user_id        = "Admin",
                        page           = HttpContext.Current.Request.Url.AbsoluteUri,
                        function_query = "End SendAlerts",
                        error          = null,
                        note           = "Service Finished at " + DateTime.Now.AddHours(3),
                        datestamp      = DateTime.Now.AddHours(3),
                        recipient      = null
                    });
                    db.SaveChanges();
                }
            }
            else
            {
                Context.Response.Output.WriteLine("SMS Service is currently disabled.");
            }
            Context.Response.End();
            return(string.Empty);
        }