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 StaffTimesViewModel GetPerformanceInDateViewModel(DateTime fromDate, DateTime toDate)
        {
            string         user                   = "******";
            List <Issue>   _issuesInTimes         = IssueRepositories.GetIssuesProjectIdFromDateToDate(fromDate, toDate);
            List <Project> _projects              = db.Projects.ToList();
            List <Issue>   _issuesNotFinishedTemp = IssueRepositories.GetIssuesNotFinishedByDate(_today);
            List <Issue>   _issuesFutureTemp      = IssueRepositories.GetIssuesFutureByDate(_today);

            List <Issue> _issuesNotFinished = new List <Issue>();
            List <Issue> _issuesFuture      = new List <Issue>();
            List <Issue> issuesInTimes      = new List <Issue>();

            foreach (var project in _projects)
            {
                issuesInTimes.AddRange(_issuesInTimes.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());
            }

            StaffTimesViewModel staffTimes = new StaffTimesViewModel();
            List <GraphItem>    issues     = new List <GraphItem>();

            staffTimes.FromDate = fromDate;
            staffTimes.ToDate   = toDate;

            DateTime _dateTemp = staffTimes.FromDate;

            while (_dateTemp <= staffTimes.ToDate)
            {
                GraphItem _issue = new GraphItem();
                _issue.x = _dateTemp.ToShortDateString();
                _issue.y = PerformanceHelpers.GetPerformanceByIssues(issuesInTimes.Where(m => DateHelpers.IsEquals(m.IssueDueDate, _dateTemp) && m.AssignedUserName == user).ToList());

                _dateTemp = _dateTemp.AddDays(1);

                issues.Add(_issue);
            }
            staffTimes.Performances      = issues;
            staffTimes.UserName          = user;
            staffTimes.IssuesNotFinished = IssueMappers.IssueToViewModels(_issuesNotFinished.Where(m => m.AssignedUserName == user).ToList());
            staffTimes.IssuesFuture      = IssueMappers.IssueToViewModels(_issuesFuture.Where(m => m.AssignedUserName == user).ToList());
            staffTimes.IssuesAll         = IssueMappers.IssueToViewModels(issuesInTimes.Where(m => m.AssignedUserName == user).ToList());

            return(staffTimes);
        }
Exemple #3
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);
        }
Exemple #4
0
        public static GeneralStaffViewModel GetGeneralStaffViewModel(string userName)
        {
            List <Project> _projects = db.Projects.ToList();
            List <Issue>   _issuesForUserAllProject = IssueRepositories.GetIssuesByUser(userName);

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

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

            GeneralStaffViewModel _generalStaff = new GeneralStaffViewModel();

            _generalStaff.PerfomanceLastWorkingDay = PerformanceHelpers.GetPerformanceUserByIssues(_issuesForUser.Where(m => m.IssueDueDate == _lastWorkingDay).ToList());
            _generalStaff.PerfomanceToday          = PerformanceHelpers.GetPerformanceUserByIssues(_issuesForUser.Where(m => m.IssueDueDate == _today).ToList());
            _generalStaff.PerfomanceNextWorkingDay = PerformanceHelpers.GetPerformanceUserByIssues(_issuesForUser.Where(m => m.IssueDueDate == _nextWorkingDay).ToList());

            _generalStaff.IssuesNotFinished = IssueMappers.IssueToViewModels(_issuesForUser.Where(m => m.IsClosed == false).ToList());
            _generalStaff.IssuesFuture      = IssueMappers.IssueToViewModels(_issuesForUser.Where(m => m.IssueDueDate >= _today).ToList());

            return(_generalStaff);
        }