public ChildrenWorksController(ISMSSender smsSender, ILogger <AccountController> logger, UserManager <ApplicationUser> userManager, ApplicationDbContext context) { _context = context; _userManager = userManager; _logger = logger; _smsSender = smsSender; }
/// <summary> /// Constructor /// </summary> /// <param name="localizer"></param> /// <param name="configuration"></param> /// <param name="loggerFactory"></param> /// <param name="logger"></param> /// <param name="slotRepository"></param> /// <param name="placeRepository"></param> /// <param name="userRepository"></param> /// <param name="visitorRepository"></param> /// <param name="placeProviderRepository"></param> /// <param name="mojeEZdravie"></param> /// <param name="emailSender"></param> /// <param name="smsSender"></param> public AdminController( IStringLocalizer <AdminController> localizer, IConfiguration configuration, ILoggerFactory loggerFactory, ILogger <AdminController> logger, ISlotRepository slotRepository, IPlaceRepository placeRepository, IUserRepository userRepository, IVisitorRepository visitorRepository, IPlaceProviderRepository placeProviderRepository, IMojeEZdravie mojeEZdravie, IEmailSender emailSender, ISMSSender smsSender ) { this.localizer = localizer; this.loggerFactory = loggerFactory; this.logger = logger; this.slotRepository = slotRepository; this.placeRepository = placeRepository; this.userRepository = userRepository; this.configuration = configuration; this.visitorRepository = visitorRepository; this.placeProviderRepository = placeProviderRepository; this.mojeEZdravie = mojeEZdravie; this.emailSender = emailSender; this.smsSender = smsSender; }
protected override DTObject DynamicInvoke(dynamic arg) { var provider = arg.Provider; if (string.IsNullOrEmpty(provider)) { provider = "winic"; } IEnumerable <string> mobileNumbers = arg.MobileNumbers.OfType <string>(); ISMSSender sender = SMSSenderProvider.GetSender(provider); if (sender == null) { throw new BusinessException(string.Format("没有找到短信提供商{0}", provider)); } var message = arg.Message; Parallel.ForEach(mobileNumbers, (mobileNumber) => { if (string.IsNullOrEmpty(mobileNumber)) { return; } sender.Send(mobileNumber, message); }); return(DTObject.Empty); }
/// <summary> /// /// </summary> /// <param name="smsSender"></param> /// <param name="phone"></param> /// <param name="code"></param> /// <param name="userId"></param> /// <param name="culture"></param> /// <returns></returns> public static async Task <SMSLog> SendSMSVerifyAccountAsync(this ISMSSender smsSender, string phone, string code, string userId, string culture) { var message = string.Empty; switch (culture) { case "vi-VN": message = $"Ma xac nhan cua ban la {code}"; break; case "en-US": message = $"Your verify code is {code}"; break; default: message = $"Ma xac nhan cua ban la {code}"; break; } var response = await smsSender.SendSMSAsync(phone, message); return(new SMSLog() { ObjectId = userId, ObjectType = "users", Phone = phone, Message = message, SendTime = DateTime.UtcNow, MessageId = response.messageId, ErrorCode = response.error_code, ErrorDetail = response.error_detail, Type = TypeNotification.VerifyAccount.ToString() }); }
public WorkflowMessageService(IMessageTemplateService messageTemplateService, IQueuedEmailService queuedEmailService, ILanguageService languageService, ITokenizer tokenizer, IEmailAccountService emailAccountService, IMessageTokenProvider messageTokenProvider, IStoreService storeService, IStoreContext storeContext, EmailAccountSettings emailAccountSettings, IEventPublisher eventPublisher, ISMSSender smsSender, SMSSettings smsSettings) { this._messageTemplateService = messageTemplateService; this._queuedEmailService = queuedEmailService; this._languageService = languageService; this._tokenizer = tokenizer; this._emailAccountService = emailAccountService; this._messageTokenProvider = messageTokenProvider; this._storeService = storeService; this._storeContext = storeContext; this._emailAccountSettings = emailAccountSettings; this._eventPublisher = eventPublisher; this._smsSender = smsSender; this._smsSettings = smsSettings; }
private void refreshbutton_Click(object sender, EventArgs e) { //get list of new messages LabSys = SMS.GetSystem("Laboratory"); DataTable MessageList = LabSys.GetDetails(); //dataGridView1.DataSource = MessageList; sendbutton.Hide(); //clear table dataGridView1.Rows.Clear(); //convert datasource to list List <DataRow> Messagelist = MessageList.AsEnumerable().ToList(); foreach (DataRow row in MessageList.Rows) { string notificationID = row["id"].ToString(); string RecType = row["RecType"].ToString(); //string recipient = row["Recipient"].ToString(); string DTSending = row["DTSending"].ToString(); string message = row["Message"].ToString(); dataGridView1.Rows.Add(notificationID, DTSending, RecType, message); } }
/// <summary> /// Constructor /// </summary> /// <param name="localizer"></param> /// <param name="configuration"></param> /// <param name="loggerFactory"></param> /// <param name="redisCacheClient"></param> /// <param name="emailSender"></param> /// <param name="smsSender"></param> /// <param name="placeRepository"></param> /// <param name="slotRepository"></param> /// <param name="placeProviderRepository"></param> /// <param name="userRepository"></param> public VisitorRepository( IStringLocalizer <Repository.RedisRepository.VisitorRepository> localizer, IConfiguration configuration, ILoggerFactory loggerFactory, IRedisCacheClient redisCacheClient, IEmailSender emailSender, ISMSSender smsSender, IPlaceRepository placeRepository, ISlotRepository slotRepository, IPlaceProviderRepository placeProviderRepository, IUserRepository userRepository ) : base( localizer, configuration, loggerFactory.CreateLogger <Repository.RedisRepository.VisitorRepository>(), redisCacheClient, emailSender, smsSender, placeRepository, slotRepository, placeProviderRepository, userRepository ) { logger = loggerFactory.CreateLogger <VisitorRepository>(); this.configuration = configuration; }
public SMSSenderService(IOptions <ApplicationSettings> appSettings, IHostingEnvironment environment, ISMSSender smsSender) { _appSettings = appSettings; _smsSender = smsSender; _environment = environment; }
private void updatebutton_Click(object sender, EventArgs e) { LabSys = SMS.GetSystem("Laboratory"); Connection.url = comboBox1.SelectedItem.ToString(); Console.WriteLine(comboBox1.SelectedItem.ToString()); Console.WriteLine(Connection.url.ToString()); Console.WriteLine(LabSys.GetListing()); }
public VerifyController(ISMSSender smsSender, IConfiguration configuration, ILogger <VerifyController> logger) { _smsSender = smsSender; _configuration = configuration; _logger = logger; }
private void refreshBtn_Click(object sender, EventArgs e) { //get list of new messages LabSys = SMS.GetSystem("Laboratory"); DataTable MessageList = LabSys.GetListing(); dataGridView1.DataSource = MessageList; //bunifuCustomDataGrid1.DataSource = MessageList; }
public AccountController(SignInManager <User> signInManager, UserManager <User> userManager , ILogger <AccountController> logger, IEmailSender emailSender, ISMSSender sMSSender) { _logger = logger; _signManager = signInManager; _userManager = userManager; _emailSender = emailSender; _sMSSender = sMSSender; }
public UserManageController(UserManager <ApplicationUser> userManager, RoleManager <ApplicationRole> roleManager, ILogger <AccountController> logger, IEmailSender emailSender, ISMSSender smsSender) { _userManager = userManager; _roleMangeer = roleManager; _logger = logger; _emailSender = emailSender; _smsSender = smsSender; }
public ManageController(UserManager <User> userManager, SignInManager <User> signInManager, ILogger <ManageController> logger, IEmailSender emailSender, UrlEncoder urlEncoder, ISMSSender sMSSender) { _userManager = userManager; _signInManager = signInManager; _logger = logger; _emailSender = emailSender; _urlEncoder = urlEncoder; _sMSSender = sMSSender; }
public AccountController( UserManager <ApplicationUser> userManager, SignInManager <ApplicationUser> signInManager, IEmailSender emailSender, ISMSSender smsSender, ILogger <AccountController> logger) { _userManager = userManager; _signInManager = signInManager; _emailSender = emailSender; _smsSender = smsSender; _logger = logger; }
private void Form1_Load(object sender, EventArgs e) { Connection.url = "http://localhost:63556/SmsService.asmx/"; LabSys = SMS.GetSystem("Laboratory"); OverviewView.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; OverviewView.TopLevel = false; OverviewView.AutoScroll = true; panel1.Controls.Add(OverviewView); OverviewView.Show(); InboxView.Hide(); }
/// <summary> /// Constructor for SMS Service. Takes dependency injected services to /// send SMS notifications. /// </summary> /// <param name="smsSender">The <see cref="ISMSSender"/> implementation to use in this SMS Service</param> /// <param name="logger">The <see cref="ILogger"/> to be used in logging</param> /// <param name="dataService">The <see cref="IDataService"/> used for data access</param> /// <param name="settings">DI <see cref="SMSSettings"/> for the application.</param> public SMSService(ISMSSender smsSender, ILogger <SMSService> logger, IDataService dataService, IOptions <SMSSettings> settings) { _smsSender = smsSender; _logger = logger; _dataService = dataService; _smsSettings = settings.Value; var maxDelay = TimeSpan.FromSeconds(36); var delay = Backoff.DecorrelatedJitterBackoffV2(medianFirstRetryDelay: TimeSpan.FromSeconds(1), retryCount: 50) .Select(s => TimeSpan.FromTicks(Math.Min(s.Ticks, maxDelay.Ticks))); _retryPolicy = Policy .Handle <Exception>() .WaitAndRetryAsync(delay); }
private void refreshBtn_Click(object sender, EventArgs e) { string recipient = RecipientTextBox.Text.ToString(); string message = MessagetextBox.Text.ToString(); string dateSending = Datepicker.Value.ToShortDateString(); string timesending = timeTextBox1.Text.ToString(); string dtSending = dateSending + " " + timesending; string type = typeDropdown.selectedValue.ToString(); //get list of new messages LabSys = SMS.GetSystem("Laboratory"); LabSys.setNewNotification(type, recipient, message, dtSending); Console.WriteLine("new notification added"); }
/// <summary> /// Constructor /// </summary> /// <param name="localizer"></param> /// <param name="configuration"></param> /// <param name="logger"></param> /// <param name="redisCacheClient"></param> /// <param name="emailSender"></param> /// <param name="smsSender"></param> /// <param name="placeRepository"></param> /// <param name="placeProviderRepository"></param> public UserRepository( IStringLocalizer <UserRepository> localizer, IConfiguration configuration, ILogger <UserRepository> logger, IRedisCacheClient redisCacheClient, IEmailSender emailSender, ISMSSender smsSender, IPlaceRepository placeRepository, IPlaceProviderRepository placeProviderRepository ) { this.localizer = localizer; this.logger = logger; this.redisCacheClient = redisCacheClient; this.emailSender = emailSender; this.smsSender = smsSender; this.configuration = configuration; this.placeRepository = placeRepository; this.placeProviderRepository = placeProviderRepository; }
private void dataGridView2_CellEnter(object sender, DataGridViewCellEventArgs e) { sendbutton.Show(); //get list of new messages LabSys = SMS.GetSystem("Laboratory"); //select item in the table int rowindex = dataGridView2.CurrentCell.RowIndex; int columnindex = dataGridView2.CurrentCell.ColumnIndex; //column index guide // 0 = id // 1 = date // 2 = type // 3 = content DetailsDateSending.Text = dataGridView2.Rows[rowindex].Cells[0].Value.ToString(); DetailsRecipients.Text = dataGridView2.Rows[rowindex].Cells[2].Value.ToString(); DetailsContent.Text = dataGridView2.Rows[rowindex].Cells[3].Value.ToString(); }
/// <summary> /// constructor /// </summary> /// <param name="localizer"></param> /// <param name="localizer2"></param> /// <param name="configuration"></param> /// <param name="loggerFactory"></param> /// <param name="redisCacheClient"></param> /// <param name="emailSender"></param> /// <param name="smsSender"></param> /// <param name="placeRepository"></param> /// <param name="placeProviderRepository"></param> public UserRepository( IStringLocalizer <UserRepository> localizer, IStringLocalizer <Repository.RedisRepository.UserRepository> localizer2, IConfiguration configuration, ILoggerFactory loggerFactory, IRedisCacheClient redisCacheClient, IEmailSender emailSender, ISMSSender smsSender, IPlaceRepository placeRepository, IPlaceProviderRepository placeProviderRepository ) : base( localizer2, configuration, loggerFactory.CreateLogger <Repository.RedisRepository.UserRepository>(), redisCacheClient, emailSender, smsSender, placeRepository, placeProviderRepository ) { this.localizer = localizer; this.placeProviderRepository = placeProviderRepository; }
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) { sendbutton.Hide(); //get list of new messages LabSys = SMS.GetSystem("Laboratory"); //select item in the table int rowindex = dataGridView1.CurrentCell.RowIndex; int columnindex = dataGridView1.CurrentCell.ColumnIndex; //int notificationId = int.Parse(dataGridView1.Rows[rowindex].Cells[0].ToString()); // DataTable RecipientsList = LabSys.GetRecipientsList(1); //Console.WriteLine(RecipientsList); //column index guide // 0 = id // 1 = date // 2 = recipient number // 3 = content DetailsDateSending.Text = dataGridView1.Rows[rowindex].Cells[1].Value.ToString(); DetailsRecipients.Text = dataGridView1.Rows[rowindex].Cells[2].Value.ToString(); DetailsContent.Text = dataGridView1.Rows[rowindex].Cells[3].Value.ToString(); }
//--------------------------------------------------------------- public CResultAErreur Send(int nIdSession) { ISMSSender sender = (ISMSSender)C2iFactory.GetNewObjetForSession("CSMSSender", typeof(ISMSSender), nIdSession); return(sender.SendMessage(this)); }
internal void InitializePhoneVerification(ISMSSender phoneVerification) { PhoneVerificationFacade = new PhoneVerificationFacade(phoneVerification); }
public static async Task <Data.State> SendSMSAsync(string from, string to, string text, ISMSSender smsSender) { Data.Country country = await Data.DataProvider.IdentifyCountry(to); var state = Data.State.Failed; if (country != null) { state = await smsSender.SendSMSAsync(from, to, country.MobileCode, text); } int saved = await Data.DataProvider.AddSMSAsync(from, to, country, state, DateTime.UtcNow); return(saved > 0 ? state : Data.State.Failed); }
/// <summary> /// /// </summary> /// <param name="context"></param> /// <param name="smsSender"></param> public SendSMSConsumer(ApplicationDbContext context, ISMSSender smsSender) { _context = context; _smsSender = smsSender; }
public PhoneVerificationFacade(ISMSSender phoneVerification) { _smsSender = phoneVerification; }
public SMSController(ISMSSender smsSender) { _smsSender = smsSender; }
private void UpdateAndSentMessages() { string messageStatus = "Sent"; string recipient = ""; string message = ""; string notificationRecipientID = ""; string sendingDate = ""; string notificationID = ""; DateTime date1; string sentDate = DateTime.Now.ToString(); //clear table dataGridView2.Rows.Clear(); //get list of new messages LabSys = SMS.GetSystem("Laboratory"); DataTable MessageList = LabSys.GetUnsentItems(); //dataGridView2.DataSource = MessageList; try { //convert datasource to list List <DataRow> Messagelist = MessageList.AsEnumerable().ToList(); foreach (DataRow row in MessageList.Rows) { notificationRecipientID = row["Id"].ToString(); notificationID = row["Id"].ToString(); recipient = row["ContactInfo"].ToString(); message = row["Message"].ToString(); sendingDate = row["DTSending"].ToString(); dataGridView2.Rows.Add(sendingDate, notificationID, recipient, message); //get date and time today date1 = Convert.ToDateTime(sendingDate); if (date1 <= DateTime.Now) { Console.WriteLine(date1 + " - DATE TIME LESS THAN TODAY - ACTION SEND AND LOG"); // messageStatus = LabSys.SendSMS(recipient, message); //uncomment to enable sending //inset new activity log //LabSys.updateActivityLog(notificationRecipientID, messageStatus, "none"); // update activity log } else if (date1 > DateTime.Now) { Console.WriteLine(date1 + " - DATE TIME GREATER THAN TODAY - ACTION IGNORE"); } } DataTable FailedList = LabSys.FailedItems(); List <DataRow> Failedlist = FailedList.AsEnumerable().ToList(); Console.WriteLine("GETTING FAILED LISTS"); foreach (DataRow row in FailedList.Rows) { notificationRecipientID = row["Id"].ToString(); notificationID = row["NotificationId"].ToString(); recipient = row["ContactInfo"].ToString(); message = row["Message"].ToString(); sendingDate = row["DTSending"].ToString(); dataGridView2.Rows.Add(sendingDate, notificationID, recipient, message); Console.WriteLine(notificationRecipientID); //check multiple entries on recipientID //DataTable FailedListID = LabSys.GetLogByRecipientIdList_Failed(int.Parse(notificationRecipientID)); ////get date and time today //date1 = Convert.ToDateTime(sendingDate); //if (date1 <= DateTime.Now) //{ // Console.WriteLine(date1 + " - DATE TIME LESS THAN TODAY - ACTION SEND AND LOG"); // messageStatus = LabSys.SendSMS(recipient, message); //uncomment to enable sending // //inset new activity log // LabSys.updateActivityLog(notificationRecipientID, messageStatus, "none"); //} //else if (date1 > DateTime.Now) //{ // Console.WriteLine(date1 + " - DATE TIME GREATER THAN TODAY - ACTION IGNORE"); //} } } catch (Exception ex) { MessageBox.Show("SMS Manager cannot connect to the server. " + ex.ToString()); } }