Exemplo n.º 1
0
        public string GetSMS(SmsViewModel sms)
        {
            string str = sms.sms_text;

            try
            {
                smsjson.StringToJson(str);

                var Traps = _repo.GetAllTraps().Where(x => x.TrapId == smsjson.Id).OrderBy(x => x.UserName);

                if (Traps.Count() == 1)
                {
                    var _trap = Traps.Last();
                    _trap.Rats    = smsjson.Rats;
                    _trap.Battery = smsjson.Battery;

                    _repo.SaveAll();
                    return("OK");
                }
                else
                {
                    return("nie OK");
                }
            }
            catch (Exception ex)
            {
                _logger.LogError("Failed to edit trap", ex);
                return("OK" + ex);//"Cannot to modify object cuz: " + ex;
            }
        }
Exemplo n.º 2
0
        public ActionResult Index(string phone, int carerId, bool isPopup = true, SmsResponseSource src = SmsResponseSource.Unknown)
        {
            SmsViewModel model = new SmsViewModel();
            string       name  = "";

            if (carerId > 0)
            {
                var carer = carerService.GetCarer(carerId);
                if (carer != null)
                {
                    name = carer.FormattedName;
                }
                model.UserId = carerId;
            }
            if (src == SmsResponseSource.Unknown)
            {
                if (!IsPopup)
                {
                    src = SmsResponseSource.Recruitment;
                }
                else
                {
                    src = SmsResponseSource.Support;
                }
            }

            model.Name              = name;
            model.ToNumber          = phone;
            model.StandardResponses = GetStandardResponses(src);
            model.IsPopup           = isPopup;
            model.ResponseSource    = src;

            return(View(model));
        }
Exemplo n.º 3
0
 public ConfirmPageViewModel CreateConfirmPageViewModel(SmsViewModel sms, Contact cont)
 {
     return(new ConfirmPageViewModel
     {
         NameRecipient = cont.FirstName + " " + cont.LastName,
         TextMessage = sms.TextMessage
     });
 }
Exemplo n.º 4
0
 public ActionResult Index(SmsViewModel sms)
 {
     if (ModelState.IsValid)
     {
         return(RedirectToAction("SmsConfirmation", sms));
     }
     return(View());
 }
        public IActionResult Index()
        {
            var model = new SmsViewModel()
            {
                UserList   = UserDB.GetInstance().GetAllUsersWhichHasTelephone(userObj),
                DeviceList = DeviceDB.GetInstance().GetAllDevicesPhoneNumber(userObj)
            };

            return(View(model));
        }
Exemplo n.º 6
0
        public static async Task <bool> SendAsync(string tenant, SmsViewModel model, LoginView meta)
        {
            var processor = SmsProcessor.GetDefault(tenant);

            if (processor == null)
            {
                return(false);
            }

            foreach (var contactId in model.Contacts)
            {
                var contact = await DAL.Contacts.GetContactAsync(tenant, model.UserId, contactId).ConfigureAwait(false);

                if (string.IsNullOrWhiteSpace(contact?.MobileNumbers) || !contact.MobileNumbers.Split(',').Any())
                {
                    continue;
                }

                //Only select the first cell number
                string cellNumber = contact.MobileNumbers.Split(',').Select(x => x.Trim()).FirstOrDefault();

                if (string.IsNullOrWhiteSpace(cellNumber))
                {
                    continue;
                }

                string message = model.Message;
                message = MessageParser.ParseMessage(message, contact);

                var sms = new SmsQueue
                {
                    AddedOn    = DateTimeOffset.UtcNow,
                    SendOn     = DateTimeOffset.UtcNow,
                    SendTo     = cellNumber,
                    FromName   = processor.Config.FromName.Or(meta.OfficeName),
                    FromNumber = processor.Config.FromNumber.Or(meta.Phone),
                    Subject    = model.Subject,
                    Message    = message
                };

                await new SmsQueueManager(tenant, sms).AddAsync().ConfigureAwait(false);
            }

            var queue = new SmsQueueManager
            {
                Database = tenant
            };

            await queue.ProcessQueueAsync(processor).ConfigureAwait(false);

            return(true);
        }
