public ProjectItemsCollection(Market2ViewModel viewModel, IEventAggregator eventAggregator)
        {
            _viewModel = viewModel;

            //при добавлении или удалении айтема, подписываем/отписываем на событие удаления
            this.CollectionChanged += (sender, args) =>
            {
                if (args.Action == NotifyCollectionChangedAction.Add)
                {
                    foreach (var projectItem in args.NewItems.Cast <ProjectItem>())
                    {
                        projectItem.LastSalesUnitRemoveEvent += ProjectItemOnLastSalesUnitRemoveEvent;
                    }
                }

                if (args.Action == NotifyCollectionChangedAction.Remove)
                {
                    foreach (var projectItem in args.OldItems.Cast <ProjectItem>())
                    {
                        projectItem.LastSalesUnitRemoveEvent -= ProjectItemOnLastSalesUnitRemoveEvent;
                    }
                }
            };

            //реакция на сохранение юнита
            eventAggregator.GetEvent <AfterSaveSalesUnitEvent>().Subscribe(salesUnit =>
            {
                //проверяем, можно ли юнит поместить в существующую группу
                this.ToList().ForEach(projectItem => projectItem.Check(salesUnit));

                //если не смогли пристроить в существующую группу, создаем новую
                if (!this.SelectMany(projectItem => projectItem.SalesUnits).Contains(salesUnit))
                {
                    this.Add(new ProjectItem(new[] { salesUnit }, eventAggregator));
                }
            });
        }
Exemple #2
0
 public UnionProjectsCommand(Market2ViewModel viewModel, IUnityContainer container)
 {
     _viewModel      = viewModel;
     _container      = container;
     _messageService = container.Resolve <IMessageService>();
 }
 public OfferByProjectCommand(Market2ViewModel viewModel, IRegionManager regionManager)
 {
     _viewModel     = viewModel;
     _regionManager = regionManager;
 }
Exemple #4
0
 public EditTenderCommand(Market2ViewModel viewModel, IUnityContainer container)
 {
     _viewModel = viewModel;
     _container = container;
 }
Exemple #5
0
 public EditOfferCommand(Market2ViewModel viewModel, IRegionManager regionManager)
 {
     _viewModel     = viewModel;
     _regionManager = regionManager;
 }
Exemple #6
0
 public OpenTenderLinkCommand(Market2ViewModel viewModel)
 {
     _viewModel = viewModel;
 }
 public MakeTceTaskCommand(Market2ViewModel viewModel, IUnitOfWork unitOfWork, IRegionManager regionManager)
 {
     _viewModel     = viewModel;
     _unitOfWork    = unitOfWork;
     _regionManager = regionManager;
 }
Exemple #8
0
 public EditPriceCalculationCommand(Market2ViewModel viewModel, IRegionManager regionManager)
 {
     _viewModel     = viewModel;
     _regionManager = regionManager;
 }
 public PrintOfferCommand(Market2ViewModel viewModel, IUnityContainer container)
 {
     _viewModel = viewModel;
     _container = container;
 }
Exemple #10
0
 public EditTechnicalRequrementsTaskCommand(Market2ViewModel viewModel, IRegionManager regionManager)
 {
     _viewModel     = viewModel;
     _regionManager = regionManager;
 }
 public SpecificationNewCommand(Market2ViewModel viewModel, IUnityContainer container, IRegionManager regionManager)
 {
     _viewModel     = viewModel;
     _container     = container;
     _regionManager = regionManager;
 }
Exemple #12
0
 public StructureCostsCommand(Market2ViewModel viewModel, IRegionManager regionManager, IUnitOfWork unitOfWork)
 {
     _viewModel     = viewModel;
     _regionManager = regionManager;
     _unitOfWork    = unitOfWork;
 }
 public OpenFolderCommand(Market2ViewModel viewModel, IFileManagerService fileManagerService)
 {
     _viewModel          = viewModel;
     _fileManagerService = fileManagerService;
 }