Пример #1
0
        public IActionResult LeaderboardsBusiness()
        {
            var model      = new List <LeaderboardsBusinessViewModel>();
            var Commutes   = _context.Commute.Where(c => c.CommuteDate.Year == DateTime.Now.Year).Include(c => c.User).ToList();
            var Businesses = _context.Business.ToList();
            var Users      = _context.Users.Where(c => c.Email != "*****@*****.**").ToList();

            foreach (var business in Businesses)
            {
                var userViewModel = new LeaderboardsBusinessViewModel
                {
                    BusinessId    = business.Id, BusinessName = business.BusinessName, TeamSize = Users.Where(c => c.BusinessId == business.Id).Count(),
                    TotalCommutes = Commutes.Where(c => c.User.BusinessId == business.Id).Count(),
                    TotalDistance = Commutes.Where(c => c.User.BusinessId == business.Id).Sum(c => c.CommuteDistance),
                    TotalBikes    = Commutes.Where(c => c.User.BusinessId == business.Id && c.CommuteTypeId == 1).Count(),
                    TotalCarpools = Commutes.Where(c => c.User.BusinessId == business.Id && c.CommuteTypeId == 2).Count(),
                    TotalRuns     = Commutes.Where(c => c.User.BusinessId == business.Id && c.CommuteTypeId == 3).Count(),
                };
                model.Add(userViewModel);
            }

            return(View(model.ToList()));
        }
Пример #2
0
        public IActionResult ManageCommutesBusiness(DateTime?startDate, DateTime?endDate)
        {
            if (startDate == null)
            {
                startDate = new DateTime();
            }
            if (endDate == null)
            {
                endDate = DateTime.Now;
            }

            ViewData["StartDate"] = startDate.Value.ToShortDateString();
            ViewData["EndDate"]   = endDate.Value.ToShortDateString();

            var model      = new List <LeaderboardsBusinessViewModel>();
            var Commutes   = _context.Commute.Include(c => c.User).Where(c => c.CommuteDate >= startDate && c.CommuteDate <= endDate).ToList();
            var Businesses = _context.Business.ToList();
            var Users      = _context.Users.Where(c => c.Email != "*****@*****.**").ToList();

            foreach (var business in Businesses)
            {
                var userViewModel = new LeaderboardsBusinessViewModel
                {
                    BusinessId    = business.Id,
                    BusinessName  = business.BusinessName,
                    TeamSize      = Users.Where(c => c.BusinessId == business.Id).Count(),
                    TotalCommutes = Commutes.Where(c => c.User.BusinessId == business.Id).Count(),
                    TotalDistance = Commutes.Where(c => c.User.BusinessId == business.Id).Sum(c => c.CommuteDistance),
                    TotalBikes    = Commutes.Where(c => c.User.BusinessId == business.Id && c.CommuteTypeId == 1).Count(),
                    TotalCarpools = Commutes.Where(c => c.User.BusinessId == business.Id && c.CommuteTypeId == 2).Count(),
                    TotalRuns     = Commutes.Where(c => c.User.BusinessId == business.Id && c.CommuteTypeId == 3).Count(),
                };
                model.Add(userViewModel);
            }

            return(View(model.ToList()));
        }