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);
        }
示例#2
0
        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);
        }