public Risk[] GetRisks() { SqlForUserDepartment sqlForUserDepartment = new SqlForUserDepartment(); var departments = sqlForUserDepartment.SelectAllByAppUser(CurrentUser); var projects = new List <Project>(); SqlForProject sqlForProject = new SqlForProject(); foreach (UserDepartment department in departments) { var t = sqlForProject.SelectByDepartment(department.Department); projects.AddRange(t); } SqlForUserProject sqlForUserProject = new SqlForUserProject(); projects.AddRange(sqlForUserProject.SelectAllByAppUser(CurrentUser).Select(x => x.Project)); projects = projects.Distinct().ToList(); var risks = new List <Risk>(); SqlForRisk sqlForRisk = new SqlForRisk(); foreach (Project project in projects) { var t = sqlForRisk.SelectByProject(project); risks.AddRange(t); } IEqualityComparer <Risk> comparer = new ModelsComparer(); risks = risks.Distinct(comparer).ToList(); return(risks.ToArray()); }
public Department[] GetUserDepartments() { if (CurrentUser == null) { return(null); } SqlForUserDepartment sqlForUserDepartment = new SqlForUserDepartment(); UserDepartment[] ud = sqlForUserDepartment.SelectAllByAppUser(CurrentUser); var result = ud.Select(x => x.Department); return(result.ToArray()); }