Exemple #1
0
        public static GeneralCIOViewModel GetGeneralCIOViewModel()
        {
            List <ApplicationUser> _users    = db.Users.Where(m => m.BugNetUserId != null).ToList();
            List <Project>         _projects = db.Projects.ToList();

            List <Issue> _issuesThisWeekAllProject = IssueRepositories.GetIssuesProjectIdFromDateToDate(_firstDayOfWeek, _lastDayOfWeek);

            List <Issue> _issuesLastWorkingDayTemp = IssueRepositories.GetIssuesEQDate(_lastWorkingDay).Where(m => m.IsClosed == true).ToList();
            List <Issue> _issuesTodayTemp          = IssueRepositories.GetIssuesEQDate(_today);
            List <Issue> _issuesNextWorkingDayTemp = IssueRepositories.GetIssuesEQDate(_nextWorkingDay);
            List <Issue> _issuesNotFinishedTemp    = IssueRepositories.GetIssuesNotFinishedByDate(_today);
            List <Issue> _issuesFutureTemp         = IssueRepositories.GetIssuesFutureByDate(_today);

            List <Issue> _issuesThisWeek       = new List <Issue>();
            List <Issue> _issuesLastWorkingDay = new List <Issue>();
            List <Issue> _issuesToday          = new List <Issue>();
            List <Issue> _issuesNextWorkingDay = new List <Issue>();
            List <Issue> _issuesNotFinished    = new List <Issue>();
            List <Issue> _issuesFuture         = new List <Issue>();

            foreach (var project in _projects)
            {
                _issuesThisWeek.AddRange(_issuesThisWeekAllProject.Where(m => m.ProjectId == project.Id).ToList());
                _issuesLastWorkingDay.AddRange(_issuesLastWorkingDayTemp.Where(m => m.ProjectId == project.Id).ToList());
                _issuesNextWorkingDay.AddRange(_issuesNextWorkingDayTemp.Where(m => m.ProjectId == project.Id).ToList());
                _issuesToday.AddRange(_issuesTodayTemp.Where(m => m.ProjectId == project.Id).ToList());

                _issuesNotFinished.AddRange(_issuesNotFinishedTemp.Where(m => m.ProjectId == project.Id).ToList());
                _issuesFuture.AddRange(_issuesFutureTemp.Where(m => m.ProjectId == project.Id).ToList());
            }


            GeneralCIOViewModel _generalCIO = new GeneralCIOViewModel();

            _generalCIO.PerfomanceAverageToday          = PerformanceHelpers.GetPerformanceAverageByIssues(_issuesToday, _users.Count);
            _generalCIO.PerfomanceAverageLastWorkingDay = PerformanceHelpers.GetPerformanceAverageByIssues(_issuesLastWorkingDay, _users.Count);
            _generalCIO.PerfomanceAverageNextWorkingDay = PerformanceHelpers.GetPerformanceAverageByIssues(_issuesNextWorkingDay, _users.Count);
            _generalCIO.PerfomanceAverageThisWeek       = PerformanceHelpers.GetPerformanceAverageByIssuesInWeek(_issuesThisWeek, _users.Count);

            _generalCIO.PerformancesLastWorkingDate = PerformanceHelpers.GetPerformanceUserByIssuesDate(_issuesLastWorkingDay).OrderByDescending(m => m.y).ToList();
            _generalCIO.PerformancesToday           = PerformanceHelpers.GetPerformanceUserByIssuesDate(_issuesToday).OrderByDescending(m => m.y).ToList();
            _generalCIO.PerformancesNextWorkingDate = PerformanceHelpers.GetPerformanceUserByIssuesDate(_issuesNextWorkingDay).OrderByDescending(m => m.y).ToList();

            _generalCIO.IssuesNotFinished = IssueMappers.IssueToViewModels(_issuesNotFinished);
            _generalCIO.IssuesFuture      = IssueMappers.IssueToViewModels(_issuesFuture);

            return(_generalCIO);
        }
Exemple #2
0
        public static CIOTimesViewModel GetCIOTimesViewModel(DateTime fromDate, DateTime toDate)
        {
            List <Issue>           _issuesThisWeekAllProject = IssueRepositories.GetIssuesProjectIdFromDateToDate(fromDate, toDate);
            List <ApplicationUser> _users    = db.Users.Where(m => m.BugNetUserId != null).ToList();
            List <Project>         _projects = db.Projects.ToList();

            List <Issue> _issuesThisWeek = new List <Issue>();

            foreach (var project in _projects)
            {
                _issuesThisWeek.AddRange(_issuesThisWeekAllProject.Where(m => m.ProjectId == project.Id).ToList());
            }

            CIOTimesViewModel cioTimes = new CIOTimesViewModel();
            List <ListPerformanceUsersViewModel> listPer = new List <ListPerformanceUsersViewModel>();

            cioTimes.FromDate = fromDate;
            cioTimes.ToDate   = toDate;

            DateTime _dateTemp = cioTimes.FromDate;

            while (_dateTemp <= cioTimes.ToDate)
            {
                ListPerformanceUsersViewModel _per = new ListPerformanceUsersViewModel();
                _per.Date = _dateTemp;
                if (_per.Date < DateTime.Today)
                {
                    _per.PerformancesUsers = PerformanceHelpers.GetPerformanceUserByIssuesDate(_issuesThisWeek.Where(m => DateHelpers.IsEquals(m.IssueDueDate, _dateTemp) && m.IsClosed == true).ToList()).OrderByDescending(m => m.y).ToList();
                }
                else
                {
                    _per.PerformancesUsers = PerformanceHelpers.GetPerformanceUserByIssuesDate(_issuesThisWeek.Where(m => DateHelpers.IsEquals(m.IssueDueDate, _dateTemp)).ToList()).OrderByDescending(m => m.y).ToList();
                }

                _dateTemp = _dateTemp.AddDays(1);

                listPer.Add(_per);
            }
            cioTimes.ListPerformances = listPer;

            return(cioTimes);
        }