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(); }
// 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)); }
public JsonResult LayDanhSachLoaiVanDe() { var result = IssueTypeModel.LoaiVanDe_LayDanhSach(); return(Json(result, JsonRequestBehavior.AllowGet)); }