/// <summary> /// Get Sent SMS Data /// </summary> /// <param name="sentSMS"></param> /// <returns></returns> public async Task <SentSMSDTO> GetSentSMSAsync(SentSMS sentSMS) { SentSMSDTO sentSMSDTO = new SentSMSDTO(); using (var db = DbConnectionFactory.OpenDbConnection()) { //here is room for better improvement. var smsResults = db.SelectAsync <Sms>(); var dataresult = smsResults.Result.Where(t => t.CreatedAt >= sentSMS.DateTimeFrom && t.CreatedAt <= sentSMS.DateTimeTo); var smsData = dataresult.Skip((int)sentSMS.Skip).Take((int)sentSMS.take).ToList(); if (smsData.Count > 0) { sentSMSDTO.TotalCount = smsData.Count(); sentSMSDTO.SmsDetail = new List <SmsDTO>(); foreach (var data in smsData) { sentSMSDTO.SmsDetail.Add(new SmsDTO() { To = data.To, Text = data.Text, From = data.From, State = data.State, CreatedAt = data.CreatedAt, Mcc = data.Mcc, Price = data.Price }); } } return(await Task.FromResult(sentSMSDTO)); } }
/// <summary> /// Get the SMS Details sent /// </summary> /// <param name="sentSMS"></param> /// <returns></returns> public async Task <SentSMSDTO> Get(SentSMS sentSMS) { var responseData = await Repository.GetSentSMSAsync(sentSMS); if (responseData == null) { Response.StatusCode = (int)HttpStatusCode.NotFound; } return(responseData); }
private void SaveSentSms(List<Client> clients, Guid templateId, bool smsServiceResponce) { var smsIdCollection = new List<Guid>(); foreach (var client in clients) { var newSentSms = new SentSMS { Id = Guid.NewGuid(), ClientId = client.Id, SendedDate = DateTime.UtcNow, SMSTemplateId = templateId, SMSServiceResponce = smsServiceResponce }; smsIdCollection.Add(newSentSms.Id); _unitOfWork.SentSMSRepository.Add(newSentSms); _unitOfWork.SentSMSRepository.Save(); } FileLoadHelper.AddImportLogSms(smsIdCollection); }