Example #1
0
        public RouteListAddressesTransferringDlg(
            int routeListId,
            OpenParameter param,
            IEmployeeNomenclatureMovementRepository employeeNomenclatureMovementRepository,
            ITerminalNomenclatureProvider terminalNomenclatureProvider,
            IRouteListRepository routeListRepository,
            IRouteListItemRepository routeListItemRepository,
            IEmployeeService employeeService,
            ICommonServices commonServices,
            ICategoryRepository categoryRepository)
            : this(
                employeeNomenclatureMovementRepository,
                terminalNomenclatureProvider,
                routeListRepository,
                routeListItemRepository,
                employeeService,
                commonServices,
                categoryRepository)
        {
            var rl = UoW.GetById <RouteList>(routeListId);

            switch (param)
            {
            case OpenParameter.Sender:
                yentryreferenceRLFrom.Subject = rl;
                break;

            case OpenParameter.Receiver:
                yentryreferenceRLTo.Subject = rl;
                break;
            }
        }
Example #2
0
        public RouteListWorkingJournalViewModel(
            RouteListJournalFilterViewModel filterViewModel,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IRouteListRepository routeListRepository,
            FuelRepository fuelRepository,
            CallTaskRepository callTaskRepository,
            BaseParametersProvider baseParametersProvider,
            SubdivisionRepository subdivisionRepository) :
            base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            TabName = "Работа кассы с МЛ";

            this.routeListRepository    = routeListRepository;
            this.fuelRepository         = fuelRepository;
            this.callTaskRepository     = callTaskRepository;
            this.baseParametersProvider = baseParametersProvider;
            this.subdivisionRepository  = subdivisionRepository;

            UseSlider = false;

            NotifyConfiguration.Enable();
            NotifyConfiguration.Instance.BatchSubscribeOnEntity <RouteList>(OnRouteListChanged);

            InitPopupActions();
        }
Example #3
0
        public RouteListWorkingJournalViewModel(
            RouteListJournalFilterViewModel filterViewModel,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IRouteListRepository routeListRepository,
            IFuelRepository fuelRepository,
            ICallTaskRepository callTaskRepository,
            BaseParametersProvider baseParametersProvider,
            IExpenseParametersProvider expenseParametersProvider,
            ISubdivisionRepository subdivisionRepository,
            IAccountableDebtsRepository accountableDebtsRepository,
            IGtkTabsOpener gtkTabsOpener)
            : base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            TabName = "Работа кассы с МЛ";

            _routeListRepository        = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
            _fuelRepository             = fuelRepository ?? throw new ArgumentNullException(nameof(fuelRepository));
            _callTaskRepository         = callTaskRepository ?? throw new ArgumentNullException(nameof(callTaskRepository));
            _baseParametersProvider     = baseParametersProvider ?? throw new ArgumentNullException(nameof(baseParametersProvider));
            _expenseParametersProvider  = expenseParametersProvider ?? throw new ArgumentNullException(nameof(expenseParametersProvider));
            _subdivisionRepository      = subdivisionRepository ?? throw new ArgumentNullException(nameof(subdivisionRepository));
            _accountableDebtsRepository = accountableDebtsRepository ?? throw new ArgumentNullException(nameof(accountableDebtsRepository));
            _gtkTabsOpener = gtkTabsOpener ?? throw new ArgumentNullException(nameof(gtkTabsOpener));

            UseSlider = false;

            NotifyConfiguration.Enable();
            NotifyConfiguration.Instance.BatchSubscribeOnEntity <RouteList>(OnRouteListChanged);

            InitPopupActions();
        }
 public OrderModel(
     ILogger <OrderModel> logger,
     IOrderRepository orderRepository,
     IRouteListRepository routeListRepository,
     IRouteListItemRepository routeListItemRepository,
     OrderConverter orderConverter,
     IDriverApiParametersProvider webApiParametersProvider,
     IComplaintsRepository complaintsRepository,
     ISmsPaymentModel aPISmsPaymentModel,
     ISmsPaymentServiceAPIHelper smsPaymentServiceAPIHelper,
     IFastPaymentsServiceAPIHelper fastPaymentsServiceApiHelper,
     IUnitOfWork unitOfWork,
     QRPaymentConverter qrPaymentConverter,
     IFastPaymentModel fastPaymentModel)
 {
     _logger                       = logger ?? throw new ArgumentNullException(nameof(logger));
     _orderRepository              = orderRepository ?? throw new ArgumentNullException(nameof(orderRepository));
     _routeListRepository          = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
     _routeListItemRepository      = routeListItemRepository ?? throw new ArgumentNullException(nameof(routeListItemRepository));
     _orderConverter               = orderConverter ?? throw new ArgumentNullException(nameof(orderConverter));
     _webApiParametersProvider     = webApiParametersProvider ?? throw new ArgumentNullException(nameof(webApiParametersProvider));
     _complaintsRepository         = complaintsRepository ?? throw new ArgumentNullException(nameof(complaintsRepository));
     _aPISmsPaymentModel           = aPISmsPaymentModel ?? throw new ArgumentNullException(nameof(aPISmsPaymentModel));
     _smsPaymentServiceAPIHelper   = smsPaymentServiceAPIHelper ?? throw new ArgumentNullException(nameof(smsPaymentServiceAPIHelper));
     _fastPaymentsServiceApiHelper = fastPaymentsServiceApiHelper ?? throw new ArgumentNullException(nameof(fastPaymentsServiceApiHelper));
     _unitOfWork                   = unitOfWork ?? throw new ArgumentNullException(nameof(unitOfWork));
     _qrPaymentConverter           = qrPaymentConverter ?? throw new ArgumentNullException(nameof(qrPaymentConverter));
     _fastPaymentModel             = fastPaymentModel ?? throw new ArgumentNullException(nameof(fastPaymentModel));
 }
        public TerminalManagementViewModel(
            Warehouse defaultWarehouse,
            Employee driver,
            ITdiTab parentTab,
            IEmployeeRepository employeeRepository,
            IWarehouseRepository warehouseRepository,
            IRouteListRepository routeListRepository,
            ICommonServices commonServices,
            IUnitOfWork uow,
            ITerminalNomenclatureProvider terminalNomenclatureProvider)
        {
            UoW             = uow ?? throw new ArgumentNullException(nameof(uow));
            _driver         = driver ?? throw new ArgumentNullException(nameof(driver));
            _parentTab      = parentTab ?? throw new ArgumentNullException(nameof(parentTab));
            _commonServices = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
            _terminalNomenclatureProvider =
                terminalNomenclatureProvider ?? throw new ArgumentNullException(nameof(terminalNomenclatureProvider));
            _employeeRepository  = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
            _warehouseRepository = warehouseRepository ?? throw new ArgumentNullException(nameof(warehouseRepository));
            _routeListRepository = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
            _defaultWarehouse    = defaultWarehouse;

            _author = _employeeRepository.GetEmployeeForCurrentUser(UoW);
            UpdateEntityAndRelatedProperties(
                _driver.Id > 0
                                ? _routeListRepository.GetLastTerminalDocumentForEmployee(UoW, _driver)
                                : null, false);
            _canManageTerminal = _commonServices.CurrentPermissionService.ValidatePresetPermission("role_сashier");
        }
