public ActionResult Edit(int id, string fromUrl) { QueryManager manager = new QueryManager(); IssueSummary item = manager.ItemById <IssueSummary>(id); item.IsNew = false; // Change the user's current project if this work item is different. // The project can be different if they've come from the stored queries page. if (item.ProjectName != UserContext.Current.CurrentProject.Name) { UserContext.Current.ChangeCurrentProject(item.ProjectName); } MSAgileEditData <IssueSummary> data = new MSAgileEditData <IssueSummary>(); data.WorkItem = item; data.PageTitle = "Issue " + id; data.FromUrl = fromUrl; data.States = item.ValidStates; data.Reasons = item.ValidReasons; data.Priorities = item.ValidPriorities; return(View(data)); }
/// <summary> /// Overrides the base <see cref="WorkItemManager.NewItem"/> method to include remaining work,completed work hours and priority fields. /// </summary> public override WorkItemSummary NewItem() { IssueSummary summary = new IssueSummary(); WorkItem item = CreateWorkItem(summary.WorkItemType, summary); summary.PopulateAllowedValues(item); // Not sure if Issues have priority in Agile 4, so add a check (needs confirming) if (item.Fields.Contains("Priority")) summary.Priority = int.Parse(summary.ValidPriorities[0]); return summary; }
/// <summary> /// Overrides the base <see cref="WorkItemManager.NewItem"/> method to include remaining work,completed work hours and priority fields. /// </summary> public override WorkItemSummary NewItem() { IssueSummary summary = new IssueSummary(); WorkItem item = CreateWorkItem(summary.WorkItemType, summary); summary.PopulateAllowedValues(item); // Not sure if Issues have priority in Agile 4, so add a check (needs confirming) if (item.Fields.Contains("Priority")) { summary.Priority = int.Parse(summary.ValidPriorities[0]); } return(summary); }
/// <summary> /// Overrides the base <see cref="WorkItemManager.Close"/> method to modify the behaviour so that a resolved by field is included. /// </summary> public override void Close(int id) { QueryManager manager = new QueryManager(); try { IssueSummary summary = manager.ItemById <IssueSummary>(id); summary.ResolvedBy = UserContext.Current.Name; summary.State = "Closed"; Save(summary); } catch (Exception ex) { throw new SaveException(ex, "Unable to close Issue work item {0}", id); } }
public ActionResult New(string id) { IssueManager manager = new IssueManager(); IssueSummary summary = (IssueSummary)manager.NewItem(); if (!string.IsNullOrWhiteSpace(id)) { summary.Title = id; } MSAgileEditData <IssueSummary> data = new MSAgileEditData <IssueSummary>(); data.PageTitle = "New issue"; data.States = summary.ValidStates; data.Reasons = summary.ValidReasons; data.Priorities = summary.ValidPriorities; data.WorkItem = summary; return(View("Edit", data)); }
public ActionResult New(IssueSummary item) { IssueManager manager = new IssueManager(); try { item.CreatedBy = UserContext.Current.Name; item.IsNew = true; manager.Save(item); // item.Id is updated // Save the files once it's saved (as we can't add an AttachmentsCollection as it has no constructors) if (Request.Files.Count > 0) { try { // Save to the App_Data folder. List <Attachment> attachments = new List <Attachment>(); string filename1 = SaveFile("uploadFile1", item.Id); string filename2 = SaveFile("uploadFile2", item.Id); string filename3 = SaveFile("uploadFile3", item.Id); if (!string.IsNullOrEmpty(filename1)) { attachments.Add(new Attachment(filename1, Request.Form["uploadFile1Comments"])); } if (!string.IsNullOrEmpty(filename2)) { attachments.Add(new Attachment(filename2, Request.Form["uploadFile2Comments"])); } if (!string.IsNullOrEmpty(filename3)) { attachments.Add(new Attachment(filename3, Request.Form["uploadFile3Comments"])); } manager.SaveAttachments(item.Id, attachments); } catch (IOException e) { TempData["Error"] = e.Message; return(RedirectToAction("Edit", new { id = item.Id })); } } return(RedirectToAction("Index")); } catch (SaveException e) { TempData["Error"] = e.Message; // Get the original back, to populate the valid reasons. QueryManager queryManager = new QueryManager(); IssueSummary summary = queryManager.ItemById <IssueSummary>(item.Id); summary.IsNew = false; // Repopulate from the POST'd data summary.Title = item.Title; summary.State = item.State; summary.Reason = item.Reason; summary.Priority = item.Priority; summary.Description = item.Description; summary.AssignedTo = item.AssignedTo; summary.AreaId = item.AreaId; summary.AreaPath = item.AreaPath; summary.IterationId = item.IterationId; summary.IterationPath = item.IterationPath; MSAgileEditData <IssueSummary> data = new MSAgileEditData <IssueSummary>(); data.WorkItem = summary; data.PageTitle = "Issue " + item.Id; data.States = summary.ValidStates; data.Reasons = summary.ValidReasons; data.Priorities = summary.ValidPriorities; return(View(data)); } }
public ActionResult Edit(IssueSummary item, string fromUrl) { IssueManager manager = new IssueManager(); try { item.IsNew = false; manager.Save(item); // Save the files once it's saved (as we can't add an AttachmentsCollection as it has no constructors) if (Request.Files.Count > 0) { try { // Save to the App_Data folder. List<Attachment> attachments = new List<Attachment>(); string filename1 = SaveFile("uploadFile1", item.Id); string filename2 = SaveFile("uploadFile2", item.Id); string filename3 = SaveFile("uploadFile3", item.Id); if (!string.IsNullOrEmpty(filename1)) { attachments.Add(new Attachment(filename1, Request.Form["uploadFile1Comments"])); } if (!string.IsNullOrEmpty(filename2)) { attachments.Add(new Attachment(filename2, Request.Form["uploadFile2Comments"])); } if (!string.IsNullOrEmpty(filename3)) { attachments.Add(new Attachment(filename3, Request.Form["uploadFile3Comments"])); } manager.SaveAttachments(item.Id, attachments); } catch (IOException e) { TempData["Error"] = e.Message; return RedirectToAction("Edit", new { id = item.Id }); } } if (string.IsNullOrEmpty(fromUrl)) return RedirectToAction("View", new { id = item.Id }); else return Redirect(fromUrl); } catch (SaveException e) { TempData["Error"] = e.Message; // Get the original back, to populate the valid reasons. QueryManager queryManager = new QueryManager(); IssueSummary summary = queryManager.ItemById<IssueSummary>(item.Id); summary.IsNew = false; // Repopulate from the POST'd data summary.Title = item.Title; summary.State = item.State; summary.Reason = item.Reason; summary.Priority = item.Priority; summary.Description = item.Description; summary.AssignedTo = item.AssignedTo; summary.AreaId = item.AreaId; summary.AreaPath = item.AreaPath; summary.IterationId = item.IterationId; summary.IterationPath = item.IterationPath; MSAgileEditData<IssueSummary> data = new MSAgileEditData<IssueSummary>(); data.WorkItem = summary; data.PageTitle = "Issue " + item.Id; data.FromUrl = fromUrl; data.States = summary.ValidStates; data.Reasons = summary.ValidReasons; data.Priorities = summary.ValidPriorities; return View(data); } }