Example #1
0
        // GET: Releases/Prepare
        //[FrameworkAuthorization]
        public ActionResult Prepare(string version)
        {
            if (version == null)
            {
                ViewBag.Message = "Invalid version number. Nothing to display.";
                return(View());
            }

            ReleasePrepared releasePrepared = new ReleasePrepared {
                StakeholdersHeadline = GetStakeholdersHeadline()
            };

            using (var service = DomainLocator.GetRepositoryService())
            {
                //ToDo: Change to ReadReleaseVersions() and then Read() one Release
                var releases = service.Object.ReadReleases();
                foreach (var releaseBO in releases)
                {
                    if (releaseBO.Version != version)
                    {
                        continue;
                    }
                    var converter = new Converter();
                    releasePrepared.Release = converter.Convert(releaseBO);
                    foreach (var releaseUnit in releasePrepared.Release.UnitList)
                    {
                        foreach (var headline in releasePrepared.StakeholdersHeadline)
                        {
                            if (releaseUnit.StakeholderList.Count(x => x.Name == headline.Name) > 0)
                            {
                                continue;
                            }
                            releaseUnit.StakeholderList.Add(headline);
                        }
                    }
                }
            }

            //Create SelectList
            var participatingStakeholdersUnits = (from releaseUnit in releasePrepared.Release.UnitList
                                                  from stakeholder in releaseUnit.StakeholderList
                                                  where stakeholder.IsParticipating
                                                  select string.Format("{0}~{1}~", releaseUnit.Name, stakeholder.Name)).ToList();

            releasePrepared.ReleaseElementOptions = new SelectList(participatingStakeholdersUnits, "Select release unit and team");

            return(View(releasePrepared));
        }
Example #2
0
        //[FrameworkAuthorization]
        //[ValidateAntiForgeryToken]
        public ActionResult Prepare(ReleasePrepared releasePrepared, string action)
        {
            releasePrepared.StakeholdersHeadline = GetStakeholdersHeadline();
            switch (action)
            {
            case "addreleaseelement":
                //ToDo: Add list of Release Elements in Domain.Release and add Release Elements here
                var releaseElement = new ReleaseElement {
                    SelectListPrefix = releasePrepared.ReleaseElementOption, Content = releasePrepared.NewReleaseElement
                };
                //ToDo: catch NullReferenceExeption
                releasePrepared.Release.UnitList.FirstOrDefault(
                    x => x.Name == releasePrepared.ReleaseElementOption.Split('~')[0]).
                ReleaseElementsList.Add(releaseElement);

                //Create SelectList anew
                var participatingStakeholdersUnits = (from releaseUnit in releasePrepared.Release.UnitList
                                                      from stakeholder in releaseUnit.StakeholderList
                                                      where stakeholder.IsParticipating
                                                      select string.Format("{0}~{1}~", releaseUnit.Name, stakeholder.Name)).ToList();

                releasePrepared.ReleaseElementOptions = new SelectList(participatingStakeholdersUnits, "Select release unit and team");
                break;

            case "save":
                if (ModelState.IsValid)
                {
                    using (var service = DomainLocator.GetRepositoryService())
                    {
                        var converter = new Converter();
                        service.Object.CreateRelease(converter.Convert(releasePrepared.Release));
                        return(RedirectToAction("Index"));
                    }
                }
                break;

            case "confirmprepare":
                //ToDo: Add field Status in ??? and set Status here
                break;
            }
            return(View(releasePrepared));
        }