コード例 #1
0
 public DeliveryPointService(
     IDeliveryPointRepository deliveryPointRepository,
     IMapper mapper)
 {
     _deliveryPointRepository = deliveryPointRepository;
     _mapper = mapper;
 }
コード例 #2
0
        public TasksView(
            IEmployeeJournalFactory employeeJournalFactory,
            IDeliveryPointRepository deliveryPointRepository)
        {
            this.Build();

            _employeeJournalFactory  = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _deliveryPointRepository = deliveryPointRepository ?? throw new ArgumentNullException(nameof(deliveryPointRepository));

            UoW     = UnitOfWorkFactory.CreateWithoutRoot();
            TabName = "Журнал задач для обзвона";
            ConfigureDlg();
        }
コード例 #3
0
 public CallTaskFilterViewModel(
     IEntityAutocompleteSelectorFactory employeeAutocompleteSelectorFactory,
     IDeliveryPointRepository deliveryPointRepository)
 {
     EmployeeAutocompleteSelectorFactory =
         employeeAutocompleteSelectorFactory
         ?? throw new ArgumentNullException(nameof(employeeAutocompleteSelectorFactory));
     ActiveDeliveryPointCategories =
         deliveryPointRepository?.GetActiveDeliveryPointCategories(UoW)
         ?? throw new ArgumentNullException(nameof(deliveryPointRepository));
     StartDate = DateTime.Today.AddDays(-14);
     EndDate   = DateTime.Today.AddDays(14);
     CreateCommands();
 }
コード例 #4
0
        public TasksView(
            IEmployeeRepository employeeRepository,
            IBottlesRepository bottleRepository,
            ICallTaskRepository callTaskRepository,
            IPhoneRepository phoneRepository,
            IEmployeeJournalFactory employeeJournalFactory,
            IDeliveryPointRepository deliveryPointRepository)
        {
            this.Build();

            _employeeRepository      = employeeRepository;
            _bottleRepository        = bottleRepository;
            _callTaskRepository      = callTaskRepository;
            _phoneRepository         = phoneRepository;
            _employeeJournalFactory  = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _deliveryPointRepository = deliveryPointRepository ?? throw new ArgumentNullException(nameof(deliveryPointRepository));

            UoW          = UnitOfWorkFactory.CreateWithoutRoot();
            this.TabName = "Журнал задач для обзвона";
            ConfigureDlg();
        }
コード例 #5
0
        public DeliveryPointViewModel(
            IUserRepository userRepository,
            IGtkTabsOpener gtkTabsOpener,
            IPhoneRepository phoneRepository,
            IContactsParameters contactsParameters,
            ICitiesDataLoader citiesDataLoader,
            IStreetsDataLoader streetsDataLoader,
            IHousesDataLoader housesDataLoader,
            INomenclatureJournalFactory nomenclatureSelectorFactory,
            NomenclatureFixedPriceController nomenclatureFixedPriceController,
            IDeliveryPointRepository deliveryPointRepository,
            IDeliveryScheduleSelectorFactory deliveryScheduleSelectorFactory,
            IEntityUoWBuilder uowBuilder, IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices,
            IRoboAtsCounterpartyJournalFactory roboAtsCounterpartyJournalFactory,
            Domain.Client.Counterparty client = null)
            : base(uowBuilder, unitOfWorkFactory, commonServices)
        {
            if (client != null && uowBuilder.IsNewEntity)
            {
                Entity.Counterparty = client;
            }
            else if (client == null && uowBuilder.IsNewEntity)
            {
                throw new ArgumentNullException(nameof(client), "Нельзя создать точку доставки без указания клиента");
            }

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

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

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

            _deliveryPointRepository = deliveryPointRepository ?? throw new ArgumentNullException(nameof(deliveryPointRepository));

            _gtkTabsOpener  = gtkTabsOpener ?? throw new ArgumentNullException(nameof(gtkTabsOpener));
            _userRepository = userRepository ?? throw new ArgumentNullException(nameof(userRepository));

            NomenclatureSelectorFactory =
                nomenclatureSelectorFactory ?? throw new ArgumentNullException(nameof(nomenclatureSelectorFactory));

            _fixedPricesModel = new DeliveryPointFixedPricesModel(UoW, Entity, nomenclatureFixedPriceController);
            PhonesViewModel   = new PhonesViewModel(phoneRepository, UoW, contactsParameters, roboAtsCounterpartyJournalFactory, CommonServices)
            {
                PhonesList    = Entity.ObservablePhones,
                DeliveryPoint = Entity,
                ReadOnly      = !CanEdit
            };

            CitiesDataLoader  = citiesDataLoader ?? throw new ArgumentNullException(nameof(citiesDataLoader));
            StreetsDataLoader = streetsDataLoader ?? throw new ArgumentNullException(nameof(streetsDataLoader));
            HousesDataLoader  = housesDataLoader ?? throw new ArgumentNullException(nameof(housesDataLoader));

            CanArchiveDeliveryPoint =
                commonServices.CurrentPermissionService.ValidatePresetPermission("can_arc_counterparty_and_deliverypoint");
            CanSetFreeDelivery            = commonServices.CurrentPermissionService.ValidatePresetPermission("can_set_free_delivery");
            CanEditOrderLimits            = commonServices.CurrentPermissionService.ValidatePresetPermission("user_can_edit_orders_limits");
            CanEditNomenclatureFixedPrice =
                commonServices.CurrentPermissionService.ValidatePresetPermission("can_edit_delivery_point_fixed_prices");

            DeliveryPointCategories =
                deliveryPointRepository?.GetActiveDeliveryPointCategories(UoW)
                ?? throw new ArgumentNullException(nameof(deliveryPointRepository));
            DeliveryScheduleSelectorFactory =
                deliveryScheduleSelectorFactory?.CreateDeliveryScheduleAutocompleteSelectorFactory()
                ?? throw new ArgumentNullException(nameof(deliveryScheduleSelectorFactory));

            _roboAtsCounterpartyJournalFactory = roboAtsCounterpartyJournalFactory ?? throw new ArgumentNullException(nameof(roboAtsCounterpartyJournalFactory));

            Entity.PropertyChanged += (sender, e) =>
            {
                switch (e.PropertyName)
                {                 // от этого события зависит панель цен доставки, которые в свою очередь зависят от района и, возможно, фиксов
                case nameof(Entity.District):
                    CurrentObjectChanged?.Invoke(this, new CurrentObjectChangedArgs(Entity));
                    break;
                }
            };
        }
コード例 #6
0
 public DeliveryPointService(IDeliveryPointRepository deliveryPointRepository, IWelshDeliveryPointRepository welshDeliveryPointRepository)
 {
     _deliveryPointRepository      = deliveryPointRepository;
     _welshDeliveryPointRepository = welshDeliveryPointRepository;
 }