public async Task <ManagerTask> GetByIdAsync(int taskId) { using (var db = new BkDbContext()) { var task = new ManagerTask(await db.Tasks.FirstOrDefaultAsync(p => p.Id == taskId)); await FillManagerTaskStatusAndDecision(db, task); return(task); } }
private async Task FillManagerTaskStatusAndDecision(BkDbContext db, ManagerTask task) { var decisions = await( from resolution in db.Resolutions join agent in db.Agents on resolution.AgentId equals agent.Id where resolution.TaskId == task.Id select new TaskDecision { AgentId = agent.Id, AgentCode = agent.Code, Decision = resolution.Decision }).ToListAsync(); task.Status = GetStatus(decisions.Select(p => p.Decision)); task.Decisions = decisions; }