Skip to content
Snippets Groups Projects
Commit a400c668 authored by David Schimmel's avatar David Schimmel
Browse files

add display for sub projects

parent 3544f131
Branches
No related tags found
2 merge requests!7Product/168 basic structure,!5Topic/180 sub pages
using Coscine.Action;
using Coscine.Action.EventArgs;
using Coscine.Action.Implementations.Project;
using Coscine.Api.Project.Models;
using Coscine.Api.Project.Models;
using Coscine.Api.Project.ReturnObjects;
using Coscine.ApiCommons;
using Coscine.ApiCommons.Exceptions;
using Coscine.ApiCommons.Factories;
using Microsoft.AspNetCore.Mvc;
using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Coscine.Api.Project.Controllers
{
class SubProjectController : Controller
public class SubProjectController : Controller
{
private readonly Authenticator _authenticator;
private readonly List<IProjectAction> projectActions;
[Route("[controller]/{parentId}")]
public SubProjectController()
{
_authenticator = new Authenticator(this, Program.Configuration);
}
[HttpGet("[controller]/{parentId}")]
public IActionResult Get(string parentId)
{
Guid parentGuid = new Guid(parentId);
return Ok(_authenticator.ValidateAndExecute((user) =>
{
ProjectModel projectModel = new ProjectModel();
Database.Model.Project ob = projectModel.GetById(parentGuid);
SubProjectModel subProjectModel = new SubProjectModel();
return projectModel.GetAllWhere((project) =>
(from subProject in project.SubProjectsProjectIdIds
where subProject.ProjectId == parentGuid select subProject).Any()
).Select((project) => new ProjectObject(project.Id, project.Description, project.DisplayName, project.Organization, project.StartDate, project.EndDate, project.Keywords, parentGuid));
var subProjects = subProjectModel.GetAllWhere((subProjectM) => (subProjectM.ProjectId == parentGuid))
.Select((subProject) => projectModel.GetById(subProject.SubProjectId))
.Select((project) => new ProjectObject(project.Id, project.Description, project.DisplayName, project.Organization, project.StartDate, project.EndDate, project.Keywords, parentGuid));
return subProjects;
}));
}
}
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using Coscine.Api.Project.ReturnObjects;
using Coscine.ApiCommons.Models;
using Coscine.Database.Model;
using LinqToDB;
namespace Coscine.Api.Project.Models
{
public class SubProjectModel : DatabaseModel<Coscine.Database.Model.SubProject>
public class SubProjectModel : DatabaseModel<SubProject>
{
public SubProjectModel() : base(Program.Configuration)
{
......@@ -28,13 +25,11 @@ namespace Coscine.Api.Project.Models
public void LinkSubProject(Guid parentId, Guid childId)
{
Coscine.Database.Model.SubProject subProject = new Coscine.Database.Model.SubProject()
Insert(new SubProject()
{
ProjectId = parentId,
SubProjectId = childId,
};
Insert(subProject);
return;
});
}
public override void SetObjectId(SubProject databaseObject, Guid id)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment