Exemple #1
0
        public CounterpartyOrderViewModel(Counterparty client,
                                          IUnitOfWorkFactory unitOfWorkFactory,
                                          ITdiCompatibilityNavigation tdinavigation,
                                          IRouteListRepository routedListRepository,
                                          MangoManager mangoManager,
                                          IOrderParametersProvider orderParametersProvider,
                                          IEmployeeJournalFactory employeeJournalFactory,
                                          ICounterpartyJournalFactory counterpartyJournalFactory,
                                          INomenclatureRepository nomenclatureRepository,
                                          IParametersProvider parametersProvider,
                                          int count = 5)
        {
            Client                      = client;
            tdiNavigation               = tdinavigation;
            _routedListRepository       = routedListRepository;
            MangoManager                = mangoManager;
            _orderParametersProvider    = orderParametersProvider ?? throw new ArgumentNullException(nameof(orderParametersProvider));
            _employeeJournalFactory     = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _counterpartyJournalFactory = counterpartyJournalFactory ?? throw new ArgumentNullException(nameof(counterpartyJournalFactory));
            _nomenclatureRepository     = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            _parametersProvider         = parametersProvider ?? throw new ArgumentNullException(nameof(parametersProvider));
            UoW         = unitOfWorkFactory.CreateWithoutRoot();
            LatestOrder = _orderRepository.GetLatestOrdersForCounterparty(UoW, client, count).ToList();

            RefreshOrders = _RefreshOrders;
            NotifyConfiguration.Instance.BatchSubscribe(_RefreshCounterparty)
            .IfEntity <Counterparty>()
            .AndWhere(c => c.Id == client.Id)
            .Or.IfEntity <DeliveryPoint>()
            .AndWhere(d => client.DeliveryPoints.Any(cd => cd.Id == d.Id));
        }
Exemple #2
0
        public SubdivisionViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            ITdiCompatibilityNavigation navigation,
            IValidator validator,
            ILifetimeScope autofacScope,
            FeaturesService featuresService
            ) : base(uowBuilder, unitOfWorkFactory, navigation, validator)
        {
            this.navigation      = navigation ?? throw new ArgumentNullException(nameof(navigation));
            this.autofacScope    = autofacScope ?? throw new ArgumentNullException(nameof(autofacScope));
            this.featuresService = featuresService ?? throw new ArgumentNullException(nameof(featuresService));
            var builder = new CommonEEVMBuilderFactory <Subdivision>(this, Entity, UoW, NavigationManager, autofacScope);

            EntryWarehouse = builder.ForProperty(x => x.Warehouse)
                             .UseViewModelJournalAndAutocompleter <WarehouseJournalViewModel>()
                             .UseViewModelDialog <WarehouseViewModel>()
                             .Finish();

            EntrySubdivisionViewModel = builder.ForProperty(x => x.ParentSubdivision)
                                        .UseViewModelJournalAndAutocompleter <SubdivisionJournalViewModel>()
                                        .UseViewModelDialog <SubdivisionViewModel>()
                                        .Finish();

            NotifyConfiguration.Instance.BatchSubscribe(SubdivisionOperationChanged)
            .IfEntity <SubdivisionIssueOperation>()
            .AndWhere(x => x.Subdivision.Id == Entity.Id);
        }
        public CounterpartyTalkViewModel(
            INavigationManager navigation,
            ITdiCompatibilityNavigation tdinavigation,
            IUnitOfWorkFactory unitOfWorkFactory,
            RouteListRepository routedListRepository,
            IInteractiveService interactiveService,
            MangoManager manager) : base(navigation, manager)
        {
            this.NavigationManager = navigation ?? throw new ArgumentNullException(nameof(navigation));
            this.tdiNavigation     = tdinavigation ?? throw new ArgumentNullException(nameof(navigation));

            this.routedListRepository = routedListRepository;
            this.interactiveService   = interactiveService ?? throw new ArgumentNullException(nameof(interactiveService));
            UoW = unitOfWorkFactory.CreateWithoutRoot();

            if (ActiveCall.CounterpartyIds.Any())
            {
                var clients = UoW.GetById <Counterparty>(ActiveCall.CounterpartyIds);
                foreach (Counterparty client in clients)
                {
                    CounterpartyOrderViewModel model = new CounterpartyOrderViewModel(client, unitOfWorkFactory, tdinavigation, routedListRepository, this.MangoManager);
                    CounterpartyOrdersModels.Add(model);
                }
                currentCounterparty = CounterpartyOrdersModels.FirstOrDefault().Client;
            }
            else
            {
                throw new InvalidProgramException("Открыт диалог разговора с имеющимся контрагентом, но ни одного id контрагента не найдено.");
            }
        }
 public UnknowTalkViewModel(IUnitOfWorkFactory unitOfWorkFactory,
                            ITdiCompatibilityNavigation navigation,
                            IInteractiveQuestion interactive,
                            MangoManager manager) : base(navigation, manager)
 {
     this.tdiNavigation = navigation ?? throw new ArgumentNullException(nameof(navigation));
     this.interactive   = interactive ?? throw new ArgumentNullException(nameof(interactive));
     UoW = unitOfWorkFactory.CreateWithoutRoot();
 }
        public EmployeeMovementsViewModel(EmployeeViewModel employeeViewModel, OpenStockDocumentsModel openStockDocumentsModel, EmployeeIssueRepository employeeIssueRepository, FeaturesService featuresService, ITdiCompatibilityNavigation navigation)
        {
            this.employeeViewModel       = employeeViewModel ?? throw new ArgumentNullException(nameof(employeeViewModel));
            this.openStockDocumentsModel = openStockDocumentsModel ?? throw new ArgumentNullException(nameof(openStockDocumentsModel));
            this.employeeIssueRepository = employeeIssueRepository ?? throw new ArgumentNullException(nameof(employeeIssueRepository));
            this.featuresService         = featuresService ?? throw new ArgumentNullException(nameof(featuresService));
            this.navigation = navigation ?? throw new ArgumentNullException(nameof(navigation));

            this.employeeIssueRepository.RepoUow = UoW;
        }
