예제 #1
0
        public async Task <IActionResult> Edit(int projectId, int year)
        {
            var project = await _projectService.FindProject(projectId);

            if (project == null || project.ProjectId <= 0 || year < 2019)
            {
                return(NotFound());
            }

            var projectYear = new ProjectYearViewModel();
            await projectYear.CalculatePlans(year, new Project[] { project }, _projectService, _planService);

            var model = projectYear.ProjectRowsDic[project.ProjectId];

            for (var month = 1; month < 13; month++)
            {
                if (model.MonthDataDic[month] == null)
                {
                    model.MonthDataDic[month] = new MonthDataViewModel
                    {
                        Month = month,
                    };
                }
            }
            return(View(model));
        }
예제 #2
0
        public async Task <IActionResult> Index(ProjectYearViewModel model)
        {
            if (model.Year <= 0)
            {
                model.Year = DateTime.Today.Year;
            }

            var allowAllOrgs = Helper.AllowAllOrgs(HttpContext, out int?allowedOrgId);

            if (!allowAllOrgs)
            {
                model.SelectedOrgId = allowedOrgId;
            }


            //TODO: 帅选满足条件的项目
            var projects = await _projectService.SearchProjectsWithoutPager(model.SelectedOrgId, model.SearchName, !model.IncludeInActive);

            await model.CalculatePerforms(model.Year, projects, _projectService, _performService);

            foreach (var proj in model.ProjectRowsDic.Values)
            {
                if (proj.Balance != null)
                {
                    proj.Balance.ClearZeroProperties();
                }

                foreach (var m in proj.MonthDataDic.Values)
                {
                    if (m != null)
                    {
                        m.ClearZeroProperties();
                    }
                }
            }

            //年度列表
            var years = new List <int>();

            for (var i = 2020; i < 2030; i++)
            {
                years.Add(i);
            }
            ViewBag.YearList = new SelectList(years);

            var orgnizations = allowAllOrgs ? await _systemService.GetOrganizations() :
                               new Organization[]
            {
                await _systemService.FindOrganization(allowedOrgId.Value)
            };

            //组织列表
            ViewBag.OrgList = new SelectList(orgnizations,
                                             nameof(Organization.OrganizationId), nameof(Organization.Name));

            return(View(model));
        }