public async Task <ActionResult> Edit([Bind(Include = "Id,Title,Description,Created,Updated,ProjectId,TicketTypeId,TicketPriorityId,TicketStatusId,OwnerUserId,AssignedToUserId")] Ticket newTicket, string returnUrl) { var oldTicket = db.Tickets.AsNoTracking().FirstOrDefault(t => t.Id == newTicket.Id); //ticket before editing if (ModelState.IsValid) { newTicket.Updated = DateTime.Now; db.Entry(newTicket).State = EntityState.Modified; db.SaveChanges(); //takes in old and new tickets ticketHelper.AddTicketHistory(oldTicket, newTicket); //pass relevant data into method await ticketHelper.AddTicketNotification(newTicket.Id, oldTicket.AssignedToUserId, newTicket.AssignedToUserId); return(Redirect(returnUrl)); } ViewBag.AssignedToUserId = new SelectList(db.Users, "Id", "FirstName", newTicket.AssignedToUserId); //ViewBag.OwnerUserId = new SelectList(db.Users, "Id", "FirstName", ticket.OwnerUserId); //ViewBag.ProjectId = new SelectList(db.Projects, "Id", "Name", ticket.ProjectId); ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", newTicket.TicketPriorityId); ViewBag.TicketStatusId = new SelectList(db.TicketStatus, "Id", "Name", newTicket.TicketStatusId); ViewBag.TicketTypeId = new SelectList(db.TicketTypes, "Id", "Name", newTicket.TicketTypeId); return(View(newTicket)); }
public async Task <ActionResult> Create([Bind(Include = "Id,TicketId,FileUrl,Description")] TicketAttachment ticketAttachment, HttpPostedFileBase file) { if (ModelState.IsValid) { if (ImageUploadValidator.IsWebFriendlyFile(file)) { var fileName = Path.GetFileName(file.FileName); file.SaveAs(Path.Combine(Server.MapPath("~/MyImages/"), fileName)); ticketAttachment.FileUrl = "/MyImages/" + fileName; } ticketAttachment.UserId = User.Identity.GetUserId(); ticketAttachment.Created = DateTime.Now; db.TicketAttachments.Add(ticketAttachment); db.SaveChanges(); await ticketHelper.AddTicketNotification(ticketAttachment); ViewBag.PreviousUrl = System.Web.HttpContext.Current.Request.UrlReferrer.ToString(); return(Redirect(ViewBag.PreviousUrl)); } //ViewBag.TicketId = new SelectList(db.Tickets, "Id", "Title", ticketAttachment.TicketId); //ViewBag.UserId = new SelectList(db.Users, "Id", "FirstName", ticketAttachment.UserId); return(View(ticketAttachment)); }
public async Task <ActionResult> TicketAssign(string userId, List <int> AllTickets) { //Remove user from all tickets foreach (var ticket in ticketHelper.ListUserTickets(userId)) { ticketHelper.RemoveUserFromTicket(userId, ticket.Id);//need to specify Id here because passing in entire ticket in foreach loop } //Add user to projects if (AllTickets != null) { foreach (var ticketId in AllTickets) //already using Id's here for variable projId so don't need to denote proj.Id below { ticketHelper.AddUserToTicket(userId, ticketId); await ticketHelper.AddTicketNotification(ticketId, "", userId); } } return(RedirectToAction("UserIndex")); }
public async Task <ActionResult> Edit([Bind(Include = "Id,Title,Description,Created,Updated,ProjectId,TicketTypeId,TicketPriorityId,TicketStatusId,OwnerUserId,AssignedToUserId")] Ticket ticket) { var oldTicket = db.Tickets.AsNoTracking().FirstOrDefault(t => t.Id == ticket.Id); if (ModelState.IsValid) { db.Entry(ticket).State = EntityState.Modified; ticket.Updated = DateTime.Now; db.SaveChanges(); tixHelper.AddTicketHistory(oldTicket, ticket); await tixHelper.AddTicketNotification(ticket.Id, oldTicket.AssignedToUserId, ticket.AssignedToUserId); return(RedirectToAction("Index")); } ViewBag.AssignedToUserId = new SelectList(db.Users, "Id", "FirstName", ticket.AssignedToUserId); ViewBag.OwnerUserId = new SelectList(db.Users, "Id", "FirstName", ticket.OwnerUserId); ViewBag.ProjectId = new SelectList(db.Projects, "Id", "Name", ticket.ProjectId); ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", ticket.TicketPriorityId); ViewBag.TicketStatusId = new SelectList(db.TicketStatuses, "Id", "Name", ticket.TicketStatusId); ViewBag.TicketTypeId = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId); return(View(ticket)); }