Example #6
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));
        }
        private void CreateNewDependencies()
        {
            _cashDistributionCommonOrganisationProvider =
                new CashDistributionCommonOrganisationProvider(new OrganizationParametersProvider(new ParametersProvider()));

            _subdivisionParametersProvider = new SubdivisionParametersProvider(new ParametersProvider());
            _wageCalculationRepository     = new WageCalculationRepository();
            _employeeRepository            = new EmployeeRepository();
            _warehouseRepository           = new WarehouseRepository();
            _routeListRepository           = new RouteListRepository(new StockRepository(), new BaseParametersProvider(new ParametersProvider()));
        }
Example #8
0
 public RouteListClosingDocumentsController(
     IStandartNomenclatures standartNomenclaturesParameters,
     IEmployeeRepository employeeRepository,
     IRouteListRepository routeListRepository,
     ITerminalNomenclatureProvider terminalNomenclatureProvider)
 {
     this.standartNomenclaturesParameters = standartNomenclaturesParameters ?? throw new ArgumentNullException(nameof(standartNomenclaturesParameters));
     this.employeeRepository           = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
     this.routeListRepository          = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
     this.terminalNomenclatureProvider = terminalNomenclatureProvider ?? throw new ArgumentNullException(nameof(terminalNomenclatureProvider));
 }
Example #9
0
 public TrackPointsModel(ILogger <TrackPointsModel> logger,
                         ITrackRepository trackRepository,
                         IRouteListRepository routeListRepository,
                         IRouteListModel routeListModel,
                         IUnitOfWork unitOfWork)
 {
     _logger              = logger ?? throw new ArgumentNullException(nameof(logger));
     _trackRepository     = trackRepository ?? throw new ArgumentNullException(nameof(trackRepository));
     _routeListRepository = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
     _routeListModel      = routeListModel ?? throw new ArgumentNullException(nameof(routeListModel));
     _unitOfWork          = unitOfWork ?? throw new ArgumentNullException(nameof(unitOfWork));
 }
