public async Task <CommunicationResponse> Handle(SendSMSRequest Request, CancellationToken cancellationToken) { try { var Message = new MessagingQueue() { MobileNo = Request.MobileNo, SMSText = Request.Message, SMSSendBy = 0, Status = Convert.ToInt16(MessageStatusType.Initialize), CreatedBy = 1, CreatedDate = DateTime.UtcNow }; _MessageRepository.Add(Message); Message.InQueueMessage(); _MessageRepository.Update(Message); IQueryable Result = await _MessageConfiguration.GetAPIConfigurationAsync(1, 1); foreach (CommunicationProviderList g in Result) { await _MessageService.SendSMSAsync(Message.MobileNo, Message.SMSText, g.SMSSendURL, g.SenderID, g.UserID, g.Password); } return(await Task.FromResult(new CommunicationResponse { ErrorCode = 101, ReturnMsg = "Message sent." })); } catch (Exception ex) { return(await Task.FromResult(new CommunicationResponse { ErrorCode = 99, ReturnMsg = "Message not sent." })); } }
public async Task <CommunicationResponse> Handle(SendSMSRequest Request, CancellationToken cancellationToken) { try { var Message = new MessagingQueue() { MobileNo = Request.MobileNo, SMSText = Request.Message, SMSSendBy = 0, Status = Convert.ToInt16(enMessageService.Init), CreatedBy = 1, CreatedDate = DateTime.UtcNow }; _MessageRepository.Add(Message); Message.InQueueMessage(); _MessageRepository.Update(Message); IQueryable Result = await _MessageConfiguration.GetAPIConfigurationAsync(1, 1); foreach (CommunicationProviderList Provider in Result) { string Response = await _MessageService.SendSMSAsync(Message.MobileNo, Message.SMSText, Provider.SendURL, Provider.SenderID, Provider.UserID, Provider.Password); //string Response = " GUID:2387354506261631296 , responseTime:2018-10-05 16:00:46"; CopyClass.CopyObject(Provider, ref _GetDataForParsingAPI); _GenerateResponse = _WebApiParseResponse.ParseResponseViaRegex(Response, _GetDataForParsingAPI); if (_GenerateResponse.Status == enTransactionStatus.Success) { Message.SentMessage(); Message.RespText = Response; _MessageRepository.Update(Message); return(await Task.FromResult(new CommunicationResponse { ReturnCode = enResponseCode.Success, ReturnMsg = EnResponseMessage.SMSSuccessMessage })); } else { continue; } } Message.FailMessage(); _MessageRepository.Update(Message); return(await Task.FromResult(new CommunicationResponse { ReturnCode = enResponseCode.Fail, ReturnMsg = EnResponseMessage.SMSFailMessage })); } catch (Exception ex) { return(await Task.FromResult(new CommunicationResponse { ReturnCode = enResponseCode.InternalError, ReturnMsg = EnResponseMessage.SMSExceptionMessage })); } }