diff --git a/src/Project.Tests/DefaultControllerTests.cs b/src/Project.Tests/DefaultControllerTests.cs index 146d7570c8925290090f524c505333113217e9ac..23a03e8ecc96c23982af9dd2852cde5520bc1ff9 100644 --- a/src/Project.Tests/DefaultControllerTests.cs +++ b/src/Project.Tests/DefaultControllerTests.cs @@ -46,7 +46,8 @@ namespace Coscine.Api.Project.Tests DisciplineModel disciplineModel = new DisciplineModel(); Discipline = new Discipline() { - DisplayName = "TestDiscipline", + DisplayNameDe = "TestDiscipline", + DisplayNameEn = "TestDiscipline", Url = "http://rwth-aachen.de" }; disciplineModel.Insert(Discipline); diff --git a/src/Project.Tests/ProjectControllerTests.cs b/src/Project.Tests/ProjectControllerTests.cs index d58925000986501d2e1309460d8766664cde61ec..d7792930d0b013539f663ba38f92307e765851e7 100644 --- a/src/Project.Tests/ProjectControllerTests.cs +++ b/src/Project.Tests/ProjectControllerTests.cs @@ -105,7 +105,7 @@ namespace Coscine.Api.Project.Tests public void TestControllerStore() { ProjectObject newProjectObject = new ProjectObject(Guid.NewGuid(), "NewProject", "NewDisplayName", DateTime.Now, DateTime.Now.AddYears(1), "test2;test3", "abc", "investigator", "grandId", - new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayName) }, + new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayNameDe, Discipline.DisplayNameEn) }, new List<InstituteObject>() { new InstituteObject(Institute.Id, Institute.IKZ, Institute.DisplayName) }, new VisibilityObject(Visibility.Id, Visibility.DisplayName)); @@ -140,7 +140,7 @@ namespace Coscine.Api.Project.Tests public void TestControllerDelete() { ProjectObject newProjectObject = new ProjectObject(Guid.NewGuid(), "NewProject", "NewDisplayName", DateTime.Now, DateTime.Now.AddYears(1), "test2;test3", "abc", "investigator", "grandId", - new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayName) }, + new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayNameDe, Discipline.DisplayNameEn) }, new List<InstituteObject>() { new InstituteObject(Institute.Id, Institute.IKZ, Institute.DisplayName) }, new VisibilityObject(Visibility.Id, Visibility.DisplayName)); @@ -174,7 +174,7 @@ namespace Coscine.Api.Project.Tests public void TestControllerDeleteWithSubProjects() { ProjectObject newProjectObject = new ProjectObject(Guid.NewGuid(), "NewProject", "NewDisplayName", DateTime.Now, DateTime.Now.AddYears(1), "test2;test3", "abc", "investigator", "grandId", - new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayName) }, + new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayNameDe, Discipline.DisplayNameEn) }, new List<InstituteObject>() { new InstituteObject(Institute.Id, Institute.IKZ, Institute.DisplayName) }, new VisibilityObject(Visibility.Id, Visibility.DisplayName)); @@ -189,7 +189,7 @@ namespace Coscine.Api.Project.Tests stream.Close(); newProjectObject = new ProjectObject(Guid.NewGuid(), "NewProject", "NewDisplayName", DateTime.Now, DateTime.Now.AddYears(1), "test2;test3", "abc", "investigator", "grandId", - new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayName) }, + new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayNameDe, Discipline.DisplayNameEn) }, new List<InstituteObject>() { new InstituteObject(Institute.Id, Institute.IKZ, Institute.DisplayName) }, new VisibilityObject(Visibility.Id, Visibility.DisplayName), createdProjectObject.Id); @@ -217,7 +217,7 @@ namespace Coscine.Api.Project.Tests public void TestControllerStoreWithSubProject() { ProjectObject newProjectObject = new ProjectObject(Guid.NewGuid(), "NewProject", "NewDisplayName", DateTime.Now, DateTime.Now.AddYears(1), "test2;test3", "abc", "investigator", "grandId", - new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayName) }, + new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayNameDe, Discipline.DisplayNameEn) }, new List<InstituteObject>() { new InstituteObject(Institute.Id, Institute.IKZ, Institute.DisplayName) }, new VisibilityObject(Visibility.Id, Visibility.DisplayName)); @@ -229,7 +229,7 @@ namespace Coscine.Api.Project.Tests ProjectObject createdProjectObject = (ProjectObject)okObjectResult.Value; ProjectObject newSubProjectObject = new ProjectObject(Guid.NewGuid(), "NewSubProject", "NewDisplayNameSub", DateTime.Now, DateTime.Now.AddYears(1), "test2;test3", "abc", "investigator", "grandId", - new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayName) }, + new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayNameDe, Discipline.DisplayNameEn) }, new List<InstituteObject>() { new InstituteObject(Institute.Id, Institute.IKZ, Institute.DisplayName) }, new VisibilityObject(Visibility.Id, Visibility.DisplayName), createdProjectObject.Id); diff --git a/src/Project.Tests/ResourceControllerTests.cs b/src/Project.Tests/ResourceControllerTests.cs index 1cb88c35aa0825ce6ccd09e8a880c8b99ed05ee7..6e5736aea49d14fd07d872fd30d63ab74fffd9df 100644 --- a/src/Project.Tests/ResourceControllerTests.cs +++ b/src/Project.Tests/ResourceControllerTests.cs @@ -94,7 +94,7 @@ namespace Coscine.Api.Project.Tests "keys", "usageR", new ResourceTypeObject(Resources[0].Type.Id, Resources[0].Type.DisplayName), - new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayName) }, + new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayNameDe, Discipline.DisplayNameEn) }, new VisibilityObject(Visibility.Id, Visibility.DisplayName), new LicenseObject(License.Id, License.DisplayName), JObject.FromObject(new RDSResourceTypeObject(Guid.NewGuid(), "PITLABTTEST", "accesskey", "secretkey")) diff --git a/src/Project/Controllers/DisciplineController.cs b/src/Project/Controllers/DisciplineController.cs index ec9f932f55e398a0ed1b382419608f1374fdba8c..62c1ea0c994bbfb054171c03ae4986067e8a4198 100644 --- a/src/Project/Controllers/DisciplineController.cs +++ b/src/Project/Controllers/DisciplineController.cs @@ -26,7 +26,7 @@ namespace Coscine.Api.Project.Controllers { return Ok(_authenticator.ValidateAndExecute((user) => { - return _disciplineModel.GetAll().Select((discipline) => new DisciplineObject(discipline.Id, discipline.Url, discipline.DisplayName)); + return _disciplineModel.GetAll().OrderBy(discipline => discipline.DisplayNameDe.Substring(discipline.DisplayNameDe.Length - 3)).Select((discipline) => new DisciplineObject(discipline.Id, discipline.Url, discipline.DisplayNameDe, discipline.DisplayNameEn)); })); } } diff --git a/src/Project/Models/ProjectModel.cs b/src/Project/Models/ProjectModel.cs index eb7680078e97f6bd03a2148b333c0a335cd317a9..97b533d40b1fb2f5f8f30922d00e65f0c11cc969 100644 --- a/src/Project/Models/ProjectModel.cs +++ b/src/Project/Models/ProjectModel.cs @@ -172,11 +172,11 @@ namespace Coscine.Api.Project.Models { DisciplineModel disciplineModel = new DisciplineModel(); disciplines = disciplineModel.GetAllWhere((discipline) => (from relation in discipline.ProjectDisciplineDisciplineIdIds where relation.ProjectId == project.Id select relation).Any()) - .Select((discipline) => new DisciplineObject(discipline.Id, discipline.Url, discipline.DisplayName)); + .Select((discipline) => new DisciplineObject(discipline.Id, discipline.Url, discipline.DisplayNameDe, discipline.DisplayNameEn)); } else { - disciplines = project.ProjectDisciplineProjectIdIds.Select((discipline) => new DisciplineObject(discipline.Discipline.Id, discipline.Discipline.Url, discipline.Discipline.DisplayName)); + disciplines = project.ProjectDisciplineProjectIdIds.Select((discipline) => new DisciplineObject(discipline.Discipline.Id, discipline.Discipline.Url, discipline.Discipline.DisplayNameDe, discipline.Discipline.DisplayNameEn)); } IEnumerable<InstituteObject> institutes = new List<InstituteObject>(); if (project.ProjectInstituteProjectIdIds == null) diff --git a/src/Project/Models/ResourceModel.cs b/src/Project/Models/ResourceModel.cs index ae1b6d701c84acaf25d7e2bf2b0aa7108bbd75f2..e273892ad69d2e8574dcfcb4eb88f4610014d4f6 100644 --- a/src/Project/Models/ResourceModel.cs +++ b/src/Project/Models/ResourceModel.cs @@ -234,7 +234,7 @@ namespace Coscine.Api.Project.Models (from relation in discipline.ResourceDisciplineDisciplineIdIds where relation.ResourceId == resource.Id select relation).Any()) - .Select((discipline) => new DisciplineObject(discipline.Id, discipline.Url, discipline.DisplayName)); + .Select((discipline) => new DisciplineObject(discipline.Id, discipline.Url, discipline.DisplayNameDe, discipline.DisplayNameEn)); if (resource.Visibility == null && resource.VisibilityId != null) { diff --git a/src/Project/ReturnObjects/DisciplineObject.cs b/src/Project/ReturnObjects/DisciplineObject.cs index 9352f5e840945dbb758fce21285da3a90e558fbf..5a2fed7b9ff54a4dbeed030401d239467f7f31d6 100644 --- a/src/Project/ReturnObjects/DisciplineObject.cs +++ b/src/Project/ReturnObjects/DisciplineObject.cs @@ -13,13 +13,16 @@ namespace Coscine.Api.Project.ReturnObjects public Guid Id { get; set; } public string Url { get; set; } - public string DisplayName { get; set; } + public string DisplayNameDe { get; set; } - public DisciplineObject(Guid id, string url, string displayName) + public string DisplayNameEn { get; set; } + + public DisciplineObject(Guid id, string url, string displayNameDe, string displayNameEn) { Id = id; Url = url; - DisplayName = displayName; + DisplayNameDe = displayNameDe; + DisplayNameEn = displayNameEn; } } }