Example #10
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 контрагента не найдено.");
            }
        }
Example #11
0
 public RouteListModel(ILogger <RouteListModel> logger,
                       IRouteListRepository routeListRepository,
                       IRouteListItemRepository routeListItemRepository,
                       RouteListConverter routeListConverter,
                       IEmployeeRepository employeeRepository,
                       IUnitOfWork unitOfWork)
 {
     _logger = logger ?? throw new ArgumentNullException(nameof(logger));
     _routeListRepository     = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
     _routeListItemRepository = routeListItemRepository ?? throw new ArgumentNullException(nameof(routeListItemRepository));
     _routeListConverter      = routeListConverter ?? throw new ArgumentNullException(nameof(routeListConverter));
     _employeeRepository      = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
     _unitOfWork = unitOfWork ?? throw new ArgumentNullException(nameof(unitOfWork));
 }
        public EmployeesJournalViewModel(
            EmployeeFilterViewModel filterViewModel,
            IAuthorizationServiceFactory authorizationServiceFactory,
            IEmployeeWageParametersFactory employeeWageParametersFactory,
            IEmployeeJournalFactory employeeJournalFactory,
            ISubdivisionJournalFactory subdivisionJournalFactory,
            IEmployeePostsJournalFactory employeePostsJournalFactory,
            ICashDistributionCommonOrganisationProvider cashDistributionCommonOrganisationProvider,
            ISubdivisionService subdivisionService,
            IEmailServiceSettingAdapter emailServiceSettingAdapter,
            IWageCalculationRepository wageCalculationRepository,
            IEmployeeRepository employeeRepository,
            IWarehouseRepository warehouseRepository,
            IRouteListRepository routeListRepository,
            UserSettings userSettings,
            IValidationContextFactory validationContextFactory,
            IPhonesViewModelFactory phonesViewModelFactory,
            DriverApiUserRegisterEndpoint driverApiUserRegisterEndpoint,
            ICommonServices commonServices,
            IUnitOfWorkFactory unitOfWorkFactory) : base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            TabName = "Журнал сотрудников";

            _authorizationServiceFactory =
                authorizationServiceFactory ?? throw new ArgumentNullException(nameof(authorizationServiceFactory));
            _authorizationService          = _authorizationServiceFactory.CreateNewAuthorizationService();
            _employeeWageParametersFactory =
                employeeWageParametersFactory ?? throw new ArgumentNullException(nameof(employeeWageParametersFactory));
            _employeeJournalFactory      = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _subdivisionJournalFactory   = subdivisionJournalFactory ?? throw new ArgumentNullException(nameof(subdivisionJournalFactory));
            _employeePostsJournalFactory =
                employeePostsJournalFactory ?? throw new ArgumentNullException(nameof(employeePostsJournalFactory));
            _cashDistributionCommonOrganisationProvider =
                cashDistributionCommonOrganisationProvider ??
                throw new ArgumentNullException(nameof(cashDistributionCommonOrganisationProvider));
            _subdivisionService            = subdivisionService ?? throw new ArgumentNullException(nameof(subdivisionService));
            _emailServiceSettingAdapter    = emailServiceSettingAdapter ?? throw new ArgumentNullException(nameof(emailServiceSettingAdapter));
            _wageCalculationRepository     = wageCalculationRepository ?? throw new ArgumentNullException(nameof(wageCalculationRepository));
            _employeeRepository            = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
            _validationContextFactory      = validationContextFactory ?? throw new ArgumentNullException(nameof(validationContextFactory));
            _phonesViewModelFactory        = phonesViewModelFactory ?? throw new ArgumentNullException(nameof(phonesViewModelFactory));
            _driverApiUserRegisterEndpoint = driverApiUserRegisterEndpoint ?? throw new ArgumentNullException(nameof(driverApiUserRegisterEndpoint));
            _warehouseRepository           = warehouseRepository ?? throw new ArgumentNullException(nameof(warehouseRepository));
            _routeListRepository           = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
            _userSettings = userSettings ?? throw new ArgumentNullException(nameof(userSettings));

            UpdateOnChanges(typeof(Employee));
        }
        private void CreateNewDependencies()
        {
            _authorizationServiceFactory   = new AuthorizationServiceFactory();
            _employeeWageParametersFactory = new EmployeeWageParametersFactory();
            _employeeJournalFactory        = this;
            _subdivisionJournalFactory     = new SubdivisionJournalFactory();
            _employeePostsJournalFactory   = new EmployeePostsJournalFactory();

            _cashDistributionCommonOrganisationProvider =
                new CashDistributionCommonOrganisationProvider(new OrganizationParametersProvider(new ParametersProvider()));

            _subdivisionService         = SubdivisionParametersProvider.Instance;
            _emailServiceSettingAdapter = new EmailServiceSettingAdapter();
            _wageCalculationRepository  = new WageCalculationRepository();
            _employeeRepository         = new EmployeeRepository();
            _validationContextFactory   = new ValidationContextFactory();
            _phonesViewModelFactory     = new PhonesViewModelFactory(new PhoneRepository());
            _warehouseRepository        = new WarehouseRepository();
            _routeListRepository        = new RouteListRepository(new StockRepository(), new BaseParametersProvider(new ParametersProvider()));
        }
 public AndroidDriverServiceInstanceProvider(
     WageParameterService wageParameterService,
     IDriverServiceParametersProvider parameters,
     ChannelFactory <ISmsPaymentService> smsPaymentChannelFactory,
     IDriverNotificator driverNotificator,
     IEmployeeRepository employeeRepository,
     IRouteListRepository routeListRepository,
     IRouteListItemRepository routeListItemRepository,
     ITrackRepository trackRepository,
     IOrderRepository orderRepository)
 {
     _wageParameterService     = wageParameterService ?? throw new ArgumentNullException(nameof(wageParameterService));
     _parameters               = parameters ?? throw new ArgumentNullException(nameof(parameters));
     _smsPaymentChannelFactory = smsPaymentChannelFactory ?? throw new ArgumentNullException(nameof(smsPaymentChannelFactory));
     _driverNotificator        = driverNotificator ?? throw new ArgumentNullException(nameof(driverNotificator));
     _employeeRepository       = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
     _routeListRepository      = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
     _routeListItemRepository  = routeListItemRepository ?? throw new ArgumentNullException(nameof(routeListItemRepository));
     _trackRepository          = trackRepository ?? throw new ArgumentNullException(nameof(trackRepository));
     _orderRepository          = orderRepository ?? throw new ArgumentNullException(nameof(orderRepository));
 }
