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 }); }
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"); }