Exemplo n.º 7
0
        public ActionResult SendSMS(SmsViewModel model)
        {
            if (ModelState.IsValid)
            {
                var studentList = Db.AssignedClasses.Where(x => x.ClassName.Equals(model.ClassName) &&
                                                           x.TermName.Equals(model.Term.ToString()) &&
                                                           x.SessionName.Equals(model.Session) &&
                                                           x.SchoolId.Equals(userSchool))
                                  .Select(y => y.StudentId).ToList();
                foreach (var student in studentList)
                {
                    var guardianNumber =
                        Db.Students.Where(s => s.StudentId.Equals(student)).Select(x => x.PhoneNumber).ToList();
                    foreach (var guardian in guardianNumber)
                    {
                        //var guardianContact = Db.Guardians.Where(x => x.GuardianEmail.Equals(guardian))
                        //                        .Select(y => y.PhoneNumber).FirstOrDefault();

                        SMS sms = new SMS()
                        {
                            SenderId = model.SenderId,
                            Message  = model.Message,
                            Numbers  = guardian
                        };
                        try
                        {
                            bool   isSuccess = false;
                            string errMsg    = null;
                            string response  = _smsService.Send(sms); //Send sms

                            string code = _smsService.GetResponseMessage(response, out isSuccess, out errMsg);

                            if (!isSuccess)
                            {
                                ModelState.AddModelError("", errMsg);
                            }
                            else
                            {
                                ViewBag.Message = "Message was successfully sent.";
                            }
                        }
                        catch (Exception ex)
                        {
                            ModelState.AddModelError("", ex.Message);
                        }
                    }
                }
            }

            return(View(model));
        }
Exemplo n.º 8
0
        public ActionResult SendSms(SmsViewModel Svm)
        {
            string SmsAPI = "http://my.msgwow.com/api/sendhttp.php?authkey=163094A1yq0cNVbFr85953f3cf&mobiles=" + Svm.MobileNoList + "&message=" + Svm.Message + "&sender=Kanpur&route=4";

            HttpWebRequest  myReq  = (HttpWebRequest)WebRequest.Create(SmsAPI);
            HttpWebResponse myResp = (HttpWebResponse)myReq.GetResponse();

            System.IO.StreamReader respStreamReader = new System.IO.StreamReader(myResp.GetResponseStream());
            string responseString = respStreamReader.ReadToEnd();

            respStreamReader.Close();
            myResp.Close();

            return(RedirectToAction("SendSms").Success("Sms send successfully."));
        }
Exemplo n.º 9
0
        public async Task <IActionResult> Send(SmsViewModel model)
        {
            try
            {
                var(isSucc, errMsg) = await client.SendVerification(model.Code, 10, model.Phone);

                ModelState.AddModelError("", errMsg);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.ToString());
            }

            return(View("Index", model));
        }
Exemplo n.º 10
0
        public ActionResult Index(SmsViewModel model)
        {
            bool success = false;

            //gives weird error of selectListItem vs String
            ModelState.Remove("StandardResponses");

            if (ModelState.IsValid)
            {
                try
                {
                    if (model != null && !string.IsNullOrWhiteSpace(model.ToNumber) && !string.IsNullOrWhiteSpace(ApplicationSettings.TwilioPhoneNum) && !string.IsNullOrWhiteSpace(model.Message))
                    {
                        var currentUser = GetCurrentUser();
                        var sms         = new SmsMessage
                        {
                            FromNumber        = ApplicationSettings.TwilioPhoneNum,
                            ToNumber          = model.ToNumber.Trim(),
                            UserId            = model.UserId,
                            Message           = model.Message,
                            ReplyReceived     = false,
                            SentDate          = DateTime.Now,
                            CreatedById       = currentUser.ID,
                            SmsResponseSource = model.ResponseSource
                        };

                        messagingService.SendSms(sms);
                        success = true;
                    }
                }
                catch (Exception ex)
                {
                    success = false;
                    loggingService.LogException(ex);
                }

                SetFeedbackMessage(success,
                                   "Sms has been sent successfully.",
                                   "There has been an error whilst sending sms. Please try again.");

                return(RedirectToAction("Index", new { phone = model.ToNumber, carerId = model.UserId, isPopup = model.IsPopup, src = model.ResponseSource }));
            }
            else
            {
                model.StandardResponses = GetStandardResponses(model.ResponseSource);
                return(View(model));
            }
        }