Example #15
0
        public RouteListAddressesTransferringDlg(
            IEmployeeNomenclatureMovementRepository employeeNomenclatureMovementRepository,
            ITerminalNomenclatureProvider terminalNomenclatureProvider,
            IRouteListRepository routeListRepository,
            IEmployeeService employeeService,
            ICommonServices commonServices,
            ICategoryRepository categoryRepository)
        {
            Build();
            _employeeNomenclatureMovementRepository = employeeNomenclatureMovementRepository
                                                      ?? throw new ArgumentNullException(nameof(employeeNomenclatureMovementRepository));
            _terminalNomenclatureProvider = terminalNomenclatureProvider
                                            ?? throw new ArgumentNullException(nameof(terminalNomenclatureProvider));
            _routeListRepository = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
            _employeeService     = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            _commonServices      = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
            _categoryRepository  = categoryRepository ?? throw new ArgumentNullException(nameof(categoryRepository));

            TabName = "Перенос адресов маршрутных листов";
            ConfigureDlg();
        }
 public CarLoadDocumentRepository(IRouteListRepository routeListRepository)
 {
     _routeListRepository = routeListRepository ?? throw new System.ArgumentNullException(nameof(routeListRepository));
 }
        public RouteListJournalViewModel(
            RouteListJournalFilterViewModel filterViewModel,
            IRouteListRepository routeListRepository,
            IFuelRepository fuelRepository,
            ISubdivisionRepository subdivisionRepository,
            ICategoryRepository categoryRepository,
            ITrackRepository trackRepository,
            IUndeliveredOrdersRepository undeliveredOrdersRepository,
            IDeliveryShiftRepository deliveryShiftRepository,
            IUnitOfWorkFactory unitOfWorkFactory,
            IRouteListParametersProvider routeListParametersProvider,
            ICallTaskWorker callTaskWorker,
            IWarehouseRepository warehouseRepository,
            ICarJournalFactory carJournalFactory,
            IEmployeeJournalFactory employeeJournalFactory,
            IEmployeeRepository employeeRepository,
            IGtkTabsOpener gtkTabsOpener,
            IOrderSelectorFactory orderSelectorFactory,
            ICounterpartyJournalFactory counterpartyJournalFactory,
            IDeliveryPointJournalFactory deliveryPointJournalFactory,
            ISubdivisionJournalFactory subdivisionJournalFactory,
            IUndeliveredOrdersJournalOpener undeliveredOrdersJournalOpener,
            IStockRepository stockRepository,
            IReportPrinter reportPrinter,
            ITerminalNomenclatureProvider terminalNomenclatureProvider,
            IEmployeeSettings employeeSettings,
            ICommonServices commonServices)
            : base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            _routeListRepository         = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
            _fuelRepository              = fuelRepository ?? throw new ArgumentNullException(nameof(fuelRepository));
            _subdivisionRepository       = subdivisionRepository ?? throw new ArgumentNullException(nameof(subdivisionRepository));
            _categoryRepository          = categoryRepository ?? throw new ArgumentNullException(nameof(categoryRepository));
            _trackRepository             = trackRepository ?? throw new ArgumentNullException(nameof(trackRepository));
            _undeliveredOrdersRepository =
                undeliveredOrdersRepository ?? throw new ArgumentNullException(nameof(undeliveredOrdersRepository));
            _deliveryShiftRepository     = deliveryShiftRepository ?? throw new ArgumentNullException(nameof(deliveryShiftRepository));
            _routeListParametersProvider =
                routeListParametersProvider ?? throw new ArgumentNullException(nameof(routeListParametersProvider));
            _callTaskWorker              = callTaskWorker ?? throw new ArgumentNullException(nameof(callTaskWorker));
            _warehouseRepository         = warehouseRepository ?? throw new ArgumentNullException(nameof(warehouseRepository));
            _carJournalFactory           = carJournalFactory ?? throw new ArgumentNullException(nameof(carJournalFactory));
            _employeeJournalFactory      = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _employeeRepository          = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
            _gtkTabsOpener               = gtkTabsOpener ?? throw new ArgumentNullException(nameof(gtkTabsOpener));
            _orderSelectorFactory        = orderSelectorFactory ?? throw new ArgumentNullException(nameof(orderSelectorFactory));
            _counterpartyJournalFactory  = counterpartyJournalFactory ?? throw new ArgumentNullException(nameof(counterpartyJournalFactory));
            _deliveryPointJournalFactory =
                deliveryPointJournalFactory ?? throw new ArgumentNullException(nameof(deliveryPointJournalFactory));
            _subdivisionJournalFactory      = subdivisionJournalFactory ?? throw new ArgumentNullException(nameof(subdivisionJournalFactory));
            _undeliveredOrdersJournalOpener =
                undeliveredOrdersJournalOpener ?? throw new ArgumentNullException(nameof(undeliveredOrdersJournalOpener));
            _stockRepository = stockRepository ?? throw new ArgumentNullException(nameof(stockRepository));
            _reportPrinter   = reportPrinter ?? throw new ArgumentNullException(nameof(reportPrinter));
            _terminalNomenclatureProvider = terminalNomenclatureProvider ?? throw new ArgumentNullException(nameof(terminalNomenclatureProvider));
            _employeeSettings             = employeeSettings ?? throw new ArgumentNullException(nameof(employeeSettings));
            TabName = "Журнал МЛ";

            NotifyConfiguration.Enable();
            NotifyConfiguration.Instance.BatchSubscribeOnEntity <RouteList>(changeEvents => Refresh());

            InitPopupActions();
        }
