Пример #1
0
        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);
            }
        }