Exemple #6
0
        public CounterpartyTalkViewModel(
            INavigationManager navigation,
            ITdiCompatibilityNavigation tdinavigation,
            IUnitOfWorkFactory unitOfWorkFactory,
            IRouteListRepository routedListRepository,
            IInteractiveService interactiveService,
            IOrderParametersProvider orderParametersProvider,
            MangoManager manager,
            IEmployeeJournalFactory employeeJournalFactory,
            ICounterpartyJournalFactory counterpartyJournalFactory,
            INomenclatureRepository nomenclatureRepository,
            IOrderRepository orderRepository,
            IParametersProvider parametersProvider,
            IDeliveryRulesParametersProvider deliveryRulesParametersProvider,
            IDeliveryPointJournalFactory deliveryPointJournalFactory) : base(navigation, manager)
        {
            NavigationManager = navigation ?? throw new ArgumentNullException(nameof(navigation));
            _tdiNavigation    = tdinavigation ?? throw new ArgumentNullException(nameof(navigation));

            _routedListRepository            = routedListRepository;
            _interactiveService              = interactiveService ?? throw new ArgumentNullException(nameof(interactiveService));
            _orderParametersProvider         = orderParametersProvider ?? throw new ArgumentNullException(nameof(orderParametersProvider));
            _employeeJournalFactory          = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _counterpartyJournalFactory      = counterpartyJournalFactory ?? throw new ArgumentNullException(nameof(counterpartyJournalFactory));
            _nomenclatureRepository          = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            _orderRepository                 = orderRepository ?? throw new ArgumentNullException(nameof(orderRepository));
            _parametersProvider              = parametersProvider ?? throw new ArgumentNullException(nameof(parametersProvider));
            _deliveryRulesParametersProvider = deliveryRulesParametersProvider ?? throw new ArgumentNullException(nameof(deliveryRulesParametersProvider));
            _uow = unitOfWorkFactory.CreateWithoutRoot();
            _deliveryPointJournalFactory =
                deliveryPointJournalFactory ?? throw new ArgumentNullException(nameof(deliveryPointJournalFactory));

            if (ActiveCall.CounterpartyIds.Any())
            {
                var clients = _uow.GetById <Counterparty>(ActiveCall.CounterpartyIds);

                foreach (Counterparty client in clients)
                {
                    CounterpartyOrderViewModel model = new CounterpartyOrderViewModel(
                        client, unitOfWorkFactory, tdinavigation, routedListRepository, MangoManager, _orderParametersProvider,
                        _employeeJournalFactory, _counterpartyJournalFactory, _nomenclatureRepository, _parametersProvider,
                        _deliveryRulesParametersProvider);
                    CounterpartyOrdersViewModels.Add(model);
                }

                currentCounterparty = CounterpartyOrdersViewModels.FirstOrDefault().Client;
            }
            else
            {
                throw new InvalidProgramException("Открыт диалог разговора с имеющимся контрагентом, но ни одного id контрагента не найдено.");
            }
        }
 public UnknowTalkViewModel(IUnitOfWorkFactory unitOfWorkFactory,
                            ITdiCompatibilityNavigation navigation,
                            IInteractiveQuestion interactive,
                            MangoManager manager,
                            IEmployeeJournalFactory employeeJournalFactory,
                            ICounterpartyJournalFactory counterpartyJournalFactory,
                            INomenclatureRepository nomenclatureRepository) : base(navigation, manager)
 {
     _tdiNavigation              = navigation ?? throw new ArgumentNullException(nameof(navigation));
     _interactive                = interactive ?? throw new ArgumentNullException(nameof(interactive));
     _employeeJournalFactory     = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
     _counterpartyJournalFactory = counterpartyJournalFactory ?? throw new ArgumentNullException(nameof(counterpartyJournalFactory));
     _nomenclatureRepository     = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
     _uow = unitOfWorkFactory.CreateWithoutRoot();
 }
