public bool UpdateSmsStatus(SmsStatusUpdate smsStatusUpdate)
        {
            var result = _smsRepository.UpdateOutboundSmsStatus(smsStatusUpdate);

            if (result.IsFalse())
                return false;

            return _errorEngine.IsErrorState(smsStatusUpdate.Status)
                ? _smsRepository.CreateSmsError(smsStatusUpdate.MessageSid, smsStatusUpdate.ErrorCode, smsStatusUpdate.ErrorMessage)
                : result;
        }
        public bool UpdateOutboundSmsStatus(SmsStatusUpdate smsStatusUpdate)
        {
            if (smsStatusUpdate.IsNull())
                return false;

            var sms = GetSmsByUid(smsStatusUpdate.MessageSid);

            if (sms.IsNull())
                return false;

            sms.Status = smsStatusUpdate.Status;
            sms.DateUpdated = DateTime.UtcNow;

            return _smsContext.SaveChanges() > 0;
        }