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();
 }
Exemple #2
0
        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);
        }
Exemple #3
0
 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")));
 }