Example #18
0
        public void FillFromRouteList_WhenPassARouteList_CarLoadItemsCreatingCorrectly()
        {
            // arrange
            Vodovoz.Domain.Logistic.RouteList routeListMock01 = Substitute.For <Vodovoz.Domain.Logistic.RouteList>();
            Warehouse warehouseMock01 = Substitute.For <Warehouse>();
            ISubdivisionRepository subdivisionRepositoryMock01 = Substitute.For <ISubdivisionRepository>();
            Nomenclature           nomenclatureMock01          = Substitute.For <Nomenclature>();

            nomenclatureMock01.Id.Returns(101);
            Nomenclature nomenclatureMock02 = Substitute.For <Nomenclature>();

            nomenclatureMock02.Id.Returns(102);
            Nomenclature nomenclatureMock03 = Substitute.For <Nomenclature>();

            nomenclatureMock03.Id.Returns(103);

            List <GoodsInRouteListResult> listOfGoods = new List <GoodsInRouteListResult> {
                new GoodsInRouteListResult {
                    NomenclatureId = nomenclatureMock01.Id,
                    Amount         = 10
                },
                new GoodsInRouteListResult {
                    NomenclatureId = nomenclatureMock02.Id,
                    Amount         = 20
                },
                new GoodsInRouteListResult {
                    NomenclatureId = nomenclatureMock03.Id,
                    Amount         = 30
                }
            };

            IUnitOfWork uowMock = Substitute.For <IUnitOfWork>();

            uowMock.GetById <Nomenclature>(Arg.Any <int[]>()).Returns(
                new List <Nomenclature> {
                nomenclatureMock01,
                nomenclatureMock02,
                nomenclatureMock03
            }
                );

            IRouteListRepository routeListRepositoryMock = Substitute.For <IRouteListRepository>();

            routeListRepositoryMock.GetGoodsAndEquipsInRL(uowMock, routeListMock01, subdivisionRepositoryMock01, warehouseMock01).Returns(listOfGoods);

            CarLoadDocument loadDocumentUnderTest = new CarLoadDocument {
                Warehouse = warehouseMock01,
                RouteList = routeListMock01
            };

            // act
            loadDocumentUnderTest.FillFromRouteList(uowMock, routeListRepositoryMock, subdivisionRepositoryMock01, true);

            // assert
            Assert.That(loadDocumentUnderTest.Items.Count, Is.EqualTo(3));
            Assert.That(loadDocumentUnderTest.Items[0].Document, Is.EqualTo(loadDocumentUnderTest));
            Assert.That(loadDocumentUnderTest.Items[0].Nomenclature, Is.EqualTo(nomenclatureMock01));
            Assert.That(loadDocumentUnderTest.Items[0].AmountInRouteList, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock01.Id).Amount));
            Assert.That(loadDocumentUnderTest.Items[0].Amount, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock01.Id).Amount));
            Assert.That(loadDocumentUnderTest.Items[1].Document, Is.EqualTo(loadDocumentUnderTest));
            Assert.That(loadDocumentUnderTest.Items[1].Nomenclature, Is.EqualTo(nomenclatureMock02));
            Assert.That(loadDocumentUnderTest.Items[1].AmountInRouteList, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock02.Id).Amount));
            Assert.That(loadDocumentUnderTest.Items[1].Amount, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock02.Id).Amount));
            Assert.That(loadDocumentUnderTest.Items[2].Document, Is.EqualTo(loadDocumentUnderTest));
            Assert.That(loadDocumentUnderTest.Items[2].Nomenclature, Is.EqualTo(nomenclatureMock03));
            Assert.That(loadDocumentUnderTest.Items[2].AmountInRouteList, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock03.Id).Amount));
            Assert.That(loadDocumentUnderTest.Items[2].Amount, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock03.Id).Amount));
        }
