public ActionResult UnassignProject(ProjectManagerViewModel model, int projectId) { //var FindUserToPost = db.Users.Find(model.Id); //var projectID = db.Projects.Find(projectId); ProjectHelper projectHelp = new ProjectHelper(db); //foreach (var RemoveProject in db.Projects.Select(r => r.Name).ToList()) //{ // projectHelp.RemoveUserToProject(model.Id, projectId); //} var ListPModel = new List <ApplicationUser>(); var PManagers = db.Roles.All(r => r.Name == "ProjectManager"); var project = new Projects(); foreach (var PMid in model.SelectedProjectManager) { projectHelp.RemoveUserFromProject(PMid, projectId); } return(RedirectToAction("Index", "Projects")); }
public ActionResult AssignTicket(ProjectManagerViewModel model, int tId, int pId) { ApplicationDbContext db = new ApplicationDbContext(); var PModel = new ProjectManagerViewModel(); ProjectHelper projectHelp = new ProjectHelper(db); model.Pid = pId; var currDev = db.Users.Find(model.Id); if (ModelState.IsValid) { foreach (var DevId in model.SelectedDevelopers) { projectHelp.AddDevToTicket(DevId, tId); projectHelp.RemoveT(tId, DevId); } } var Devs = db.Roles.FirstOrDefault(r => r.Name == "Developer"); ViewBag.Developer = new SelectList(Devs.Id, "Id", "Name"); //ViewBag.AssignedToId = new SelectList(db.Users, "Id", "FirstName", tickets.AssignedToId); return(RedirectToAction("Details", "Projects", new { id = pId })); }
public async Task <ActionResult> AssignTicket(ProjectManagerViewModel model, int tId, int pId) { ApplicationDbContext db = new ApplicationDbContext(); var PModel = new ProjectManagerViewModel(); ProjectHelper projectHelp = new ProjectHelper(db); model.Pid = pId; var ticket = db.Tickets.Find(tId); var currDev = db.Users.Find(model.Id); if (ModelState.IsValid) { foreach (var DevId in model.SelectedDevelopers) { projectHelp.AddDevToTicket(DevId, tId); projectHelp.RemoveT(tId, DevId); //Send Email var svc = new EmailService(); var msg = new IdentityMessage(); msg.Subject = "New Ticket Assignment"; msg.Body = "\r\n You have recieved a new ticket assignment," + ticket.Title + "with the follow description" + ticket.Description + "and Id," + ticket.Id + "\r\n"; msg.Destination = currDev.Email; await svc.SendAsync(msg); } } var Devs = db.Roles.FirstOrDefault(r => r.Name == "Developer"); ViewBag.Developer = new SelectList(Devs.Id, "Id", "Name"); //ViewBag.AssignedToId = new SelectList(db.Users, "Id", "FirstName", tickets.AssignedToId); return(RedirectToAction("Details", "Projects", new { id = pId })); }
public async Task <ActionResult> Edit([Bind(Include = "Id,Title,Description,Created,Updated,ProjectId,TicketTypeId,TicketPriorityId,TicketStatusId,OwnerUserId,AssignedToId")] Tickets model) { var user = db.Users.Find(User.Identity.GetUserId()); ProjectHelper HistoryHelp = new ProjectHelper(db); var tickets = db.Tickets.Find(model.Id); var noty = new TicketNotifications(); noty.open = false; if (!(tickets.Title == model.Title) || (tickets.TicketPriorityId == model.TicketPriorityId) || (tickets.TicketStatusId == model.TicketStatusId) || (tickets.AssignedToId == model.AssignedToId) || (tickets.ProjectId == model.ProjectId) || (tickets.TicketTypeId == model.TicketTypeId)) { HistoryHelp.AddHistory(tickets.Id, user.Id, tickets.Title, model.Title, "Title"); HistoryHelp.AddHistory(tickets.Id, user.Id, tickets.TicketPriorityId.ToString(), model.TicketPriorityId.ToString(), "TicketPriority"); HistoryHelp.AddHistory(tickets.Id, user.Id, tickets.TicketStatusId.ToString(), model.TicketStatusId.ToString(), "TicketStatus"); HistoryHelp.AddHistory(tickets.Id, user.Id, tickets.TicketTypeId.ToString(), model.TicketTypeId.ToString(), "TicketType"); HistoryHelp.AddHistory(tickets.Id, user.Id, tickets.ProjectId.ToString(), model.ProjectId.ToString(), "Project"); HistoryHelp.AddHistory(tickets.Id, user.Id, tickets.Description, model.Description, "Description"); HistoryHelp.AddHistory(tickets.Id, user.Id, tickets.AssignedToId, model.AssignedToId, "AssignedTo"); HistoryHelp.AddNoty(tickets.Id, user.Id, noty.open); } tickets.TicketPriorityId = model.TicketPriorityId; tickets.TicketStatusId = model.TicketStatusId; tickets.OwnerUserId = user.Id; tickets.Created = tickets.Created = DateTime.Now; var project = db.Projects.Find(tickets.Id); db.Tickets.Add(model); if (ModelState.IsValid) { db.Entry(tickets).State = EntityState.Modified; db.SaveChanges(); var svc = new EmailService(); var msg = new IdentityMessage(); msg.Subject = "Ticket Edited"; msg.Body = "\r\n You have a new edit on the ticket titled," + tickets.Title + "with the following description:" + tickets.Description + "\r\n"; //var users = db.Users.Where(p => p.Projects.Any(u => u.Id == )) msg.Destination = project.Users.Select(u => u.Email).ToString(); await svc.SendAsync(msg); return(RedirectToAction("myIndex", "Tickets")); } //ViewBag.AssignedToId = new SelectList(db.Users, "Id", "FirstName", tickets.AssignedToId); //ViewBag.OwnerUserId = new SelectList(db.Users, "Id", "FirstName", tickets.OwnerUserId); ViewBag.ProjectId = new SelectList(db.Projects, "Id", "Name", tickets.ProjectId); ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", tickets.TicketPriorityId); ViewBag.TicketStatusId = new SelectList(db.TicketStatuses, "Id", "Name", tickets.TicketStatusId); ViewBag.TicketTypeId = new SelectList(db.TicketTypes, "Id", "Name", tickets.TicketTypeId); return(View("myIndex", "Tickets")); }