public async Task <IActionResult> TodoBadgeCalculator() { var entities = (await _todoService.ListAsync(statuses: EN_TodoStatus.GetAll().Select(t => t.ID).ToArray(), searchString: null)).ToList(); return(Ok(new { todo = entities.Where(t => EN_TodoStatus.GetAll().Where(t => t.ID != EN_TodoStatus.Completed.ID && t.ID != EN_TodoStatus.Deleted.ID).Select(t => t.ID).Contains(t.TD_StatusID)).Count(), important = entities.Where(t => t.TD_Important == true && EN_TodoStatus.GetAll().Where(t => t.ID != EN_TodoStatus.Completed.ID && t.ID != EN_TodoStatus.Deleted.ID).Select(t => t.ID).Contains(t.TD_StatusID)).Count(), done = entities.Where(t => t.TD_StatusID == EN_TodoStatus.Completed.ID).Count(), trash = entities.Where(t => t.TD_StatusID == EN_TodoStatus.Deleted.ID).Count() })); }
public ProfileConfig() : base(nameof(ProfileConfig)) { AllowNullCollections = true; AllowNullDestinationValues = true; CreateMap <Todo_Master, TodoDTO>() .ForMember(m => m.TD_Priority, o => o.MapFrom(s => (int)s.TD_Priority)) .ForMember(m => m.TD_Deadline, o => o.MapFrom(s => (int)s.TD_Deadline)) .ForMember(m => m.PriorityCss, o => o.MapFrom(s => s.TD_Priority.ToCssPriority())) .ForMember(m => m.StatusCss, o => o.MapFrom(s => EN_TodoStatus.FromID(s.TD_StatusID).ToCssStatus())) .ForMember(m => m.ImportantCss, o => o.MapFrom(s => s.TD_Important ? " todo-task-important " : "")); CreateMap <TodoDTO, Todo_Master>() .EqualityComparison((s, d) => s.TD_ID != 0 && s.TD_ID == d.TD_ID) .ForMember(m => m.TD_ID, o => o.Ignore()) .ForMember(m => m.TD_Priority, o => o.MapFrom(s => (TodoPriorityEnum)s.TD_Priority)) .ForMember(m => m.TD_Deadline, o => o.MapFrom(s => (TodoDeadlineEnum)s.TD_Deadline)); }
public async Task <bool> ChangeStatusAsync(int todoId, short statusId) { var todo = await FindAsync(todoId : todoId); if (todo == null) { return(false); } if (EN_TodoStatus.FromID(statusId) == null) { return(false); } todo.TD_StatusDate = todo.TD_StatusID == statusId ? todo.TD_StatusDate : DateTime.Now; todo.TD_StatusID = statusId; await _repository.UpdateAsync(todo); await _repository.UnitOfWork.SaveEntitiesAsync(); return(true); }