Ejemplo n.º 1
0
        public void ProjectSelected(TreeProjectViewModel project)
        {
            _selectionFilter.AddProject(project);

            var customerViewModel = Customers.SingleOrDefault(c => c.Customer.Id == project.CustomerId);

            if (customerViewModel != null)
            {
                var projectViewModel =
                    customerViewModel.Projects.SingleOrDefault(p => p.Project.Id == project.Project.Id);
                if (projectViewModel != null)
                {
                    customerViewModel.VisibleChildren.Remove(projectViewModel);
                }

                var projectToVisualize = customerViewModel.Projects.Single(x => x.Project.Id == project.Project.Id);
                projectToVisualize.SetAllChildrenVisibleByFilters(_timeEntryFilter, _selectionFilter);
                customerViewModel.AddVisibleChild(projectToVisualize);
            }
            else
            {
                var customer   = project.ParentCustomer;
                var customerVm = customer.ListCustomerViewModel;

                var projectToVisualize = customerVm.Projects.Single(x => x.Project.Id == project.Project.Id);
                projectToVisualize.SetAllChildrenVisibleByFilters(_timeEntryFilter, _selectionFilter);
                customerVm.AddVisibleChild(projectToVisualize);
                Customers.Add(customerVm);
            }
            OnPropertyChanged("Customers");
        }
Ejemplo n.º 2
0
        public void RemoveProject(TreeProjectViewModel project)
        {
            var projectToRemove = _selectedProjects.SingleOrDefault(p => p.Project.Id == project.Project.Id);

            if (projectToRemove != null)
            {
                _selectedProjects.Remove(projectToRemove);
            }
        }
Ejemplo n.º 3
0
        public void AddProject(TreeProjectViewModel project)
        {
            if (_selectedProjects.Count(p => p.Project.Id == project.Project.Id) == 0)
            {
                _selectedProjects.Add(project);
            }

            AddCustomer((TreeCustomerViewModel)project.Parent);
        }
Ejemplo n.º 4
0
        public void ProjectDeSelected(TreeProjectViewModel project)
        {
            _selectionFilter.RemoveProject(project);

            var customerViewModel = Customers.ToList().SingleOrDefault(c => c.Customer.Id == project.Project.CustomerID);

            if (customerViewModel != null)
            {
                var projectViewModel =
                    customerViewModel.VisibleChildren.SingleOrDefault(p => ((ListProjectViewModel)p).Project.Id == project.Project.Id);

                if (projectViewModel != null)
                {
                    customerViewModel.VisibleChildren.Remove(projectViewModel);
                }

                if (customerViewModel.VisibleChildren.Count == 0)
                {
                    Customers.Remove(customerViewModel);
                    _selectionFilter.RemoveCustomer(project.ParentCustomer);
                }
            }
        }