public ProjectListViewModel(IViewServiceRepository viewServices = null, ISettingsRepository settingsRepo = null, IProjectRepository projectRepo = null, IMessenger messenger = null) : base(viewServices, settingsRepo, messenger) { ProjectRepo = projectRepo ?? new ProjectRepository(Session); Projects = new ObservableCollection <ProjectViewModel>(ProjectRepo.GetAll().OrderBy(p => p.Name).Select(p => new ProjectViewModel(p))); var last = Settings.GetById(SettingKeys.LastProject); CurrentProject = Projects.FirstOrDefault(p => p.Model.Id == last.Get <int>()) ?? Projects.FirstOrDefault(); foreach (var proj in Projects) { proj.CurrentChanged += Proj_CurrentChanged; } if (CurrentProject != null) { CurrentProject.IsCurrent = true; } ProjectNames = new List <string>(); Validate(nameof(NewProjectName)).Check(() => !string.IsNullOrWhiteSpace(NewProjectName)).Message(Strings.ProjectMustHaveName); Validate(nameof(NewProjectName)).Check(() => !ProjectNames.Contains(NewProjectName)).Message(Strings.ThisNameIsAlreadyUsed); Reset(); }
public ActionResult Index() { List <Project> model = projects.GetAll().ToList(); return(View(model)); }
// GET: Projects/Create public ActionResult Create() { ViewBag.ProjectId = new SelectList(projectRepo.GetAll(), "Id", "Name"); ViewBag.EmployeeId = new SelectList(employeeRepo.GetAll(), "Id", "FullName"); return(View()); }