public List <TeamSite> GetTeamSites([FromQuery] int id, [FromQuery] string startdate, [FromQuery] string enddate) { string query = "SELECT SessionSite FROM SessionEmployeeTable WHERE EmployeeId=@EmployeeId AND SessionDate=@Date;"; Team team = GetByIdStatic(id); List <string> dates = new List <string>(); List <TeamSite> teamsites = new List <TeamSite>(); for (DateTime dt = DateTime.Parse(startdate); dt <= DateTime.Parse(enddate); dt = dt.AddDays(1)) { dates.Add(dt.ToString("yyyy-MM-dd")); } using (SqlConnection conn = new SqlConnection(Connection.ConnString)) { try { conn.Open(); foreach (string date in dates) { TeamSite teamsite = new TeamSite { Date = date, Day = DateTime.Parse(date).DayOfWeek.ToString(), Members = new List <SessionEmployee>() }; foreach (TeamMember member in team.Members) { SessionEmployee employee = new SessionEmployee(); employee.EmployeeName = member.EmployeeName; List <string> sites = new List <string>(); sites = conn.Query <string>(query, new { date, member.EmployeeId }).ToList(); if (sites.Count < 1) { employee.SessionSite = AbsenceController.GetEmployeeStatus(member.EmployeeId, date); } else if (sites.Count > 0) { employee.SessionSite = string.Join(", ", sites); } teamsite.Members.Add(employee); } teamsites.Add(teamsite); } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); } } return(teamsites); }