예제 #1
0
        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();
        }
예제 #2
0
        public ActionResult Index()
        {
            List <Project> model = projects.GetAll().ToList();

            return(View(model));
        }
예제 #3
0
 // GET: Projects/Create
 public ActionResult Create()
 {
     ViewBag.ProjectId  = new SelectList(projectRepo.GetAll(), "Id", "Name");
     ViewBag.EmployeeId = new SelectList(employeeRepo.GetAll(), "Id", "FullName");
     return(View());
 }