protected void storyTable_DeleteRow(object sender, EventArgs e) { var control = sender as LinkButton; if (control == null) { return; } var abbreviation = control.CommandArgument; Story storyToDelete = null; var active = BacklogModel.GetActiveProject(); foreach (var story in active.Stories) { if (story.Abbreviation == abbreviation) { storyToDelete = story; break; } } if (storyToDelete == null) { return; } BacklogModel.Delete(active.Abbreviation, storyToDelete); BacklogModel.SaveActiveProject(); Presenter.Present(); }
public async Task <IActionResult> Edit(int id, [Bind("Id,CustomerProblem,ProblemDescription,ProductOwner,Status,BootcampAssigned,SolutionDescription,Links,AdoptionEmailAddress")] BacklogModel backLogModel) { if (ModelState.IsValid) { backLogModel.RaisedBy = User.Identity.Name; if (id != backLogModel.Id) { return(NotFound()); } try { await _backlogUow.EditBackLogItemAsync(backLogModel); } catch (DbUpdateConcurrencyException) { if (!await _backlogUow.IsBackLogItemExistsAsync(backLogModel.Id)) { return(NotFound()); } throw; } return(RedirectToAction(nameof(Index))); } return(View(backLogModel)); }
protected void storyTable_UpdateRow(object sender, GridViewUpdateEventArgs e) { var row = storyTable.Rows[e.RowIndex]; Story storyToUpdate; var project = FindTheEditingStory(e.RowIndex, out storyToUpdate); var newTitle = row.FindControl("storyName_edit") as TextBox; var newImportance = row.FindControl("importance_edit") as TextBox; var newEstimate = row.FindControl("estimate_edit") as TextBox; var newStatus = row.FindControl("status_dropdown") as DropDownList; var newHowToDemo = row.FindControl("howToDemo_edit") as TextBox; if (newTitle != null) { storyToUpdate.Name = newTitle.Text; } if (newImportance != null) { storyToUpdate.Importance = Convert.ToInt32(newImportance.Text); } if (newEstimate != null) { storyToUpdate.Estimate = Convert.ToInt32(newEstimate.Text); } if (newHowToDemo != null) { storyToUpdate.HowToDemo = newHowToDemo.Text; } if (newStatus != null) { var status = (StoryStatus)newStatus.SelectedIndex; switch (status) { case StoryStatus.NotStarted: storyToUpdate.Reset(); break; case StoryStatus.Paused: storyToUpdate.Pause(); break; case StoryStatus.Started: storyToUpdate.Start(DateTime.Now); break; case StoryStatus.Done: storyToUpdate.MarkAsDone(DateTime.Now); break; } } BacklogModel.Update(project.Abbreviation, storyToUpdate); BacklogModel.SaveActiveProject(); StopEditing(); }
private void OpenBacklogDetail(object sender, EventArgs e) { BacklogModel thisBacklog = (BacklogModel)sender; if (thisBacklog != null) { BacklogItemDetailVisibility = Visibility.Visible; } }
protected void projectChooserIndexChanged(object sender, EventArgs args) { var dropdown = sender as DropDownList; if (dropdown != null) { BacklogModel.SetActiveProject(dropdown.SelectedValue); } Presenter.Present(); }
private void EditBacklog(object sender, EventArgs e) { BacklogModel editBacklog = (BacklogModel)sender; if (editBacklog != null) { BacklogItemViewModel.CurrentBacklog = BacklogManager.GetInstance().GetBacklogById(editBacklog.Backlog.Id); ShowAddNewBacklogDialog(); } }
private void QuichCloseBacklog(object sender, EventArgs e) { BacklogModel thisBacklog = (BacklogModel)sender; if (thisBacklog != null) { if (thisBacklog.Backlog.Status == 0 || thisBacklog.Backlog.Status == 1) { thisBacklog.Backlog.Status = 2; thisBacklog.Backlog.EstimateHour = 0; BacklogManager.GetInstance().SaveBacklog(thisBacklog.Backlog); RefreshPage(); } } }
public async Task EditBackLogItemAsync(BacklogModel backlogModel) { var backlogItem = await _context.BackLogs.FirstAsync(x => x.Id == backlogModel.Id); backlogItem.ProductOwner = backlogModel.ProductOwner; backlogItem.Status = backlogModel.Status; backlogItem.BootcampAssigned = backlogModel.BootcampAssigned; backlogItem.SolutionDescription = backlogModel.SolutionDescription; backlogItem.Links = backlogModel.Links; backlogItem.AdoptionEmailAddress = backlogModel.AdoptionEmailAddress; if (!string.IsNullOrWhiteSpace(backlogModel.ProductOwner) && string.IsNullOrWhiteSpace(backlogModel.BootcampAssigned)) { backlogItem.Status = IdeaStatuses.PoAssigned; } if (!string.IsNullOrWhiteSpace(backlogModel.BootcampAssigned) && string.IsNullOrWhiteSpace(backlogModel.ProductOwner)) { backlogItem.Status = IdeaStatuses.BootcampAssigned; } if (!string.IsNullOrWhiteSpace(backlogModel.BootcampAssigned) && !string.IsNullOrWhiteSpace(backlogModel.ProductOwner)) { backlogItem.Status = IdeaStatuses.BootcampReady; } if (!string.IsNullOrWhiteSpace(backlogModel.BootcampAssigned) && !string.IsNullOrWhiteSpace(backlogModel.ProductOwner) && !string.IsNullOrWhiteSpace(backlogModel.SolutionDescription) && !string.IsNullOrWhiteSpace(backlogModel.Links)) { backlogItem.Status = IdeaStatuses.ProjectAdoptable; } if (string.IsNullOrWhiteSpace(backlogModel.BootcampAssigned) && string.IsNullOrWhiteSpace(backlogModel.ProductOwner) && !backlogItem.Status.Equals(IdeaStatuses.IdeaPending)) { backlogItem.Status = IdeaStatuses.IdeaAccepted; } _context.Update(backlogItem); await _context.SaveChangesAsync(); }
private Project FindTheEditingStory(int rowIndex, out Story editingStory) { var abbreviation = storyTable.Rows[rowIndex].Cells[1].Text; var project = BacklogModel.GetActiveProject(); editingStory = null; foreach (var story in project.Stories) { if (story.Abbreviation == abbreviation) { editingStory = story; break; } } return(project); }
private void LoadAcceptBacklog(int userId, int sprint) { var acceptBacklogs = BacklogManager.GetInstance().GetAllAcceptBacklog(userId, sprint); var backlogModels = new List <BacklogModel>(); foreach (var backlog in acceptBacklogs) { var model = new BacklogModel() { Backlog = backlog }; model.EditBacklog += EditBacklog; model.QuickClose += QuichCloseBacklog; backlogModels.Add(model); } AcceptBacklogs = backlogModels; }
private void LoadFutureBacklog(int userId, int sprint) { var futureBacklogs = BacklogManager.GetInstance().GetAllFutureBacklog(userId, sprint); var backlogModels = new List <BacklogModel>(); foreach (var backlog in futureBacklogs) { var model = new BacklogModel() { Backlog = backlog }; model.EditBacklog += EditBacklog; model.QuickClose += QuichCloseBacklog; model.OpenDetail += OpenBacklogDetail; backlogModels.Add(model); } FutureBacklogs = backlogModels; }
protected void storyTable_FilterStories(object sender, EventArgs args) { var filters = sender as CheckBoxList; var filter = new StoryFilter(); if (filters != null) { for (var i = 0; i < 4; ++i) { if (filters.Items[i].Selected) { filter.AddStoryFilter(StoryStatuses[i].GetType()); } else { filter.RemoveStoryFilter(StoryStatuses[i].GetType()); } } } BacklogModel.AddStoryFilter(filter); Presenter.Present(); }
// // GET: /Backlog/ public ActionResult Index() { int backlogId = Int32.Parse(Session["BacklogId"].ToString()), productId = Int32.Parse(Session["ProductId"].ToString()); var sprintRepo = new SprintRepository(); var backlogRepo = new BacklogRepository(); var epicRepo = new EpicRepository(); bool isSprintActive; var sprintTasks = sprintRepo.GetCurrentSprintTasks(productId, out isSprintActive); var model = new BacklogModel() { BacklogItems = backlogRepo.GetBacklogTasks(backlogId), SprintItems = sprintTasks, Epics = epicRepo.GetEpicsForBacklog(backlogId), IsSprintActive = isSprintActive, SprintName = sprintRepo.GetCurrentSprintName(productId) }; return(View(model)); }