Ejemplo n.º 1
0
        public async Task <ActionResult> AssignDeveloper([Bind(Include = "TicketId,SelectedDevId,ProjectId")] AssignTicketToDeveloperModel model)
        {
            var userDB = UserHelper.GetUserById(User.Identity.GetUserId());

            if (userDB.ProjectsManage.Any(p => p.Id == model.ProjectId) && User.IsInRole("Project Manager"))
            {
                var ticket = db.Tickets.Find(model.TicketId);
                if (ticket == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                ticket.DeveloperId = model.SelectedDevId;
                db.SaveChanges();


                var devDB = db.Users.FirstOrDefault(u => u.Id == model.SelectedDevId);

                var newMail = new MailMessage(userDB.Email, devDB.Email);
                newMail.Subject    = "New ticket was attached to you.";
                newMail.Body       = $"<h3>This is email from {userDB.DisplayName}. <p>New ticket was attached to you.<p/>";
                newMail.IsBodyHtml = true;

                await PersonalEmail.SendAsync(newMail);


                return(RedirectToAction("Details", "Projects", new { id = model.ProjectId }));
            }
            return(View("NoAccess"));
        }
Ejemplo n.º 2
0
        public ActionResult AssignDeveloper(int id)
        {
            var ticket = db.Tickets.FirstOrDefault(t => t.Id == id);

            if (ticket == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var userDB = UserHelper.GetUserById(User.Identity.GetUserId());

            if (userDB.ProjectsManage.Any(p => p.Id == ticket.ProjectId) && User.IsInRole("Project Manager"))
            {
                var viewModel = new AssignTicketToDeveloperModel();
                viewModel.TicketId    = id;
                viewModel.TicketTitle = ticket.Title;
                viewModel.Developers  = UserHelper.GetUsersInRole("Developer");
                if (ticket.Developer != null)
                {
                    viewModel.DevList = new SelectList(viewModel.Developers, "Id", "DisplayName", ticket.Developer.Id);
                }
                else
                {
                    viewModel.DevList = new SelectList(viewModel.Developers, "Id", "DisplayName");
                }
                viewModel.ProjectId = ticket.ProjectId;
                return(View(viewModel));
            }
            return(View("NoAccess"));
        }