private void ListChangesInVersions(IList<ProjectVersion> versions) {
            if (versions == null) {
                Changelog = string.Empty;
                return;
            }

            ChangelogModel.ChangelogModel changelogModel = new ChangelogModel.ChangelogModel();

            foreach (ProjectVersion version in versions) {
                List<Issue> issuesInVersion =
                        _jira.GetIssuesFromJql("project = " + _project.Key + " AND fixVersion = '" + version.Name + "'").ToList();
                VersionModel versionModel = new VersionModel();
                versionModel.Version = version.Name;
                foreach (Issue issue in issuesInVersion) {
                    if (!issue.Type.IsSubTask) {
                        IssueTypeModel typeModelForIssue = versionModel.IssueTypes.FirstOrDefault(x => x.IssueType.Id == issue.Type.Id);
                        if (typeModelForIssue == null) {
                            IssueTypeModel typeModel = new IssueTypeModel();
                            typeModel.IssueType = issue.Type;
                            versionModel.IssueTypes.Add(typeModel);
                            typeModelForIssue = typeModel;
                        }

                        typeModelForIssue.Issues.Add(new IssueModel() { Issue = issue });
                    } else {
                    }
                }
                changelogModel.Versions.Add(versionModel);
            }

            Changelog = changelogModel.ToString();
        }
Beispiel #2
0
        // GET: IssueType/Details/5
        public ActionResult Details(string id, string application, string version, string issueType)
        {
            if (id == null)
            {
                throw new ArgumentNullException("id", "InitiativeId was not provided.");
            }

            var i            = _initiativeBusiness.GetInitiativesByDeveloper(_accountRepository.FindById(User.Identity.GetUserId()).Email).Where(x => x.Name == id).ToArray();
            var initiativeId = Guid.Empty;

            if (i.Count() == 1)//Name is unique
            {
                initiativeId = _initiativeBusiness.GetInitiativesByDeveloper(_accountRepository.FindById(User.Identity.GetUserId()).Email).Single(x => x.Name == id).Id;
            }
            else//go with id
            {
                initiativeId = _initiativeBusiness.GetInitiativesByDeveloper(_accountRepository.FindById(User.Identity.GetUserId()).Email).Single(x => x.Id == Guid.Parse(id)).Id;
            }

            if (initiativeId == Guid.Empty)
            {
                throw new NullReferenceException("No initiative found for the specified uid.");
            }

            var initiative = _initiativeBusiness.GetInitiative(_accountRepository.FindById(User.Identity.GetUserId()).Email, initiativeId.ToString());
            var app        = initiative.ApplicationGroups.SelectMany(x => x.Applications).SingleOrDefault(x => x.Name == application);

            if (app == null)
            {
                throw new NullReferenceException("Cannot find application").AddData("Application", application);
            }
            var applicationVersions = _applicationVersionBusiness.GetApplicationVersions(app.Id).ToArray();

            var v   = applicationVersions.Where(x => x.Version == version);
            var ver = v.Count() == 1 ? applicationVersions.Single(x => x.Version == version) : applicationVersions.Single(x => x.Id.Replace(":", "") == version);

            var model = new IssueTypeModel
            {
                IssueType                  = ver.IssueTypes.Single(x => x.Ticket.ToString() == issueType),
                Sessions                   = _sessionBusiness.GetSessionsForApplicationVersion(ver.Id),
                Application                = application,
                Version                    = ver.Version,
                InitiativeName             = initiative.Name,
                InitiativeUniqueIdentifier = id,
                ApplicationName            = app.Name,
                VersionUniqueIdentifier    = ver.GetUniqueIdentifier(applicationVersions.Select(x => x.Version))
            };
            var environments = _initiativeBusiness.GetEnvironmentColors(User.Identity.GetUserId(), _accountRepository.FindById(User.Identity.GetUserId()).UserName);

            model.Environments = environments.Select(x => new EnvironmentViewModel()
            {
                Name = x.Key, Color = x.Value
            }).ToList();

            model.Users = model.Sessions.Select(user => _userBusiness.GetUser(user.UserFingerprint)).ToList();

            return(View(model));
        }
Beispiel #3
0
        public JsonResult LayDanhSachLoaiVanDe()
        {
            var result = IssueTypeModel.LoaiVanDe_LayDanhSach();

            return(Json(result, JsonRequestBehavior.AllowGet));
        }