public async Task <ServiceResult <IssueModel> > Update(IssueEditModel model, string userId) { var issueRes = await GetEntityById(model.Id); if (issueRes.IsError) { return(ServiceResult <IssueModel> .NotFound("Issue not found")); } var isMember = await IsMember(issueRes.Value.ProjectId, userId); if (!isMember) { return(ServiceResult <IssueModel> .Error(ProjectsConstants.NotAMember)); } issueRes.Value.InjectFrom(model); issueRes.Value.MarkUpdated(userId); _dbContext.Issues.Update(issueRes.Value); var count = await _dbContext.SaveChangesAsync(); return(count != 1 ? ServiceResult <IssueModel> .Error("Something went wrong") : ServiceResult <IssueModel> .Ok((IssueModel) new IssueModel().InjectFrom(issueRes.Value))); }
// GET: /Issue/Edit/issueId public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Issue issue = db.Issues.Find(id); if (issue == null) { return(HttpNotFound()); } var developers = RolesManager.getSelectListByRole("developer"); var curDev = db.Users.Find(issue.DeveloperId); var model = new IssueEditModel { Id = issue.Id, Title = issue.Title, Description = issue.Description, Developers = developers, Price = issue.Price, ProjectId = issue.ProjectId }; return(View(model)); }
public int IssueEdit(IssueEditModel model) { using (var _uow = _unitOfWorkFactory.Create()) { var Issue = Mapper.Map <DAL.Entities.Issue>(model); _uow._Issues.Update(Issue); return(Issue.ProjectId); } }
public async Task <ActionResult> Edit(IssueEditModel issue) { if (ModelState.IsValid) { var issueFromDb = await Database.Issues.FindAsync(issue.Id); if (issueFromDb != null) { if (!issueFromDb.IsSolved) { if (issue.IsSolved && (String.IsNullOrEmpty(issue.SolutionData) || String.IsNullOrEmpty(issue.SupportUser_Id))) { ModelState.AddModelError("", "Para encerrar o chamado, é necessário colocar a solução do problema e o técnico que resolveu."); } else { issueFromDb.IsSolved = issue.IsSolved; issueFromDb.ProblemData = issue.ProblemData; issueFromDb.SolutionData = issue.SolutionData; issueFromDb.ExpectedAt = issue.ExpectedAt; issueFromDb.SupportUser_Id = issue.SupportUser_Id; issueFromDb.UserThatReported_Id = issue.UserThatReported_Id; if (issue.IsSolved) { issueFromDb.ResolvedAt = DateTime.Now; } Database.Entry(issueFromDb).State = EntityState.Modified; await Database.SaveChangesAsync(); return(RedirectToAction("Index")); } } else { ModelState.AddModelError("", "Não é possível editar chamados fechados."); } } else { ModelState.AddModelError("", "Não foi encontrado o chamado desejado."); } } var userSupportList = UserList.UserListByRole(Database, "Support", issue.SupportUser_Id); var userList = UserList.UserListByRole(Database, "User", issue.UserThatReported_Id); userList = userList.Concat(userSupportList.Where(t => t.Text != "Nenhum")).ToList(); ViewBag.userSupportList = userSupportList; ViewBag.userList = userList; return(View(issue)); }
public ActionResult Edit(IssueEditModel model) { if (ModelState.IsValid) { Issue issue = db.Issues.Find(model.Id); var developer = db.Users.Find(model.DeveloperId); issue.Title = model.Title; issue.Description = model.Description; issue.Price = model.Price; issue.DeveloperId = developer.Id; issue.Developer = developer; db.Entry(issue).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Details", new { id = issue.Id })); } var developers = RolesManager.getSelectListByRole("developer"); model.Developers = developers; return(View(model)); }
public async Task <ActionResult> Edit(int id) { var issue = await Database.Issues.FindAsync(id); if (issue == null) { return(View("Error")); } if (issue.IsSolved) { var error = new Exception("Não é possível editar chamados já resolvidos."); return(View("Error", new HandleErrorInfo(error, "IssueController", "Edit"))); } IssueEditModel editIssue = new IssueEditModel() { Id = issue.Id, IsSolved = issue.IsSolved, ProblemData = issue.ProblemData, SolutionData = issue.SolutionData, SupportUser_Id = issue.SupportUser_Id, UserThatReported_Id = issue.UserThatReported_Id, ExpectedAt = issue.ExpectedAt }; var userSupportList = UserList.UserListByRole(Database, "Support", editIssue.SupportUser_Id); var userList = UserList.UserListByRole(Database, "User", editIssue.UserThatReported_Id); userList = userList.Concat(userSupportList.Where(t => t.Text != "Nenhum")).ToList(); ViewBag.userSupportList = userSupportList; ViewBag.userList = userList; return(View(editIssue)); }
public async Task <IActionResult> Edit([FromBody] IssueEditModel model) => ModelResult(await _issuesService.Update(model, CurrentUserId));
public async Task <IActionResult> Edit(IssueEditModel model) { int ProjectId = _IssueService.IssueEdit(model); return(RedirectToAction("Details", "Project", new { Id = ProjectId })); }