Exemplo n.º 11
0
        public IActionResult SendSmsNotification(SmsViewModel smsViewModel)
        {
            // Retrieve the API key from the environment variables. See the project README for more info about setting this up.

            string acccountSid = ConfigurationManager.AppSetting["Tvillio:accountSid"];
            string authToken   = ConfigurationManager.AppSetting["Tvillio:authToken"];

            TwilioClient.Init(acccountSid, authToken);

            var message = MessageResource.Create(
                body: smsViewModel.Message,
                from: new PhoneNumber(smsViewModel.FromNumber),
                to: new PhoneNumber(smsViewModel.ToNumber)
                );

            return(Ok(message.Sid));
        }
Exemplo n.º 12
0
        public ActionResult Index(int id = 0)
        {
            //if the id is equal to zero or element not exists return the normal Index view with empty text box
            if (!service.Find(id))
            {
                return(View());
            }

            //if this page is reached from the contact list an id will be passed. This id needs to retrieve the contact phone number and fill the text boxs in
            SmsViewModel svm = new SmsViewModel()
            {
                PhoneNo = service.GetContactById(id).PhoneNumber.PhoneNumber,
                Prefix  = service.GetContactById(id).PhoneNumber.Prefix
            };

            return(View(svm));
        }
Exemplo n.º 13
0
        //wsdl para conexão com web service
        //http://webservices.twwwireless.com.br/reluzcap/wsreluzcap.asmx?WSDL
        public static Task <string> SmsContato(SmsViewModel model)
        {
            try
            {
                var address = new EndpointAddress("http://webservices.twwwireless.com.br/reluzcap/");
                BasicHttpBinding binding = new BasicHttpBinding();
                binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
                binding.MaxReceivedMessageSize = 768000;

                var sms     = new ReluzCapWebServiceSoapClient(binding, address);
                var retorno = sms.EnviaSMSAsync("rgsystem", "sys2727", "127", $"55{model.numero}", model.mensagem);
                return(retorno);
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 14
0
        //SMS confiramtion action. First it gets the contact from the model, if the contact is not null(so contact exists),
        // then display the confirm page view, otherwise launch the error page.
        public ActionResult SmsConfirmation(SmsViewModel sms)
        {
            Contact contact = service.GetContactByPhoneNumber(new PhoneNo {
                Prefix = sms.Prefix, PhoneNumber = sms.PhoneNo
            });

            if (contact != null)
            {
                //for log purposes. Get the contact and pass the contact name and text message to log class to display to Debug output
                Log.Message(contact.FirstName + " " + contact.LastName, sms.TextMessage);

                ConfirmPageViewModel confirmPageVM = service.CreateConfirmPageViewModel(sms, contact);

                return(View(confirmPageVM));
            }

            return(RedirectToAction("Error"));
        }
Exemplo n.º 15
0
        public async Task <ActionResult> SendAsync(SmsViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.InvalidModelState(this.ModelState));
            }

            var meta = await AppUsers.GetCurrentAsync().ConfigureAwait(true);

            model.UserId = meta.UserId;

            try
            {
                bool result = await TextMessages.SendAsync(this.Tenant, model, meta).ConfigureAwait(true);

                return(this.Ok(result));
            }
            catch (Exception ex)
            {
                this.Failed(ex.Message, HttpStatusCode.InternalServerError);
                throw;
            }
        }