Example #19
0
        public RouteListTrackDlg(IEmployeeRepository employeeRepository, IChatRepository chatRepository, ITrackRepository trackRepository,
                                 IRouteListRepository routeListRepository, IScheduleRestrictionRepository scheduleRestrictionRepository,
                                 IDeliveryRulesParametersProvider deliveryRulesParametersProvider, IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices)
        {
            _employeeRepository            = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
            _chatRepository                = chatRepository ?? throw new ArgumentNullException(nameof(chatRepository));
            _trackRepository               = trackRepository ?? throw new ArgumentNullException(nameof(trackRepository));
            _routeListRepository           = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
            _scheduleRestrictionRepository = scheduleRestrictionRepository ?? throw new ArgumentNullException(nameof(scheduleRestrictionRepository));
            _fastDeliveryTime              =
                (deliveryRulesParametersProvider ?? throw new ArgumentNullException(nameof(deliveryRulesParametersProvider)))
                .MaxTimeForFastDelivery;
            _fastDeliveryMaxDistanceKm = deliveryRulesParametersProvider.MaxDistanceToLatestTrackPointKm;
            _commonServices            = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
            _unitOfWorkFactory         = unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory));
            Build();
            TabName = "Мониторинг";
            yTreeViewDrivers.RepresentationModel = new WorkingDriversVM(uow, routelisttrackfilterview1.FilterViewModel);
            yTreeViewDrivers.Selection.Mode      = Gtk.SelectionMode.Multiple;
            yTreeViewDrivers.Selection.Changed  += OnSelectionChanged;

            routelisttrackfilterview1.FilterViewModel.PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName == nameof(routelisttrackfilterview1.FilterViewModel.IsFastDeliveryOnly))
                {
                    Application.Invoke((s, a) => UpdateCarPosition());
                }
                if (args.PropertyName == nameof(routelisttrackfilterview1.FilterViewModel.ShowFastDeliveryCircle))
                {
                    _districtsOverlay.IsVisibile = routelisttrackfilterview1.FilterViewModel.ShowFastDeliveryCircle;
                    Application.Invoke((s, a) => UpdateCarPosition());
                }
            };

            buttonChat.Visible = buttonSendMessage.Visible = false;
            _currentEmployee   = employeeRepository.GetEmployeeForCurrentUser(uow);

            if (_currentEmployee == null)
            {
                MessageDialogHelper.RunErrorDialog("Ваш пользователь не привязан к сотруднику. Чат не будет работать.");
            }

            //Configure map
            gmapWidget.MapProvider   = GMapProviders.GoogleMap;
            gmapWidget.Position      = new PointLatLng(59.93900, 30.31646);
            gmapWidget.HeightRequest = 150;
            //MapWidget.HasFrame = true;
            gmapWidget.Overlays.Add(_districtsOverlay);
            gmapWidget.Overlays.Add(carsOverlay);
            gmapWidget.Overlays.Add(tracksOverlay);
            gmapWidget.Overlays.Add(_fastDeliveryOverlay);
            gmapWidget.ExposeEvent   += GmapWidget_ExposeEvent;
            gmapWidget.OnMarkerEnter += GmapWidgetOnMarkerEnter;
            UpdateCarPosition();
            timerId = GLib.Timeout.Add(carRefreshInterval, new GLib.TimeoutHandler(UpdateCarPosition));
            yenumcomboMapType.ItemsEnum    = typeof(MapProviders);
            yenumcomboMapType.TooltipText  = "Если карта отображается некорректно или не отображается вовсе - смените тип карты";
            yenumcomboMapType.SelectedItem = MapProviders.GoogleMap;

            LoadFastDeliveryDistrictsGeometry();
        }
