Example #1
0
        private void ProjectUsersChanged(Project oldProject, Project newProject)
        {
            var userId       = projectHelper.ListUserOnProjectInRole(newProject.Id, "ProjectManager").FirstOrDefault().Id;
            var addedUsers   = newProject.Users.Except(oldProject.Users).ToList();
            var removedUsers = oldProject.Users.Except(newProject.Users).ToList();

            foreach (var user in addedUsers)
            {
                var NewHistory = new ProjectHistory()
                {
                    ProjectId = newProject.Id,
                    UserId    = userId,
                    ChangedOn = DateTime.Now,
                    Property  = $"User added to: {newProject.Name}",
                    OldValue  = "",
                    NewValue  = user.Email
                };
                db.ProjectHistories.Add(NewHistory);
            }
            foreach (var user in removedUsers)
            {
                var NewHistory = new ProjectHistory()
                {
                    ProjectId = newProject.Id,
                    UserId    = userId,
                    ChangedOn = DateTime.Now,
                    Property  = $"User removed from: {newProject.Name}",
                    OldValue  = "",
                    NewValue  = user.Email
                };
                db.ProjectHistories.Add(NewHistory);
            }
        }
Example #2
0
        public List <ApplicationUser> ListTicketUsers(int TicketId)
        {
            var UserList = new List <ApplicationUser>();
            var ticket   = db.Tickets.Find(TicketId);

            UserList.Add(ticket.Developer);
            UserList.Add(ticket.Submitter);
            UserList.Add(projectHelper.ListUserOnProjectInRole(ticket.ProjectId, "ProjectManager").FirstOrDefault());
            return(UserList);
        }
        public void NewTicketNotification(Ticket newTicket)
        {
            var projectManager  = projectHelper.ListUserOnProjectInRole(newTicket.ProjectId, "ProjectManager").FirstOrDefault();
            var newNotification = new TicketNotification()
            {
                TicketId         = newTicket.Id,
                UserId           = projectManager.Id,
                Created          = DateTime.Now,
                Subject          = $"New Ticket has been Created Id: {newTicket.Id}",
                Message          = $"Hello {projectManager.FullName}, A New Ticket new Ticket has been Created {newTicket.Issue} on Project ",
                NotificationType = "new"
            };

            db.Notifications.Add(newNotification);
            db.SaveChanges();
        }