public IActionResult Manager()
        {
            string CurrentUserID = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value;
            int    ProjectID     = projectRepo.GetProjectByManager(CurrentUserID).ProjectID;

            List <Ticket> RelatedTickets = ticketRepo.GetAllTickets().Where(t => t.ProjectID == ProjectID).ToList();

            TicketsStatisticsModel TSM = new TicketsStatisticsModel
            {
                OpenTicketsCount       = RelatedTickets.Where(t => t.Status == StatusType.Open).Count(),
                InProgressTicketsCount = RelatedTickets.Where(t => t.Status == StatusType.InProgress).Count(),
                StrugglingTicketsCount = RelatedTickets.Where(t => t.Status == StatusType.Struggling).Count(),
                CompleteTicketCount    = RelatedTickets.Where(t => t.Status == StatusType.Complete).Count(),

                LowPriorityTicketsCount      = RelatedTickets.Where(t => t.Priority == PriorityType.Low).Count(),
                ModeratePriorityTicketsCount = RelatedTickets.Where(t => t.Priority == PriorityType.Moderate).Count(),
                HightPriorityTicketsCount    = RelatedTickets.Where(t => t.Priority == PriorityType.High).Count(),
                ExtremePriorityTicketsCount  = RelatedTickets.Where(t => t.Priority == PriorityType.Extreme).Count(),

                AssignedTicketsCount   = RelatedTickets.Where(t => t.DeveloperID != null).Count(),
                UnassignedTicketsCount = RelatedTickets.Where(t => t.DeveloperID == null).Count()
            };

            return(View(TSM));
        }
        public IActionResult Admin()
        {
            List <Ticket> RelatedTickets = ticketRepo.GetAllTickets().ToList();

            List <Project> Projects = projectRepo.GetAllProjectsWuthTickets();
            List <ProjectStatisticViewModel> ProjectsViewModels = new List <ProjectStatisticViewModel>();

            foreach (Project project in Projects)
            {
                ProjectsViewModels.Add(new ProjectStatisticViewModel
                {
                    ProjectName             = project.ProjectName,
                    AssignedTicketsCount    = project.Tickets.Where(t => t.DeveloperID != null).Count(),
                    UnassignedTickectsCount = project.Tickets.Where(t => t.DeveloperID == null).Count(),
                    DevelopersCount         = project.Developers.Count()
                }
                                       );
            }

            TicketsStatisticsModel TSM = new TicketsStatisticsModel
            {
                OpenTicketsCount       = RelatedTickets.Where(t => t.Status == StatusType.Open).Count(),
                InProgressTicketsCount = RelatedTickets.Where(t => t.Status == StatusType.InProgress).Count(),
                StrugglingTicketsCount = RelatedTickets.Where(t => t.Status == StatusType.Struggling).Count(),
                CompleteTicketCount    = RelatedTickets.Where(t => t.Status == StatusType.Complete).Count(),

                LowPriorityTicketsCount      = RelatedTickets.Where(t => t.Priority == PriorityType.Low).Count(),
                ModeratePriorityTicketsCount = RelatedTickets.Where(t => t.Priority == PriorityType.Moderate).Count(),
                HightPriorityTicketsCount    = RelatedTickets.Where(t => t.Priority == PriorityType.High).Count(),
                ExtremePriorityTicketsCount  = RelatedTickets.Where(t => t.Priority == PriorityType.Extreme).Count(),

                Projects = ProjectsViewModels
            };



            return(View(TSM));
        }