Ejemplo n.º 1
0
        public ActionResult AssignTicket(string title, AssignTicketViewModel formData)
        {
            if (string.IsNullOrWhiteSpace(title))
            {
                return(RedirectToAction(nameof(TicketsController.Index)));
            }

            if (!ModelState.IsValid)
            {
                return(View());
            }

            var ticket = Context.Tickets.FirstOrDefault(p => p.Title == title);

            if (ticket == null)
            {
                return(RedirectToAction(nameof(TicketsController.Index)));
            }

            ticket.AssignedToId = formData.DevelopersId;
            Context.SaveChanges();

            var userEmail = ticket.AssignedTo.Email;

            EmailService emailNotification = new EmailService();

            emailNotification.Send(userEmail, "You have been assigned a new ticket", "Ticket Assigned");

            return(Redirect(Request.UrlReferrer.PathAndQuery));
        }
Ejemplo n.º 2
0
        public void Assign(AssignTicketViewModel model)
        {
            var ticket = db.Tickets.FirstOrDefault(x => x.Id == model.TicketId);

            ticket.AssignedToUserId = model.DeveloperId;
            db.SaveChanges();
        }
Ejemplo n.º 3
0
        //ASSIGNED TICKET
        //project manager assign ticket to developer
        public void assignTicket(AssignTicketViewModel model)
        {
            TicketRepo.Assign(model);
            TicketNotification notification = new TicketNotification(model.DeveloperId, model.TicketId, true);

            TicketNotificationRepo.Add(notification);
        }
Ejemplo n.º 4
0
        public ActionResult AssignTicket(AssignTicketViewModel model)
        {
            var ticket = (from t in DbContext.Tickets
                          where t.Id == model.Id
                          select t).FirstOrDefault();

            var userid = User.Identity.GetUserId();
            var user   = GetUserById(userid);

            if (model.AssignedDeveloperId != null)
            {
                var developer = (from d in DbContext.Users
                                 where d.Id == model.AssignedDeveloperId
                                 select d).FirstOrDefault();

                ticket.AssignedDeveloper = developer;
                DbContext.SaveChanges();

                var newHistory = new TicketHistory();
                var propChange = new PropertyChange();
                propChange.PropertyName = nameof(ticket.AssignedDeveloper);
                propChange.OldValue     = "none";
                propChange.NewValue     = ticket.AssignedDeveloper.Name;
                newHistory.PropertyChanges.Add(propChange);
                newHistory.User     = user;
                newHistory.DateTime = DateTime.Now;
                ticket.Histories.Add(newHistory);
                DbContext.SaveChanges();
                SendNotification(newHistory, user, ticket);
            }

            return(RedirectToAction(nameof(BugController.ViewTicketDetails), "Bug", new { Id = ticket.Id }));
        }
Ejemplo n.º 5
0
        public ActionResult AssignTicket(int?Id)
        {
            if (!Id.HasValue)
            {
                return(RedirectToAction(nameof(HomeController.Index), "Home"));
            }

            var devRoleId = (from r in DbContext.Roles
                             where r.Name == nameof(UserRoles.Developer)
                             select r.Id).FirstOrDefault();

            var developers = (from u in DbContext.Users
                              where u.Roles.Any(r => r.RoleId == devRoleId)
                              select u).ToList();

            var ticket = (from t in DbContext.Tickets
                          where t.Id == Id
                          select t).FirstOrDefault();

            var model = new AssignTicketViewModel()
            {
                Id                = ticket.Id,
                Title             = ticket.Title,
                AssignedDeveloper = ticket.AssignedDeveloper,
                Developers        = developers
            };

            return(View(model));
        }
Ejemplo n.º 6
0
        public ActionResult AssignTicketManagement(int?id)
        {
            if (!id.HasValue)
            {
                return(RedirectToAction(nameof(TicketController.Index)));
            }

            var ticket = AppHepler.GetTicketById(id);

            if (ticket == null)
            {
                return(RedirectToAction(nameof(TicketController.Index)));
            }

            var allDevs = DbContext.Users.Where(p => p.Roles.Any(b => b.RoleId ==
                                                                 DbContext.Roles.Where(m => m.Name == "Developer").Select(n => n.Id).FirstOrDefault()))

                          .Select(n => new UserProjectViewModel
            {
                Id       = n.Id,
                UserName = n.UserName
            }).ToList();

            var repeated = new UserProjectViewModel();

            repeated = allDevs.Where(m => m.Id == ticket.AssigneeId).FirstOrDefault();
            allDevs.Remove(repeated);

            var model = new AssignTicketViewModel();

            model.MyUser = new UserProjectViewModel();

            model.TicketId    = ticket.Id;
            model.TicketTitle = ticket.Title;
            if (ticket.AssigneeId != null || ticket.Assignee != null)
            {
                model.MyUser.Id       = ticket.AssigneeId;
                model.MyUser.UserName = ticket.Assignee.UserName;
            }
            else
            {
                model.MyUser.Id = "NoAssigneeId";
            }


            model.Devs.AddRange(allDevs);

            return(View(model));
        }
Ejemplo n.º 7
0
        public ActionResult AssignTicket(AssignTicketViewModel model)
        {
            if (ModelState.IsValid)
            {
                ticketLogic.assignTicket(model);

                return(RedirectToAction("Index"));
            }

            var userId = User.Identity.GetUserId();
            var users  = new List <ApplicationUser>();

            if (AdminLogic.CheckIfUserIsInRole(userId, "Admin"))
            {
                users = ticketLogic.getAllManagerAndDeveloperUser(userId);
            }
            else
            {
                users = ticketLogic.getAllDeveloperUser(userId);
            }
            ViewBag.DeveloperId = new SelectList(users, "Id", "UserName");
            return(View());
        }