예제 #1
0
        public IEnumerable <ReminderDomain> Get(ReminderSelector selector)
        {
            IFindFluent <ReminderEntity, ReminderEntity> query;

            if (!string.IsNullOrEmpty(selector.Title))
            {
                query = _context.Reminder.Find(x => x.Title.ToLower().StartsWith(selector.Title.ToLower()));
            }
            else
            {
                query = _context.Reminder.Find(_ => true);
            }

            query = query.Skip((selector.Page - 1) * selector.RegisterPerPage);
            query = query.Limit(selector.RegisterPerPage);

            if (selector.Ordination == OrderBy.ASC)
            {
                query = query.Sort(Builders <ReminderEntity> .Sort.Ascending(selector.OrderByField));
            }
            else
            {
                query = query.Sort(Builders <ReminderEntity> .Sort.Descending(selector.OrderByField));
            }

            return(this._mapper.Map <IEnumerable <ReminderDomain> >(query.ToList()));
        }
 public ActionResult Get([FromQuery] ReminderSelector selector)
 {
     try {
         var result = this._mapper.Map <IEnumerable <ReminderViewModel> >(this._reminderAppService.Get(selector));
         return(Ok(new ResponseViewModel {
             Data = result
         }));
     } catch (Exception ex) {
         return(StatusCode(500, new ResponseViewModel {
             ErrorMessage = ex.Message
         }));
     }
 }
예제 #3
0
 public IEnumerable <ReminderDomain> Get(ReminderSelector selector)
 {
     return(this._reminderRepository.Get(selector));
 }