public override async Task <bool> Handle(SendSmsToContactCommand request, CancellationToken cancellationToken) { // Check contact id is valid var contact = await _db.Contacts.GetById(request.ContactId); // Get sms account detials from database var account = new SmsAccountDetials() { AccountNumber = "123456", Provider = SmsServiceProvider.Esendex }; var sent = _smsService.SendMessage(account, request.fromNumber, request.toNumber, request.message); if (!sent) { return(false); } var activity = new Activity() { ContactId = request.ContactId, Notes = request.message, ActivityTypeId = 4 }; await _db.Activities.Create(activity); await _db.SaveChangesAsync(); return(true); }
public bool SendMessage(SmsAccountDetials account, string fromNumber, string toNumber, string message) { bool result = false; switch (account.Provider) { case SmsServiceProvider.Esendex: result = EsendexSmsProvider.SendMessage(account.AccountNumber, fromNumber, fromNumber, message); break; case SmsServiceProvider.Vodafone: result = VodafoneSmsProvider.SendMessage(account.AccountNumber, fromNumber, fromNumber, message); break; } return(true); }