/// <summary> /// Check uniqueness /// </summary> /// <param name="title"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <bool> HasUniqueTitle(string title, CancellationToken cancellationToken) { var specification = new ToDoItemSearchSpecification(title, exactSearch: true); var entities = await _repo.GetItemsAsync(specification); return(entities == null || entities.Count() == 0); }
/// <summary> /// Check uniqueness /// </summary> /// <param name="title"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <bool> HasUniqueTitle(string title, CancellationToken cancellationToken) { ToDoItemSearchSpecification specification = new ToDoItemSearchSpecification(title, exactSearch: true); System.Collections.Generic.IEnumerable <Core.Entities.ToDoItem> entities = await _repo.GetItemsAsync(specification); return(entities == null || entities.Count() == 0); }
/// <summary> /// Check uniqueness /// </summary> /// <param name="command"></param> /// <param name="title"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <bool> HasUniqueName(UpdateCommand command, string title, CancellationToken cancellationToken) { var specification = new ToDoItemSearchSpecification(title, exactSearch: true); var entities = await _repo.GetItemsAsync(specification); return(entities == null || entities.Count() == 0 || // self entities.All(x => x.Id == command.Id)); }
public async Task Run([TimerTrigger("0 */5 * * * *", RunOnStartup = true)] TimerInfo myTimer) { _log.LogInformation($"StarterFunction Timer trigger function executed at: {DateTime.Now}"); // Example code to retrieve all ToDoItems and email "*****@*****.**" when time trigger is hit. var specification = new ToDoItemSearchSpecification(false); var entities = await _repo.GetItemsAsync(specification); string messageBody = JsonSerializer.Serialize(entities); await _emailService.SendEmailAsync("*****@*****.**", "No Reply", "Todo Item Summary", messageBody); }
/// <summary> /// Handle /// </summary> /// <param name="query"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <QueryResponse> Handle(GetAllQuery query, CancellationToken cancellationToken) { QueryResponse response = new QueryResponse(); // If needed, this is where to implement cache reading and setting logic //var cachedEntities = await _cachedToDoItemsService.GetCachedToDoItemsAsync(); //var entities = await _repo.GetItemsAsync($"SELECT * FROM c"); // Get all the incompleted todo items var specification = new ToDoItemSearchSpecification(false); var entities = await _repo.GetItemsAsync(specification); response.Resource = entities.Select(x => _mapper.Map <ToDoItemModel>(x)); return(response); }
/// <summary> /// Handle /// </summary> /// <param name="query"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <QueryResponse> Handle(SearchToDoItemQuery query, CancellationToken cancellationToken) { QueryResponse response = new QueryResponse(); // records ToDoItemSearchSpecification specification = new ToDoItemSearchSpecification(query.TitleFilter, query.Start, query.PageSize, query.SortColumn, query.SortDirection ?? query.SortDirection.Value); IEnumerable <Core.Entities.ToDoItem> entities = await _repo.GetItemsAsync(specification); response.Resource = entities.Select(x => _mapper.Map <ToDoItemModel>(x)); // count ToDoItemSearchAggregationSpecification countSpecification = new ToDoItemSearchAggregationSpecification(query.TitleFilter); response.TotalRecordsMatched = await _repo.GetItemsCountAsync(countSpecification); response.CurrentPage = (query.PageSize != 0) ? query.Start / query.PageSize : 0; return(response); }