Ejemplo n.º 1
0
        private async Task <HomeViewModel> LoadModel(bool showInactive = false, int maxProjects = int.MaxValue)
        {
            var allProjects = showInactive
        ? await _projectRepository.GetArchivedProjectsWithClaimCount()
        : await _projectRepository.GetActiveProjectsWithClaimCount();

            var projects =
                allProjects
                .Select(p => new ProjectListItemViewModel(p, CurrentUserIdOrDefault))
                .Where(p => (showInactive && p.ClaimCount > 0) || p.IsMaster || p.MyClaims.Any(c => c.IsActive) || p.IsAcceptingClaims)
                .ToList();

            var alwaysShowProjects = ProjectListItemViewModel.OrderByDisplayPriority(
                projects.Where(p => p.IsMaster || p.MyClaims.Any()), p => p).ToList();

            var projectListItemViewModels = alwaysShowProjects.UnionUntilTotalCount(projects.OrderByDescending(p => p.ClaimCount), maxProjects);

            var finalProjects = projectListItemViewModels.ToList();

            return(new HomeViewModel
            {
                ActiveProjects = finalProjects,
                HasMoreProjects = projects.Count > finalProjects.Count
            });
        }
Ejemplo n.º 2
0
        public static ProjectListItemViewModel ToListItemViewModel(this Project project)
        {
            var model = new ProjectListItemViewModel();

            model.Name           = project.Name;
            model.ProjectID      = project.ProjectID;
            model.UserCategory   = project.UserCategory != null ? project.UserCategory.Name : "";
            model.UserCategoryID = project.UserCategoryID;
            model.VehicleID      = project.VehicleID;
            model.VehicleName    = project.Vehicle != null ? project.Vehicle.Name : "";
            return(model);
        }
        public void Is_Description_Set()
        {
            base.Setup();

            // Arrange
            Project p = new Project
            {
                Description = "Mock description",
                Id          = "1",
                Name        = "Mock Name",
            };

            // Act
            var vm = new ProjectListItemViewModel(Ioc.Resolve <IMvxLogProvider>(), mockProjectService.Object, p);

            // Assert
            Assert.IsNotNull(vm.Description, nameof(vm.Description) + " should not be null");
            Assert.AreEqual(vm.Description, p.Description, nameof(vm.Description) + " not set to Project Description");
        }
        public async Task Is_Logo_Not_Set_Without_Authentication()
        {
            base.Setup();

            // Arrange
            Project p = new Project
            {
                Description = "Mock description",
                Id          = "1",
                Name        = "Mock Name",
            };
            var vm = new ProjectListItemViewModel(Ioc.Resolve <IMvxLogProvider>(), mockProjectService.Object, p);

            // Act
            //await vm.LoadLogo();
            // Give a few seconds for the Logo attempt to set
            await Task.Delay(5000);

            // Assert
            Assert.IsNull(vm.Logo, nameof(vm.Logo) + " should be null");
        }
        public JsonResult GetProjectDim([FromBody] string ProjectNo)
        {
            ProjectListItemViewModel result = new ProjectListItemViewModel();

            List <NAVProjectsViewModel> navList = DBNAV2017Projects.GetAll(_config.NAVDatabaseName, _config.NAVCompanyName, ProjectNo).ToList();
            NAVProjectsViewModel        Project = navList.Where(x => x.No == ProjectNo).FirstOrDefault();

            if (Project != null)
            {
                result.ProjectNo                = ProjectNo;
                result.RegionCode               = Project.RegionCode != null ? Project.RegionCode : "";
                result.FunctionalAreaCode       = Project.AreaCode != null ? Project.AreaCode : "";
                result.ResponsabilityCenterCode = Project.CenterResponsibilityCode != null ? Project.CenterResponsibilityCode : "";
            }
            else
            {
                result.RegionCode               = "";
                result.FunctionalAreaCode       = "";
                result.ResponsabilityCenterCode = "";
            }

            return(Json(result));
        }
        public async Task Is_Logo_Set()
        {
            base.Setup();

            // Arrange
            Project p = new Project
            {
                Description = "Mock description",
                Id          = "1",
                Name        = "Mock Name",
            };
            await MockAuthenticationService.Object.Login(VALID_USERNAME, VALID_PASSWORD);

            var vm = new ProjectListItemViewModel(Ioc.Resolve <IMvxLogProvider>(), mockProjectService.Object, p);

            // Act
            //await vm.LoadLogo();
            // Give a few seconds for the Logo to be set
            await Task.Delay(5000);

            // Assert
            Assert.IsNotNull(vm.Logo, nameof(vm.Logo) + " should not be null");
        }