public async Task <IHttpActionResult> AddLinkedProject(Guid linkedProjectId, Guid workProjectId) { WorkProject workProject = await db.WorkProjects.Include("Project").FirstOrDefaultAsync(item => item.ProjectId == workProjectId); if (workProject == null) { return(NotFound()); } if (ProjectHelper.HasUpdateAccess(workProject.Project) == false) { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.Forbidden, "No Access")); } Project project = await db.Projects.FirstOrDefaultAsync(item => item.Id == linkedProjectId); if (project == null) { return(NotFound()); } if (ProjectHelper.HasUpdateAccess(project) == false) { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.Forbidden, "No Access")); } var fta = db.FTAProjects.FirstOrDefault(item => item.ProjectId == linkedProjectId); if (fta != null) { if (workProject.FTAProjects.FirstOrDefault(item => item.ProjectId == linkedProjectId) == null) { workProject.FTAProjects.Add(fta); } } else { var fmea = db.FMEAProjects.FirstOrDefault(item => item.ProjectId == linkedProjectId); if (fmea != null) { if (workProject.FMEAProjects.FirstOrDefault(item => item.ProjectId == linkedProjectId) == null) { workProject.FMEAProjects.Add(fmea); } } } db.SaveChanges(); var model = new WorkProjectViewModel(workProject, db); ProjectFilesController pfc = new ProjectFilesController(); var obj = (OkNegotiatedContentResult <ProjectFolderViewModel>)pfc.GetProjectFiles(workProjectId, "Root", System.IO.SearchOption.AllDirectories).Result; model.ProjectFiles = obj.Content; return(Ok(model)); }
public async Task <IHttpActionResult> GetWorkProject(Guid projectId) { WorkProject workProject = await db.WorkProjects.Include("Project").FirstOrDefaultAsync(item => item.ProjectId == projectId); if (workProject == null) { return(NotFound()); } if (ProjectHelper.HasReadAccess(workProject.Project) == false) { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.Forbidden, "No Access")); } var model = new WorkProjectViewModel(workProject, db); ProjectFilesController pfc = new ProjectFilesController(); var obj = (OkNegotiatedContentResult <ProjectFolderViewModel>)pfc.GetProjectFiles(projectId, "Root", System.IO.SearchOption.AllDirectories).Result; model.ProjectFiles = obj.Content; return(Ok(model)); }