Esempio n. 1
0
        public async Task <string> GetProjects()
        {
            var username = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            //System.Diagnostics.Debug.WriteLine(username);
            var user = await _userManager.FindByNameAsync(username);

            var roleNames = await _userManager.GetRolesAsync(user);

            System.Diagnostics.Debug.WriteLine(JsonConvert.SerializeObject(roleNames));
            List <Projects> projects = new List <Projects>();

            List <ProjectRoles> projectRoles = await _context.ProjectRoles.ToListAsync();

            System.Diagnostics.Debug.WriteLine(JsonConvert.SerializeObject(projectRoles));

            foreach (var roleName in roleNames)
            {
                foreach (ProjectRoles projectRole in projectRoles)
                {
                    var role = await _roleManager.FindByIdAsync(projectRole.RoleId);

                    Projects project = await _context.Projects.FirstOrDefaultAsync(p => p.Id == projectRole.ProjectId);

                    if (roleName == role.Name)
                    {
                        projects.Add(project);
                    }
                }
            }
            //System.Diagnostics.Debug.WriteLine("njk " + JsonConvert.SerializeObject(projects));

            projects = projects.Where(p => p.ParentId == null).ToList();

            JSONDynamicContract contract = new JSONDynamicContract();

            contract.IncludeProperties(new List <string>()
            {
                "Id", "Name", "InverseParent", "ParentId"
            });
            string serializedProjects = JsonConvert.SerializeObject(projects, Formatting.Indented,
                                                                    new JsonSerializerSettings {
                ContractResolver = contract
            });

            return(serializedProjects);
        }
        public async Task <string> GetTaskTypes()
        {
            List <TaskTypes> taskTypes = await _context.TaskTypes.ToListAsync();

            JSONDynamicContract contract = new JSONDynamicContract();

            contract.IncludeProperties(new List <string>()
            {
                "Id", "Name"
            });
            string serializedTaskTypes = JsonConvert.SerializeObject(taskTypes, Formatting.Indented,
                                                                     new JsonSerializerSettings {
                ContractResolver = contract
            });

            return(serializedTaskTypes);
        }
        public async Task <string> GetComments(int id)
        {
            List <Comments> comments = await _context.Comments.ToListAsync();

            comments = comments.Where(c => c.ProjectTaskId == id).ToList();

            JSONDynamicContract contract = new JSONDynamicContract();

            contract.IncludeProperties(new List <string>()
            {
                "Id", "Text", "CreateDate", "UserId"
            });
            string serializedComments = JsonConvert.SerializeObject(comments, Formatting.Indented,
                                                                    new JsonSerializerSettings {
                ContractResolver = contract
            });

            return(serializedComments);
        }
        public async Task <string> GetFiles(int id)
        {
            List <Files> files = await _context.Files.ToListAsync();

            files = files.Where(f => f.TaskId == id).ToList();

            JSONDynamicContract contract = new JSONDynamicContract();

            contract.IncludeProperties(new List <string>()
            {
                "Id", "FileName"
            });
            string serializedFiles = JsonConvert.SerializeObject(files, Formatting.Indented,
                                                                 new JsonSerializerSettings {
                ContractResolver = contract
            });

            return(serializedFiles);
        }
Esempio n. 5
0
        public async Task <string> GetTasks(int id)
        {
            List <ProjectTasks> tasks = await _context.ProjectTasks.ToListAsync();

            tasks = tasks.Where(t => t.ProjectId == id && t.ParentTaskId == null).ToList();

            List <TaskNode> tasknodes = new List <TaskNode>();

            foreach (ProjectTasks task in tasks)
            {
                TaskNode node = new TaskNode
                {
                    data = new TaskNode.TaskNodeData
                    {
                        id          = task.Id,
                        title       = task.Title,
                        description = task.Description
                    }
                };
                tasknodes.Add(node);
                AddToChildrenProperty(node, task);
            }

            JSONDynamicContract contract = new JSONDynamicContract();

            contract.IncludeProperties(new List <string>()
            {
                "id", "data", "title", "description", "children"
            });

            string serializedTasks = JsonConvert.SerializeObject(tasknodes, Formatting.Indented,
                                                                 new JsonSerializerSettings {
                ContractResolver = contract
            });

            return(serializedTasks);
            //return "{\"data\":[{\"data\":{\"name\":\"Documents\",\"size\":\"75kb\",\"type\":\"Folder\"},\"children\":[{\"data\":{\"name\":\"Work\",\"size\":\"55kb\",\"type\":\"Folder\"}}]}]}";
        }
        public async Task <string> GetTask(int id)
        {
            ProjectTasks task = await _context.ProjectTasks.FirstOrDefaultAsync(t => t.Id == id);

            JSONDynamicContract contract = new JSONDynamicContract();

            contract.IncludeProperties(new List <string>()
            {
                "Id", "Title", "StartedOn", "EndedOn",
                "Url", "StatusId", "TaskTypeId",
                "AssignedUserId", "EstimatedEndsOn",
                "ParentTaskId", "ProjectId",
                "UserId", "Description", "CreatedOn",
                "CompletedPercent"
            });
            string serializedTask = JsonConvert.SerializeObject(task, Formatting.Indented,
                                                                new JsonSerializerSettings {
                ContractResolver = contract
            });

            System.Diagnostics.Debug.WriteLine(serializedTask);
            return(serializedTask);
        }