public async Task LogSms(TSmsLog smsLog) { try { using (var scope = _serviceScope.CreateScope()) { var dbcontext = scope.ServiceProvider.GetService <authDbContext>(); smsLog.LastFailed = null; smsLog.Lastmodified = null; smsLog.Createddate = DateTime.Now; dbcontext.TSmsLog.Add(smsLog); await dbcontext.SaveChangesAsync(); } } catch (Exception ex) { _logger.LogError(ex.Message); } }
private async Task <bool> SendGeneralSms(string messages, string sender, string phonenumber) { var cred = GetSmsCredentials(); // Get the SMS Provider switch (Enum.Parse(typeof(SMSProviderEnum), cred.ActiveSmsProvider)) { case SMSProviderEnum.Twilio: // Twilio SMS Credentials var appSettingsSection = _config.GetSection("TwilioKey"); var appSettings = appSettingsSection.Get <TwilioKey>(); //Check Intervals var twi_message = SendMessage .SendSingleMessage(appSettings.ACCOUNTSID, appSettings.AUTHTOKEN, messages, sender, phonenumber); break; case SMSProviderEnum.Nexmo: //Nexmo SMS Credentials var appNex = _config.GetSection("NexmoKey"); var appSettingsNex = appNex.Get <NexmoKey>(); var nex_message = SendNexmoMessage .SendSingleNexmoMessage(appSettingsNex.APIKEY, appSettingsNex.APISECRET, messages, sender, phonenumber); break; case SMSProviderEnum.SMSProviderNG: //SMS Provider NG Credentials var apppProv = _config.GetSection("SMSProviderNGKey"); var appSettingsProv = apppProv.Get <SMSProviderNGKey>(); string message = SMSProviderNGsms.SendSingleSMSProviderMessage(appSettingsProv.USERNAME, appSettingsProv.PASSWORD, messages, sender, phonenumber); ResponseResult value = JsonConvert.DeserializeObject <ResponseResult>(message); if (value.status == "OK") { //Log Sent message TSmsLog newrec = new TSmsLog { Sendimmediately = true, Datetosend = DateTime.Now, CanSend = true, Name = sender, From = sender, Sent = true, To = phonenumber, Message = messages, ErrorMessage = message, Subject = sender, Createdby = "Anonymous", }; await LogSms(newrec); } else { //Log Sent message TSmsLog newrec = new TSmsLog { Sendimmediately = true, Datetosend = DateTime.Now, CanSend = true, Name = sender, From = sender, Message = messages, ErrorMessage = message, Sent = false, To = phonenumber, Subject = sender, Createdby = "Anonymous", }; await LogSms(newrec); } break; default: break; } return(true); }