Example #1
0
        public ProductReworksVM(ProductVM product, AccessType access)
            : base(access)
        {
            UnitOfWork = new SoheilEdmContext();
            CurrentProduct = product;
            ProductDataService = new ProductDataService(UnitOfWork);
            ProductDataService.ReworkAdded += OnReworkAdded;
            ProductDataService.ReworkRemoved += OnReworkRemoved;
            ReworkDataService = new ReworkDataService(UnitOfWork);
            ProductReworkDataService = new ProductReworkDataService(UnitOfWork);

            var selectedVms = new ObservableCollection<ProductReworkVM>();
            foreach (var productRework in ProductDataService.GetReworks(product.Id))
            {
                selectedVms.Add(new ProductReworkVM(productRework, Access,ProductReworkDataService, RelationDirection.Straight));
            }
            SelectedItems = new ListCollectionView(selectedVms);

            var allVms = new ObservableCollection<ReworkVM>();
            foreach (var rework in ReworkDataService.GetActives(SoheilEntityType.Products, CurrentProduct.Id))
            {
                allVms.Add(new ReworkVM(rework, Access, ReworkDataService));
            }
            AllItems = new ListCollectionView(allVms);

            IncludeCommand = new Command(Include, CanInclude);
            ExcludeCommand = new Command(Exclude, CanExclude);
        }