public NotesController(IReadNoteService readNoteService, ICreateNoteService createNoteService, IUpdateNoteService updateNoteService, IDeleteNoteService deleteNoteService, IReadNoteListService readNoteListService, ILogger <NotesController> logger, IOptions <AppConfiguration> appOptions) { _readNoteService = readNoteService; _createNoteService = createNoteService; _updateNoteService = updateNoteService; _deleteNoteService = deleteNoteService; _readNoteListService = readNoteListService; _logger = logger; _appOptions = appOptions; _noteMappingService = new NoteMappingService(); _noteListMappingService = new NoteListMappingService(); }
public static IEnumerable <Note> Sort(this IEnumerable <Note> notes, JsonApiQuery query, NoteMappingService noteMappingService) { foreach (var sort in query.Sorts.Reverse()) { if ("text".Equals(sort.Field, StringComparison.OrdinalIgnoreCase)) { notes = notes.SortedBy(s => s.Text, sort.Descending); } if ("createdOn".Equals(sort.Field, StringComparison.OrdinalIgnoreCase)) { notes = notes.SortedBy(s => s.CreatedOn, sort.Descending); } if ("id".Equals(sort.Field, StringComparison.OrdinalIgnoreCase)) { notes = notes.SortedBy(s => s.Id, sort.Descending); } if ("creator".Equals(sort.Field, StringComparison.OrdinalIgnoreCase)) { notes = notes.SortedBy(s => s.Creator, sort.Descending); } } return(notes); }
public static IEnumerable <Note> Filter(this IEnumerable <Note> notes, JsonApiQuery query, NoteMappingService noteMappingService) { return(notes .ApplyKeywordFilters(s => s.Text, query.FindFilters("text")) .ApplyKeywordFilters(s => s.Creator, query.FindFilters("creator")) .ApplyKeywordFilters(s => s.NoteListId.ToString(), query.FindFilters("noteListId")) .ApplyIsInRangeFilters(s => s.CreatedOn, query.FindFilters("createdOn"))); }