public IEnumerable <SMSLog> GetSMSLog(SMSLogRequestDto req) { Expression <Func <SMSLog, bool> > predicate = c => true; if (!string.IsNullOrEmpty(req.SmsTo)) { predicate = predicate.And(p => p.SmsTo == req.SmsTo); } if (!string.IsNullOrEmpty(req.Status)) { predicate = predicate.And(p => p.Status == req.Status); } if (req.DateFrom != null && req.DateTo != null) { predicate = predicate.And(p => p.CreatedDate.Date >= req.DateFrom.Value.Date && p.CreatedDate.Date <= req.DateTo.Value.Date); } var data = this.GetMany(predicate).OrderByDescending(p => p.CreatedDate); return(data); }
public IActionResult GetSMSLogRequest([FromBody] SMSLogRequestDto req) { var data = unitOfWork.SMSLog.GetSMSLog(req); int pageSize = req.PageSize ?? configuration.GetValue <int>("PagingOptions:PageSize"); int pageNumber = req.PageNumber ?? configuration.GetValue <int>("PagingOptions:PageNumber"); SMSLogResponseDto response = new SMSLogResponseDto() { Data = mapper.Map <IEnumerable <SMSLog>, IEnumerable <SMSLogDto> >(PagingList.Create(data, pageSize, pageNumber)), TotalRecord = data.Count(), IsSuccess = true, StatusCode = (int)HttpStatusCode.OK, ResponseMessage = "Request has been complited successfully" }; if (data == null) { return(NotFound(new BaseResponse(false, 404, "Previous request data was not found"))); } return(Ok(response)); }