Example #20
0
        public void UpdateInRouteListAmount_WhenCall_UpdatesQuantityCorrectly()
        {
            // arrange
            Vodovoz.Domain.Logistic.RouteList routeListMock01 = Substitute.For <Vodovoz.Domain.Logistic.RouteList>();

            Nomenclature nomenclatureMock01 = Substitute.For <Nomenclature>();

            nomenclatureMock01.Id.Returns(101);
            Nomenclature nomenclatureMock02 = Substitute.For <Nomenclature>();

            nomenclatureMock02.Id.Returns(102);
            Nomenclature nomenclatureMock03 = Substitute.For <Nomenclature>();

            nomenclatureMock03.Id.Returns(103);

            List <GoodsInRouteListResult> listOfGoods = new List <GoodsInRouteListResult> {
                new GoodsInRouteListResult {
                    NomenclatureId = nomenclatureMock01.Id,
                    Amount         = 1
                },
                new GoodsInRouteListResult {
                    NomenclatureId = nomenclatureMock02.Id,
                    Amount         = 2
                },
                new GoodsInRouteListResult {
                    NomenclatureId = nomenclatureMock03.Id,
                    Amount         = 3
                }
            };

            IUnitOfWork uowMock = Substitute.For <IUnitOfWork>();

            IRouteListRepository routeListRepositoryMock = Substitute.For <IRouteListRepository>();

            routeListRepositoryMock.GetGoodsAndEquipsInRL(uowMock, routeListMock01, null).Returns(listOfGoods);

            CarLoadDocument loadDocumentUnderTest = new CarLoadDocument {
                RouteList = routeListMock01,
                Items     = new List <CarLoadDocumentItem> {
                    new CarLoadDocumentItem {
                        Nomenclature      = nomenclatureMock01,
                        AmountInRouteList = 11
                    },
                    new CarLoadDocumentItem {
                        Nomenclature      = nomenclatureMock02,
                        AmountInRouteList = 12
                    },
                    new CarLoadDocumentItem {
                        Nomenclature      = nomenclatureMock03,
                        AmountInRouteList = 13
                    }
                }
            };

            // act
            loadDocumentUnderTest.UpdateInRouteListAmount(uowMock, routeListRepositoryMock);

            // assert
            Assert.That(loadDocumentUnderTest.Items.Count, Is.EqualTo(3));
            Assert.That(loadDocumentUnderTest.Items[0].AmountInRouteList, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock01.Id).Amount));
            Assert.That(loadDocumentUnderTest.Items[1].AmountInRouteList, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock02.Id).Amount));
            Assert.That(loadDocumentUnderTest.Items[2].AmountInRouteList, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock03.Id).Amount));
        }
Example #21
0
 public NewDriverAdvanceModel(INewDriverAdvanceParametersProvider newDriverAdvanceParametersProvider, IRouteListRepository routeListRepository, RouteList routeList)
 {
     _newDriverAdvanceParametersProvider = newDriverAdvanceParametersProvider ?? throw new ArgumentNullException(nameof(newDriverAdvanceParametersProvider));
     _routeListRepository = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
     _routeList           = routeList ?? throw new ArgumentNullException(nameof(routeList));
 }
