Пример #1
0
        public ActionResult Create([Bind(Include = "Id,IdPaciente,IdUsuario,DataMarcadaExame,NomeExame,LocalExame")] AgendamentoExame agendamentoExame)
        {
            TwilioSMS twilioSMS  = new TwilioSMS();
            Email     email      = new Email();
            var       paciente   = db.Paciente.Find(agendamentoExame.IdPaciente);
            var       nomeMedico = db.Usuarios.Find(agendamentoExame.IdUsuario);

            var msgConfirmacaoCel = String.Format(_msgConfirmacaoAgendamentoCel, agendamentoExame.NomeExame,
                                                  agendamentoExame.DataMarcadaExame, nomeMedico.Nome, agendamentoExame.LocalExame);

            var msgConfirmacaoEmail = String.Format(_msgConfirmacaoAgendamentoEmail, agendamentoExame.NomeExame,
                                                    agendamentoExame.DataMarcadaExame, nomeMedico.Nome, agendamentoExame.LocalExame);

            if (ModelState.IsValid)
            {
                db.AgendamentoExame.Add(agendamentoExame);
                db.SaveChanges();

                if (!paciente.Telefone.IsNullOrWhiteSpace())
                {
                    twilioSMS.SendTwilioSMS(paciente.Telefone, msgConfirmacaoCel);
                }

                if (!paciente.Email.IsNullOrWhiteSpace())
                {
                    email.SendEmail(paciente.Email, _subjectConfirmacaoAgendamentoEmail, msgConfirmacaoEmail);
                }

                return(RedirectToAction($"Index"));
            }

            ViewBag.IdPaciente = new SelectList(db.Paciente, "Id", "NomeCompleto", agendamentoExame.IdPaciente);
            ViewBag.IdUsuario  = new SelectList(db.Usuarios, "Id", "Nome", agendamentoExame.IdUsuario);
            return(View(agendamentoExame));
        }
Пример #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            AgendamentoExame agendamentoExame = db.AgendamentoExame.Find(id);
            Email            email            = new Email();
            TwilioSMS        twilioSMS        = new TwilioSMS();

            var paciente   = db.Paciente.Find(agendamentoExame.IdPaciente);
            var nomeMedico = db.Usuarios.Find(agendamentoExame.IdUsuario);

            var msgCancelamentoCel = String.Format(_msgCancelAgendamentoCel, agendamentoExame.NomeExame,
                                                   agendamentoExame.DataMarcadaExame, nomeMedico.Nome, agendamentoExame.LocalExame);

            var msgCancelamentoEmail = String.Format(_msgCancelAgendamentoEmail, agendamentoExame.NomeExame,
                                                     agendamentoExame.DataMarcadaExame, nomeMedico.Nome, agendamentoExame.LocalExame);

            if (!paciente.Telefone.IsNullOrWhiteSpace())
            {
                twilioSMS.SendTwilioSMS(paciente.Telefone, msgCancelamentoCel);
            }

            if (!paciente.Email.IsNullOrWhiteSpace())
            {
                email.SendEmail(paciente.Email, _subjectCancelAgendamentoEmail, msgCancelamentoEmail);
            }

            db.AgendamentoExame.Remove(agendamentoExame);
            db.SaveChanges();
            return(RedirectToAction($"Index"));
        }
Пример #3
0
        /// <summary>
        /// Checks the database for phone enrollment with SMS Bot
        /// </summary>
        /// <param name="phoneNumber"></param>
        /// <returns></returns>
        public static TwilioSMS GetPhoneEnrollment(string phoneNumber)
        {
            if (PhoneInDb != null)
            {
                return(PhoneInDb);
            }

            var phoneInDb = SMSDataHelper.GetPhoneEnrollment(phoneNumber);

            PhoneInDb = phoneInDb;
            return(phoneInDb);
        }
Пример #4
0
 public IndexModel(
     UserManager <ApplicationUser> userManager,
     SignInManager <ApplicationUser> signInManager,
     ApplicationDbContext context,
     CountryService countryService,
     IOptionsSnapshot <TwilioSMS> twilioSMS)
 {
     _userManager       = userManager;
     _signInManager     = signInManager;
     _context           = context;
     _twilioSMS         = twilioSMS.Value;
     AvailableCountries = countryService.GetCountries();
 }
Пример #5
0
 public WorkOrdersController(ApplicationDbContext context,
                             UserManager <ApplicationUser> userManager,
                             SignInManager <ApplicationUser> signInManager,
                             RoleManager <AppRole> roleManager,
                             IOptionsSnapshot <StorageAccountOptions> storageOptions,
                             IOptionsSnapshot <TwilioSMS> twilioSMS,
                             IOptionsSnapshot <EmailConfiguration> EmailConfiguration
                             )
 {
     _context               = context;
     _userManager           = userManager;
     _signInManager         = signInManager;
     _roleManager           = roleManager;
     _storageAccountOptions = storageOptions.Value;
     _twilioSMS             = twilioSMS.Value;
     _EmailConfiguration    = EmailConfiguration.Value;
 }
Пример #6
0
 public RegisterModel(
     UserManager <ApplicationUser> userManager,
     SignInManager <ApplicationUser> signInManager,
     ILogger <RegisterModel> logger,
     // Microsoft.AspNetCore.Identity.UI.Services.IEmailSender emailSender,
     ServiceManager.Models.IEmailSender emailSenderCustom,
     ApplicationDbContext context,
     CountryService countryService,
     IOptionsSnapshot <TwilioSMS> twilioSMS)
 {
     _context       = context;
     _userManager   = userManager;
     _signInManager = signInManager;
     _logger        = logger;
     // _emailSender = emailSender;
     _emailSenderCustom = emailSenderCustom;
     _twilioSMS         = twilioSMS.Value;
     AvailableCountries = countryService.GetCountries();
 }
Пример #7
0
        public static TwilioSMS RegisterPhone(string phoneNumber, string name, string email = "")
        {
            using (var db = new TwilioContext())
            {
                var enrollment = new TwilioSMS {
                    Name = name, Phone = phoneNumber, CreationDate = DateTime.Now, UpdatedDate = DateTime.Now, Email = (email == "" ? null : email)
                };

                try
                {
                    db.Enrollments.Add(enrollment);
                    db.SaveChanges();

                    return(enrollment);
                }
                catch
                {
                    return(null);
                }
            }
        }
Пример #8
0
        public static string ParseSmsMessage(SmsRequest request)
        {
            var actionString = request.Body.Split(' ').FirstOrDefault().Replace("\"", "");
            var values       = String.Join(" ", (request.Body.Split(' ')).Skip(1));

            if (!IsPhoneRegistered(request.From) && actionString.ToLower() != "join" && actionString.ToLower() != "game" && actionString.ToLower() != "win")
            {
                PhoneInDb = null;
                return(SMSResponseMessages.UnknownPhoneMessage(request.From));
            }

            if (IsPhoneRegistered(request.From) && actionString.ToLower() == "join")
            {
                PhoneInDb = null;
                return(SMSResponseMessages.AlreadyRegisteredMessage(request.From));
            }

            ParseSMSRequestAction(request, actionString.ToLower(), values);

            PhoneInDb = null;

            return(ResponseString);
        }