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); }
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); }