Example #22
0
        public EmployeeViewModel(
            IAuthorizationService authorizationService,
            IEmployeeWageParametersFactory employeeWageParametersFactory,
            IEmployeeJournalFactory employeeJournalFactory,
            ISubdivisionJournalFactory subdivisionJournalFactory,
            IEmployeePostsJournalFactory employeePostsJournalFactory,
            ICashDistributionCommonOrganisationProvider commonOrganisationProvider,
            ISubdivisionService subdivisionService,
            IEmailServiceSettingAdapter emailServiceSettingAdapter,
            IWageCalculationRepository wageCalculationRepository,
            IEmployeeRepository employeeRepository,
            IUnitOfWorkGeneric <Employee> uowGeneric,
            ICommonServices commonServices,
            IValidationContextFactory validationContextFactory,
            IPhonesViewModelFactory phonesViewModelFactory,
            IWarehouseRepository warehouseRepository,
            IRouteListRepository routeListRepository,
            DriverApiUserRegisterEndpoint driverApiUserRegisterEndpoint,
            UserSettings userSettings,
            IUserRepository userRepository,
            BaseParametersProvider baseParametersProvider,
            bool traineeToEmployee = false,
            INavigationManager navigationManager = null
            ) : base(commonServices?.InteractiveService, navigationManager)
        {
            _authorizationService         = authorizationService ?? throw new ArgumentNullException(nameof(authorizationService));
            EmployeeWageParametersFactory =
                employeeWageParametersFactory ?? throw new ArgumentNullException(nameof(employeeWageParametersFactory));
            EmployeeJournalFactory      = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            EmployeePostsJournalFactory = employeePostsJournalFactory ?? throw new ArgumentNullException(nameof(employeePostsJournalFactory));
            SubdivisionJournalFactory   = subdivisionJournalFactory ?? throw new ArgumentNullException(nameof(subdivisionJournalFactory));

            if (commonOrganisationProvider == null)
            {
                throw new ArgumentNullException(nameof(commonOrganisationProvider));
            }

            _subdivisionService            = subdivisionService ?? throw new ArgumentNullException(nameof(subdivisionService));
            _emailServiceSettingAdapter    = emailServiceSettingAdapter ?? throw new ArgumentNullException(nameof(emailServiceSettingAdapter));
            _wageCalculationRepository     = wageCalculationRepository ?? throw new ArgumentNullException(nameof(wageCalculationRepository));
            _employeeRepository            = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
            _warehouseRepository           = warehouseRepository ?? throw new ArgumentNullException(nameof(warehouseRepository));
            _routeListRepository           = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
            _driverApiUserRegisterEndpoint = driverApiUserRegisterEndpoint ?? throw new ArgumentNullException(nameof(driverApiUserRegisterEndpoint));
            _userSettings           = userSettings ?? throw new ArgumentNullException(nameof(userSettings));
            UoWGeneric              = uowGeneric ?? throw new ArgumentNullException(nameof(uowGeneric));
            _commonServices         = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
            _userRepository         = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
            _baseParametersProvider = baseParametersProvider ?? throw new ArgumentNullException(nameof(baseParametersProvider));

            if (validationContextFactory == null)
            {
                throw new ArgumentNullException(nameof(validationContextFactory));
            }

            ConfigureValidationContext(validationContextFactory);

            if (phonesViewModelFactory == null)
            {
                throw new ArgumentNullException(nameof(phonesViewModelFactory));
            }

            PhonesViewModel = phonesViewModelFactory.CreateNewPhonesViewModel(UoW);

            if (Entity.Id == 0)
            {
                Entity.OrganisationForSalary = commonOrganisationProvider.GetCommonOrganisation(UoW);
                TabName = "Новый сотрудник";
            }
            else
            {
                TabName = Entity.GetPersonNameWithInitials();
            }

            if (Entity.Phones == null)
            {
                Entity.Phones = new List <Phone>();
            }

            SetPermissions();

            Entity.PropertyChanged += OnEntityPropertyChanged;

            organizations = UoW.GetAll <Organization>().ToList();
            FillHiddenCategories(traineeToEmployee);

            CanRegisterMobileUser = string.IsNullOrWhiteSpace(Entity.AndroidLogin) && string.IsNullOrWhiteSpace(Entity.AndroidPassword);

            var permissionResult =
                _commonServices.PermissionService.ValidateUserPermission(typeof(Employee), _commonServices.UserService.CurrentUserId);

            if (!permissionResult.CanRead)
            {
                AbortOpening(PermissionsSettings.GetEntityReadValidateResult(typeof(Employee)));
            }
        }