public Release Convert(IRelease releaseBO) { var convertedRelease = new Release { Version = releaseBO.Version, Description = releaseBO.Description, DueDate = releaseBO.DueDate }; foreach (var releaseunitBO in releaseBO.UnitList) { var convertedReleaseUnit = new ReleaseUnit { Name = releaseunitBO.Name }; foreach (var stakeholderBO in releaseunitBO.StakeholderList) { convertedReleaseUnit.StakeholderList.Add(Convert(stakeholderBO)); } foreach (var releaseElementBO in releaseunitBO.ReleaseElementList) { convertedReleaseUnit.ReleaseElementsList.Add(Convert(releaseElementBO)); } convertedRelease.UnitList.Add(convertedReleaseUnit); } return(convertedRelease); }
//[FrameworkAuthorization] //[ValidateAntiForgeryToken] public ActionResult Create(ReleaseCombined releaseCombined, string action) { releaseCombined.StakeholdersHeadline = GetStakeholdersHeadline(); switch (action) { case "addreleaseunit": var releaseUnit = new ReleaseUnit { Name = releaseCombined.NewReleaseUnit }; foreach (var stakeholderHead in releaseCombined.StakeholdersHeadline) { releaseUnit.StakeholderList.Add(new Stakeholder() { Name = stakeholderHead.Name, IsParticipating = false }); } releaseCombined.Release.UnitList.Add(releaseUnit); break; case "save": if (ModelState.IsValid) { using (var service = DomainLocator.GetRepositoryService()) { var converter = new Converter(); service.Object.CreateRelease(converter.Convert(releaseCombined.Release)); } return(RedirectToAction("Index")); } break; case "deletereleaseunit": //ToDo: Complete view and logic break; } return(View(releaseCombined)); }