public object GetView3dUserDataFilter(TaskProjectModel filter) { List <User> list = new List <User>(); if (filter == null) { return(list); } string[] taskProjectTuple = filter.list.Select(x => x.taskName + "|" + x.projectName).ToArray(); using (SwarmData context = new SwarmData()) { list = context.Sessions.Include("CodeFiles") .Where(s => s.Started >= new DateTime(2018, 12, 25, 0, 0, 0)) .Where(s => s.CodeFiles.Count() > 0) .Where(s => s.DeveloperName != null && s.DeveloperName.Trim() != String.Empty) .Where(s => s.TaskName != null && s.TaskName.Trim() != String.Empty) .Where(s => s.ProjectName != null && s.ProjectName.Trim() != String.Empty) .Where(s => taskProjectTuple.Contains(s.TaskName + "|" + s.ProjectName)) .GroupBy(s => s.DeveloperName) .Select(s => s.FirstOrDefault()) .OrderByDescending(s => s.Started) .Select(s => new User { userName = s.DeveloperName, taskName = s.TaskName, projectName = s.ProjectName }).ToList(); } return(list); }
public HttpResponseMessage GetView3UserFilterVisualization(TaskProjectModel filter) { try { VisualizationService visualizationService = new VisualizationService(); var view3dData = visualizationService.GetView3dUserDataFilter(filter); var data = new JavaScriptSerializer().Serialize(view3dData); var response = Request.CreateResponse(HttpStatusCode.OK); response.Content = new StringContent(data, Encoding.UTF8, "application/json"); return(response); } catch (Exception ex) { throw InternalError.ThrowError(ex); } }