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)); }
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")); }
/// <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); }
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(); }
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; }
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(); }
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); } } }
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); }