Exemple #8
0
        public EmployeeWearItemsViewModel(
            EmployeeViewModel employeeViewModel,
            EmployeeIssueRepository employeeIssueRepository,
            BaseParameters baseParameters,
            IInteractiveService interactive,
            ITdiCompatibilityNavigation navigation,
            OpenStockDocumentsModel stockDocumentsModel,
            FeaturesService featuresService)
        {
            this.employeeViewModel       = employeeViewModel ?? throw new ArgumentNullException(nameof(employeeViewModel));
            this.employeeIssueRepository = employeeIssueRepository ?? throw new ArgumentNullException(nameof(employeeIssueRepository));
            this.BaseParameters          = baseParameters ?? throw new ArgumentNullException(nameof(baseParameters));
            this.navigation          = navigation ?? throw new ArgumentNullException(nameof(navigation));
            this.stockDocumentsModel = stockDocumentsModel ?? throw new ArgumentNullException(nameof(stockDocumentsModel));
            FeaturesService          = featuresService ?? throw new ArgumentNullException(nameof(featuresService));
            this.interactive         = interactive ?? throw new ArgumentNullException(nameof(interactive));

            employeeIssueRepository.RepoUow = UoW;
            NotifyConfiguration.Instance.BatchSubscribeOnEntity <EmployeeCardItem>(HandleEntityChangeEvent);
        }
Exemple #9
0
        public CounterpartyOrderViewModel(Counterparty client,
                                          IUnitOfWorkFactory unitOfWorkFactory,
                                          ITdiCompatibilityNavigation tdinavigation,
                                          RouteListRepository routedListRepository,
                                          MangoManager mangoManager,
                                          int count = 5)
            : base()
        {
            this.Client               = client;
            this.tdiNavigation        = tdinavigation;
            this.routedListRepository = routedListRepository;
            this.MangoManager         = mangoManager;
            UoW = unitOfWorkFactory.CreateWithoutRoot();
            OrderSingletonRepository orderRepos = OrderSingletonRepository.GetInstance();

            LatestOrder = orderRepos.GetLatestOrdersForCounterparty(UoW, client, count).ToList();

            RefreshOrders = _RefreshOrders;
            NotifyConfiguration.Instance.BatchSubscribe(_RefreshCounterparty)
            .IfEntity <Counterparty>()
            .AndWhere(c => c.Id == client.Id)
            .Or.IfEntity <DeliveryPoint>()
            .AndWhere(d => client.DeliveryPoints.Any(cd => cd.Id == d.Id));
        }
 public EmployeeListedItemsViewModel(EmployeeViewModel employeeViewModel, ITdiCompatibilityNavigation navigation)
 {
     this.employeeViewModel = employeeViewModel ?? throw new ArgumentNullException(nameof(employeeViewModel));
     this.navigation        = navigation ?? throw new ArgumentNullException(nameof(navigation));
 }
 public EmployeeVacationsViewModel(IDeleteEntityService deleteService, ITdiCompatibilityNavigation navigation, EmployeeViewModel employeeViewModel)
 {
     this.deleteService     = deleteService ?? throw new ArgumentNullException(nameof(deleteService));
     this.navigation        = navigation ?? throw new ArgumentNullException(nameof(navigation));
     this.employeeViewModel = employeeViewModel ?? throw new ArgumentNullException(nameof(employeeViewModel));
 }
 public OpenStockDocumentsModel(ITdiCompatibilityNavigation navigation)
 {
     this.navigation = navigation ?? throw new ArgumentNullException(nameof(navigation));
 }
 /// <summary>
 /// Внимание!!! Чтобы аргумент ITdiTab myTab заполнялся автоматически в наследуещем классе в конструкторе необходимо указывать такое же имя аргумента "myTab"
 /// </summary>
 /// <param name="myTab">Tdi вкладка в которую будет помещена View от создаваемой ViewModel.</param>
 public LegacyEntityDialogViewModelBase(IEntityUoWBuilder uowBuilder, IUnitOfWorkFactory unitOfWorkFactory, ITdiTab myTab, ITdiCompatibilityNavigation navigation, IValidator validator = null) : base(uowBuilder, unitOfWorkFactory, navigation, validator)
 {
     TdiTab = myTab ?? throw new ArgumentNullException(nameof(myTab));
 }
Exemple #14
0
 public InternalTalkViewModel(
     ITdiCompatibilityNavigation navigation,
     MangoManager manager) : base(navigation, manager)
 {
 }