Exemple #1
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);
        }