private static void Rolewise(TimeLog workitem, IEnumerable <TimeLog> query, TaskOwnerType owner, string taskRoleTitle) { var subQuery = query.Where(p => p.Owner == owner); if (subQuery.Any()) { workitem.Observations.Add(new Observation { Code = "Lifecycle checklist", Title = string.Format("Atleast one {0} task's iteration does not match to the current iteration.", taskRoleTitle) }); subQuery.ToList().ForEach(p => { p.Observations.Add(new Observation { Code = "Lifecycle checklist", Title = string.Format("Task #{0}'s iteration does not match to the current iteration.", p.WorkitemId), AssignedTo = p.AssignedTo, WorkitemId = p.WorkitemId }); }); } }
private void ValidateByrole(TimeLogReportingServiceContext context, TimeLog workitem, TaskOwnerType taskowner, string taskTypes) { var teamMembers = context.TeamProfiles.Where(p => string.Compare(p.Role, taskowner.ToString(), true) == 0).Select(p => p.Fullname.ToLower()).ToList(); workitem.Tasks.Where(p => p.Owner == taskowner).ToList().ForEach(p => { if (teamMembers.Where(q => teamMembers.Contains(q.ToLower()) == false).Any()) { workitem.Observations.Add(new Observation { Code = "Lifecycle checklist", Title = string.Format("One or more {0} tasks are not assigned to respective {1}s", taskTypes, taskowner), AssignedTo = workitem.AssignedTo }); } }); }
private static string GetOwnerName(TimeLog workitem, TaskOwnerType owner) { var record = workitem.Tasks.Where(p => p.Owner == owner).FirstOrDefault(); return((record != null) ? record.AssignedTo : string.Empty); }