public IEnumerable <Research> AllPositiveTestsSortedByOrgan()
        {
            var organs  = organRepo.GetOrgans();
            var reports = reportRepo.GetAllPositiveReports();

            var sortedByOrgan = new List <Research>();

            foreach (var o in organs)
            {
                var item = new Research {
                    Item = o.Name, Number = 0
                };
                foreach (var r in reports)
                {
                    if (r.OrganName == o.Name)
                    {
                        item.Number++;
                    }
                }
                if (item.Number != 0)
                {
                    sortedByOrgan.Add(item);
                }
            }

            return(sortedByOrgan);
        }
        // GET: AdminDashboard
        public ActionResult Index()
        {
            //Total Tests
            ViewBag.TotalNumberOfTests          = repoReport.GetAllReports().Count();
            ViewBag.TotalNumberOfTestsThisWeek  = repoReport.GetAllReportsLastWeek().Count();
            ViewBag.TotalNumberOfTestsThisMonth = repoReport.GetAllReportsLastMonth().Count();
            ViewBag.TotalNumberOfTestsThisYear  = repoReport.GetAllReportsLastYear().Count();

            //Positive Tests
            ViewBag.TotalNumberPositive = repoReport.GetAllPositiveReports().Count();

            //negative Tests
            ViewBag.TotalNumberNegative = repoReport.GetAllNegativeReports().Count();

            //recent Tests
            ViewBag.RecentWSIs = repoWSI.GetRecentWSIs();

            //report by Stain last month
            var reportByStains = repoReport.GetReportByStainsForLastMonth();
            var stains         = new List <string>();
            var stainsValues   = new List <int>();
            var stainsColor    = new List <string>();

            foreach (var item in reportByStains)
            {
                stains.Add(item.Stain);
                stainsValues.Add(item.Number);
                stainsColor.Add("#b82e8a");
            }
            ViewBag.Stains       = stains;
            ViewBag.StainsValues = stainsValues;
            ViewBag.StainsColor  = stainsColor;


            //report by Organs last month
            var reportByOrgans = repoReport.GetReportByOrgansForLastMonth();
            var organs         = new List <string>();
            var organsValues   = new List <int>();
            var organsColor    = new List <string>();

            foreach (var item in reportByOrgans)
            {
                organs.Add(item.Organ);
                organsValues.Add(item.Number);
                organsColor.Add("#1a8cff");
            }
            ViewBag.Organs       = organs;
            ViewBag.OrgansValues = organsValues;
            ViewBag.OrgansColor  = organsColor;


            //report by Tissues last month
            var reportByTissues = repoReport.GetReportByTissuesForLastMonth();
            var tissues         = new List <string>();
            var tissuesValues   = new List <int>();
            var tissuesColor    = new List <string>();

            foreach (var item in reportByTissues)
            {
                tissues.Add(item.Tissue);
                tissuesValues.Add(item.Number);
                tissuesColor.Add("#ff9900");
            }
            ViewBag.Tissues       = tissues;
            ViewBag.TissuesValues = tissuesValues;
            ViewBag.TissuesColor  = tissuesColor;

            var dynamics     = repoReport.GetDynamicForAYear();
            var months       = new List <int>();
            var monthsValues = new List <int>();

            //var monthsColor = new List<string>();

            foreach (var item in dynamics)
            {
                months.Add(item.Month);
                monthsValues.Add(item.Number);
                // monthsColor.Add("#00cc44");
            }

            ViewBag.Months       = months;
            ViewBag.MonthsValues = monthsValues;


            ViewBag.usersToday = repoTracking.RegisteredUsersToday();
            ViewBag.usersMonth = repoTracking.RegisteredUsersThisMonth();
            ViewBag.usersYear  = repoTracking.RegisteredUsersThisYear();
            var _context = new ApplicationDbContext();

            ViewBag.TotalUsers        = _context.Users.ToList().Count;
            ViewBag.NotConfirmedUsers = repoTracking.GetNotConfirmedUsers().ToList().Count;


            return(View());
        }