public async Task <IActionResult> GetByTypeAsync(ListQueryType listQueryType) { try { var result = await toDoTaskService.QueryByTypeAsync(listQueryType).ConfigureAwait(false); return(Ok(result)); } catch (Exception) { return(BadRequest("Error occured at data load.")); } }
/// <summary> /// Queries todos by query type. /// </summary> /// <param name="listQueryType">The query type.</param> /// <returns></returns> public async Task <IEnumerable <ToDoTask> > QueryByTypeAsync(ListQueryType listQueryType) { var result = new List <ToDoTask>(); switch (listQueryType) { case ListQueryType.All: { result = await this.GetByAsync(x => !x.IsDeleted).ConfigureAwait(false); break; } case ListQueryType.InProgress: { result = await this.GetByAsync(x => !x.IsDeleted && !x.IsDone).ConfigureAwait(false); break; } case ListQueryType.Done: { result = await this.GetByAsync(x => !x.IsDeleted && x.IsDone).ConfigureAwait(false); break; } default: { result = await this.GetByAsync(x => !x.IsDeleted).ConfigureAwait(false); break; } } return(result); }