public WaterJournalViewModel(
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IEmployeeService employeeService,
            IEntityAutocompleteSelectorFactory nomenclatureSelectorFactory,
            IEntityAutocompleteSelectorFactory counterpartySelectorFactory,
            INomenclatureRepository nomenclatureRepository,
            IUserRepository userRepository
            ) : base(unitOfWorkFactory, commonServices)
        {
            this.employeeService             = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            this.nomenclatureSelectorFactory = nomenclatureSelectorFactory ?? throw new ArgumentNullException(nameof(nomenclatureSelectorFactory));
            this.counterpartySelectorFactory = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));
            this.nomenclatureRepository      = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            this.userRepository = userRepository ?? throw new ArgumentNullException(nameof(userRepository));

            TabName = "Выбор номенклатуры воды";
            SetOrder(x => x.Name);
            UpdateOnChanges(
                typeof(Nomenclature),
                typeof(MeasurementUnits),
                typeof(WarehouseMovementOperation),
                typeof(VodovozOrder),
                typeof(OrderItem)
                );
        }
Esempio n. 2
0
        public NomenclaturesJournalViewModel(
            NomenclatureFilterViewModel filterViewModel,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IEmployeeService employeeService,
            INomenclatureJournalFactory nomenclatureSelectorFactory,
            ICounterpartyJournalFactory counterpartySelectorFactory,
            INomenclatureRepository nomenclatureRepository,
            IUserRepository userRepository
            ) : base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            this.employeeService             = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            this.nomenclatureSelectorFactory =
                nomenclatureSelectorFactory ?? throw new ArgumentNullException(nameof(nomenclatureSelectorFactory));
            this.counterpartySelectorFactory =
                counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));
            this.nomenclatureRepository = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            this.userRepository         = userRepository ?? throw new ArgumentNullException(nameof(userRepository));

            TabName = "Журнал ТМЦ";
            SetOrder(x => x.Name);
            UpdateOnChanges(
                typeof(Nomenclature),
                typeof(MeasurementUnits),
                typeof(WarehouseMovementOperation),
                typeof(VodovozOrder),
                typeof(OrderItem)
                );
        }
Esempio n. 3
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));
        }
Esempio n. 4
0
        public RequestToSupplierViewModel(
            IEntityUoWBuilder uoWBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IEmployeeService employeeService,
            ISupplierPriceItemsRepository supplierPriceItemsRepository,
            ICounterpartyJournalFactory counterpartySelectorFactory,
            INomenclatureJournalFactory nomenclatureSelectorFactory,
            INomenclatureRepository nomenclatureRepository,
            IUserRepository userRepository) : base(uoWBuilder, unitOfWorkFactory, commonServices)
        {
            this.unitOfWorkFactory            = unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory));
            this.commonServices               = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
            this.employeeService              = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            this.supplierPriceItemsRepository = supplierPriceItemsRepository ?? throw new ArgumentNullException(nameof(supplierPriceItemsRepository));
            this.nomenclatureRepository       = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            this.userRepository               = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
            this.counterpartySelectorFactory  = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));
            this.nomenclatureSelectorFactory  = nomenclatureSelectorFactory ?? throw new ArgumentNullException(nameof(nomenclatureSelectorFactory));

            CreateCommands();
            RefreshSuppliers();
            ConfigureEntityPropertyChanges();

            Entity.ObservableRequestingNomenclatureItems.ElementAdded       += (aList, aIdx) => RefreshSuppliers();
            Entity.ObservableRequestingNomenclatureItems.ListContentChanged += (aList, aIdx) => RefreshSuppliers();
            Entity.ObservableRequestingNomenclatureItems.ElementRemoved     += (aList, aIdx, aObject) => RefreshSuppliers();
            NotifyConfiguration.Instance.BatchSubscribeOnEntity <SupplierPriceItem>(PriceFromSupplierNotifyCriteria);
            NotifyConfiguration.Instance.BatchSubscribeOnEntity <NomenclaturePrice>(NomenclaturePriceNotifyCriteria);
            NotifyConfiguration.Instance.BatchSubscribeOnEntity <Counterparty>(CounterpartyNotifyCriteria);

            SetPermissions();
        }
        public PromotionalSetViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IEmployeeService employeeService,
            ICounterpartyJournalFactory counterpartySelectorFactory,
            INomenclatureJournalFactory nomenclatureSelectorFactory,
            INomenclatureRepository nomenclatureRepository,
            IUserRepository userRepository) : base(uowBuilder, unitOfWorkFactory, commonServices)
        {
            _employeeService             = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            _nomenclatureRepository      = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            _userRepository              = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
            _counterpartySelectorFactory = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));
            _nomenclatureSelectorFactory = nomenclatureSelectorFactory ?? throw new ArgumentNullException(nameof(nomenclatureSelectorFactory));

            if (!CanRead)
            {
                AbortOpening("У вас недостаточно прав для просмотра");
            }

            TabName = "Рекламные наборы";
            UoW     = uowBuilder.CreateUoW <PromotionalSet>(unitOfWorkFactory);
            CreateCommands();
        }
        public SupplierPricesWidgetViewModel(Counterparty entity,
                                             IUnitOfWork uow,
                                             ITdiTab dialogTab,
                                             ICommonServices commonServices,
                                             IEmployeeService employeeService,
                                             ICounterpartyJournalFactory counterpartySelectorFactory,
                                             INomenclatureJournalFactory nomenclatureSelectorFactory,
                                             INomenclatureRepository nomenclatureRepository,
                                             IUserRepository userRepository)
            : base(entity, commonServices)
        {
            this.dialogTab                   = dialogTab ?? throw new ArgumentNullException(nameof(dialogTab));
            UoW                              = uow ?? throw new ArgumentNullException(nameof(uow));
            this.employeeService             = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            this.nomenclatureRepository      = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            this.userRepository              = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
            this.counterpartySelectorFactory = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));
            _nomenclatureSelectorFactory     = nomenclatureSelectorFactory ?? throw new ArgumentNullException(nameof(nomenclatureSelectorFactory));

            CreateCommands();
            RefreshPrices();

            Search           = new SearchViewModel();
            Search.OnSearch += (sender, e) => RefreshPrices();
            Entity.ObservableSuplierPriceItems.ElementAdded   += (aList, aIdx) => RefreshPrices();
            Entity.ObservableSuplierPriceItems.ElementRemoved += (aList, aIdx, aObject) => RefreshPrices();
        }
Esempio n. 7
0
        public int GetEmptyBottlesFromClientByOrder(IUnitOfWork uow, INomenclatureRepository nomenclatureRepository, Order order, int?excludeDocument = null)
        {
            if (nomenclatureRepository == null)
            {
                throw new ArgumentNullException(nameof(nomenclatureRepository));
            }

            var routeListItems = uow.Session.QueryOver <RouteListItem>()
                                 .Where(rli => rli.Order == order)
                                 .List();

            if (routeListItems.Any())
            {
                return(routeListItems.Sum(q => q.BottlesReturned));
            }

            var defBottle = nomenclatureRepository.GetDefaultBottle(uow);
            SelfDeliveryDocument selfDeliveryDocumentAlias = null;

            var query = uow.Session.QueryOver <SelfDeliveryDocumentReturned>()
                        .Left.JoinAlias(d => d.Document, () => selfDeliveryDocumentAlias)
                        .Where(() => selfDeliveryDocumentAlias.Order == order)
                        .Where(r => r.Nomenclature == defBottle);

            if (excludeDocument.HasValue && excludeDocument.Value > 0)
            {
                query.Where(() => selfDeliveryDocumentAlias.Id != excludeDocument.Value);
            }

            var bttls = query.Select(Projections.Sum <SelfDeliveryDocumentReturned>(s => s.Amount))
                        .SingleOrDefault <decimal>();

            return((int)bttls);
        }
Esempio n. 8
0
 public CreateComplaintViewModel(
     IEntityUoWBuilder uowBuilder,
     IUnitOfWorkFactory unitOfWorkFactory,
     IEmployeeService employeeService,
     IEntityAutocompleteSelectorFactory employeeSelectorFactory,
     IEntityAutocompleteSelectorFactory counterpartySelectorFactory,
     ISubdivisionRepository subdivisionRepository,
     ICommonServices commonServices,
     IEntityAutocompleteSelectorFactory nomenclatureSelectorFactory,
     INomenclatureRepository nomenclatureRepository,
     IUserRepository userRepository,
     IFilePickerService filePickerService,
     string phone = null
     ) : base(uowBuilder, unitOfWorkFactory, commonServices)
 {
     this.filePickerService       = filePickerService ?? throw new ArgumentNullException(nameof(filePickerService));
     this.employeeSelectorFactory = employeeSelectorFactory ?? throw new ArgumentNullException(nameof(employeeSelectorFactory));
     EmployeeService             = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
     NomenclatureRepository      = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
     UserRepository              = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
     CounterpartySelectorFactory = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));
     NomenclatureSelectorFactory = nomenclatureSelectorFactory ?? throw new ArgumentNullException(nameof(nomenclatureSelectorFactory));
     this.subdivisionRepository  = subdivisionRepository ?? throw new ArgumentNullException(nameof(subdivisionRepository));
     Entity.ComplaintType        = ComplaintType.Client;
     Entity.SetStatus(ComplaintStatuses.Checking);
     ConfigureEntityPropertyChanges();
     Entity.Phone = phone;
     TabName      = "Новая клиентская рекламация";
 }
        public RequestsToSuppliersJournalViewModel(
            RequestsToSuppliersFilterViewModel filterViewModel,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IEmployeeService employeeService,
            ISupplierPriceItemsRepository supplierPriceItemsRepository,
            ICounterpartyJournalFactory counterpartySelectorFactory,
            INomenclatureJournalFactory nomenclatureSelectorFactory,
            INomenclatureRepository nomenclatureRepository,
            IUserRepository userRepository
            ) : base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            this.employeeService              = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            this.nomenclatureRepository       = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            this.userRepository               = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
            this.supplierPriceItemsRepository = supplierPriceItemsRepository ?? throw new ArgumentNullException(nameof(supplierPriceItemsRepository));
            this.unitOfWorkFactory            = unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory));
            this.counterpartySelectorFactory  = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));
            this.nomenclatureSelectorFactory  = nomenclatureSelectorFactory ?? throw new ArgumentNullException(nameof(nomenclatureSelectorFactory));

            TabName = "Журнал заявок поставщикам";

            var threadLoader = DataLoader as ThreadDataLoader <RequestToSupplierJournalNode>;

            threadLoader.MergeInOrderBy(x => x.Id, true);

            UpdateOnChanges(typeof(RequestToSupplier));
        }
        public PromotionalSetsJournalViewModel(
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IEmployeeService employeeService,
            ICounterpartyJournalFactory counterpartySelectorFactory,
            INomenclatureJournalFactory nomenclatureSelectorFactory,
            INomenclatureRepository nomenclatureRepository,
            IUserRepository userRepository,
            bool hideJournalForOpenDialog   = false,
            bool hideJournalForCreateDialog = false)
            : base(unitOfWorkFactory, commonServices, hideJournalForOpenDialog, hideJournalForCreateDialog)
        {
            _unitOfWorkFactory           = unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory));
            _employeeService             = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            _nomenclatureRepository      = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            _userRepository              = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
            _counterpartySelectorFactory = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));
            _nomenclatureSelectorFactory = nomenclatureSelectorFactory ?? throw new ArgumentNullException(nameof(nomenclatureSelectorFactory));

            TabName = "Рекламные наборы";

            var threadLoader = DataLoader as ThreadDataLoader <PromotionalSetJournalNode>;

            threadLoader.MergeInOrderBy(x => x.IsArchive, false);
            threadLoader.MergeInOrderBy(x => x.Id, false);

            UpdateOnChanges(typeof(PromotionalSet));
        }
        public NomenclatureViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory uowFactory,
            ICommonServices commonServices,
            IEmployeeService employeeService,
            INomenclatureJournalFactory nomenclatureSelectorFactory,
            ICounterpartyJournalFactory counterpartySelectorFactory,
            INomenclatureRepository nomenclatureRepository,
            IUserRepository userRepository) : base(uowBuilder, uowFactory, commonServices
                                                   )
        {
            if (nomenclatureSelectorFactory is null)
            {
                throw new ArgumentNullException(nameof(nomenclatureSelectorFactory));
            }

            _employeeService            = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            _nomenclatureRepository     = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            _userRepository             = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
            NomenclatureSelectorFactory = nomenclatureSelectorFactory.GetDefaultNomenclatureSelectorFactory();
            CounterpartySelectorFactory =
                (counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory)))
                .CreateCounterpartyAutocompleteSelectorFactory();
            NomenclaturePurchasePricesViewModel = new NomenclaturePurchasePricesViewModel(Entity, this, UoW, CommonServices);

            ConfigureEntityPropertyChanges();
            ConfigureValidationContext();
            SetPermissions();
        }
        public CreateComplaintViewModel(Order order,
                                        IEntityUoWBuilder uowBuilder,
                                        IUnitOfWorkFactory unitOfWorkFactory,
                                        IEmployeeService employeeService,
                                        IEntityAutocompleteSelectorFactory counterpartySelectorFactory,
                                        ISubdivisionRepository subdivisionRepository,
                                        ICommonServices commonServices,
                                        INomenclatureRepository nomenclatureRepository,
                                        IUserRepository userRepository,
                                        IFilePickerService filePickerService,
                                        IOrderSelectorFactory orderSelectorFactory,
                                        IEmployeeJournalFactory employeeJournalFactory,
                                        ICounterpartyJournalFactory counterpartyJournalFactory,
                                        IDeliveryPointJournalFactory deliveryPointJournalFactory,
                                        ISubdivisionJournalFactory subdivisionJournalFactory,
                                        IGtkTabsOpener gtkDialogsOpener,
                                        IUndeliveredOrdersJournalOpener undeliveredOrdersJournalOpener,
                                        INomenclatureSelectorFactory nomenclatureSelector,
                                        IUndeliveredOrdersRepository undeliveredOrdersRepository,
                                        string phone = null) : this(uowBuilder, unitOfWorkFactory, employeeService, counterpartySelectorFactory, subdivisionRepository,
                                                                    commonServices, nomenclatureRepository, userRepository, filePickerService, orderSelectorFactory,
                                                                    employeeJournalFactory, counterpartyJournalFactory, deliveryPointJournalFactory, subdivisionJournalFactory, gtkDialogsOpener,
                                                                    undeliveredOrdersJournalOpener, nomenclatureSelector, undeliveredOrdersRepository, phone)
        {
            var currentOrder = UoW.GetById <Order>(order.Id);

            Entity.Order        = currentOrder;
            Entity.Counterparty = currentOrder.Client;
            Entity.Phone        = phone;
        }
        public RetailOrderJournalViewModel(
            OrderJournalFilterViewModel filterViewModel,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IEmployeeService employeeService,
            INomenclatureRepository nomenclatureRepository,
            IUserRepository userRepository,
            IOrderSelectorFactory orderSelectorFactory,
            IEmployeeJournalFactory employeeJournalFactory,
            ICounterpartyJournalFactory counterpartyJournalFactory,
            IDeliveryPointJournalFactory deliveryPointJournalFactory,
            ISubdivisionJournalFactory subdivisionJournalFactory,
            IGtkTabsOpener gtkDialogsOpener,
            IUndeliveredOrdersJournalOpener undeliveredOrdersJournalOpener,
            INomenclatureSelectorFactory nomenclatureSelector,
            IUndeliveredOrdersRepository undeliveredOrdersRepository) : base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            _commonServices         = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
            _employeeService        = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            _nomenclatureRepository = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            _userRepository         = userRepository ?? throw new ArgumentNullException(nameof(userRepository));

            _orderSelectorFactory        = orderSelectorFactory ?? throw new ArgumentNullException(nameof(orderSelectorFactory));
            _employeeJournalFactory      = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _counterpartyJournalFactory  = counterpartyJournalFactory ?? throw new ArgumentNullException(nameof(counterpartyJournalFactory));
            _deliveryPointJournalFactory = deliveryPointJournalFactory ?? throw new ArgumentNullException(nameof(deliveryPointJournalFactory));
            _subdivisionJournalFactory   = subdivisionJournalFactory ?? throw new ArgumentNullException(nameof(subdivisionJournalFactory));
            _gtkDialogsOpener            = gtkDialogsOpener ?? throw new ArgumentNullException(nameof(gtkDialogsOpener));

            _nomenclatureSelectorFactory = nomenclatureSelector?.GetDefaultNomenclatureSelectorFactory()
                                           ?? throw new ArgumentNullException(nameof(_nomenclatureSelectorFactory));
            _counterpartySelectorFactory    = counterpartyJournalFactory.CreateCounterpartyAutocompleteSelectorFactory();
            _undeliveredOrdersJournalOpener =
                undeliveredOrdersJournalOpener ?? throw new ArgumentNullException(nameof(undeliveredOrdersJournalOpener));
            _undeliveredOrdersRepository =
                undeliveredOrdersRepository ?? throw new ArgumentNullException(nameof(undeliveredOrdersRepository));

            TabName = "Журнал заказов";

            RegisterOrders();
            RegisterOrdersWithoutShipmentForDebt();
            RegisterOrdersWithoutShipmentForPayment();
            RegisterOrdersWithoutShipmentForAdvancePayment();

            var threadLoader = DataLoader as ThreadDataLoader <RetailOrderJournalNode>;

            threadLoader.MergeInOrderBy(x => x.CreateDate, true);

            FinishJournalConfiguration();

            UpdateOnChanges(
                typeof(VodovozOrder),
                typeof(OrderWithoutShipmentForDebt),
                typeof(OrderWithoutShipmentForPayment),
                typeof(OrderWithoutShipmentForAdvancePayment),
                typeof(OrderWithoutShipmentForPaymentItem),
                typeof(OrderWithoutShipmentForAdvancePaymentItem),
                typeof(OrderItem)
                );
        }
 public NomenclatureService(
     IMapper mapper,
     IRequestData requestData,
     INomenclatureRepository nomenclatureRepository)
     : base(mapper, requestData)
 {
     this.nomenclatureRepository = nomenclatureRepository;
 }
 public NomenclatureAutoCompleteSelectorFactory(
     ICommonServices commonServices,
     NomenclatureFilterViewModel filterViewModel,
     IEntityAutocompleteSelectorFactory counterpartySelectorFactory,
     INomenclatureRepository nomenclatureRepository,
     IUserRepository userRepository)
     : base(commonServices, filterViewModel, counterpartySelectorFactory, nomenclatureRepository,
            userRepository)
 {
 }
 public PromotionalSetActionWidgetResolver(IUnitOfWork UoW,
                                           IEntityAutocompleteSelectorFactory counterpartySelectorFactory,
                                           INomenclatureRepository nomenclatureRepository,
                                           IUserRepository userRepository)
 {
     uow = UoW;
     this.counterpartySelectorFactory = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));
     this.nomenclatureRepository      = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
     this.userRepository = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
 }
        public CreateComplaintViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            IEmployeeService employeeService,
            IEntityAutocompleteSelectorFactory counterpartySelectorFactory,
            ISubdivisionRepository subdivisionRepository,
            ICommonServices commonServices,
            INomenclatureRepository nomenclatureRepository,
            IUserRepository userRepository,
            IFilePickerService filePickerService,
            IOrderSelectorFactory orderSelectorFactory,
            IEmployeeJournalFactory employeeJournalFactory,
            ICounterpartyJournalFactory counterpartyJournalFactory,
            IDeliveryPointJournalFactory deliveryPointJournalFactory,
            ISubdivisionJournalFactory subdivisionJournalFactory,
            IGtkTabsOpener gtkDialogsOpener,
            IUndeliveredOrdersJournalOpener undeliveredOrdersJournalOpener,
            INomenclatureSelectorFactory nomenclatureSelector,
            IUndeliveredOrdersRepository undeliveredOrdersRepository,
            string phone = null
            ) : base(uowBuilder, unitOfWorkFactory, commonServices)
        {
            _filePickerService          = filePickerService ?? throw new ArgumentNullException(nameof(filePickerService));
            EmployeeService             = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            NomenclatureRepository      = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            UserRepository              = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
            CounterpartySelectorFactory = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));
            this.subdivisionRepository  = subdivisionRepository ?? throw new ArgumentNullException(nameof(subdivisionRepository));

            OrderSelectorFactory           = orderSelectorFactory ?? throw new ArgumentNullException(nameof(orderSelectorFactory));
            EmployeeJournalFactory         = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _employeeSelectorFactory       = employeeJournalFactory.CreateEmployeeAutocompleteSelectorFactory();
            CounterpartyJournalFactory     = counterpartyJournalFactory ?? throw new ArgumentNullException(nameof(counterpartyJournalFactory));
            DeliveryPointJournalFactory    = deliveryPointJournalFactory ?? throw new ArgumentNullException(nameof(deliveryPointJournalFactory));
            SubdivisionJournalFactory      = subdivisionJournalFactory ?? throw new ArgumentNullException(nameof(subdivisionJournalFactory));
            GtkDialogsOpener               = gtkDialogsOpener ?? throw new ArgumentNullException(nameof(gtkDialogsOpener));
            UndeliveredOrdersJournalOpener =
                undeliveredOrdersJournalOpener ?? throw new ArgumentNullException(nameof(undeliveredOrdersJournalOpener));
            NomenclatureSelector        = nomenclatureSelector ?? throw new ArgumentNullException(nameof(nomenclatureSelector));
            UndeliveredOrdersRepository =
                undeliveredOrdersRepository ?? throw new ArgumentNullException(nameof(undeliveredOrdersRepository));

            Entity.ComplaintType = ComplaintType.Client;
            Entity.SetStatus(ComplaintStatuses.Checking);
            ConfigureEntityPropertyChanges();
            Entity.Phone = phone;

            _complaintKinds = complaintKindSource = UoW.GetAll <ComplaintKind>().Where(k => !k.IsArchive).ToList();

            UserHasOnlyAccessToWarehouseAndComplaints =
                ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("user_have_access_only_to_warehouse_and_complaints") &&
                !ServicesConfig.CommonServices.UserService.GetCurrentUser(UoW).IsAdmin;

            TabName = "Новая клиентская рекламация";
        }
Esempio n. 18
0
 public PromotionalSetActionWidgetResolver(
     IUnitOfWork uow,
     ICounterpartyJournalFactory counterpartySelectorFactory,
     INomenclatureRepository nomenclatureRepository,
     IUserRepository userRepository)
 {
     _uow = uow;
     _counterpartySelectorFactory = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));
     _nomenclatureRepository      = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
     _userRepository = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
 }
Esempio n. 19
0
        public OnlineStoreNomenclatureFactory(INomenclatureParametersProvider nomenclatureParametersProvider, INomenclatureRepository nomenclatureRepository)
        {
            if (nomenclatureParametersProvider == null)
            {
                throw new ArgumentNullException(nameof(nomenclatureParametersProvider));
            }
            this.nomenclatureRepository = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));

            measurementUnitForOnlineStoreNomenclatures = nomenclatureParametersProvider.MeasurementUnitForOnlineStoreNomenclatures;
            folder1cForOnlineStoreNomenclatures        = nomenclatureParametersProvider.Folder1cForOnlineStoreNomenclatures;
        }
Esempio n. 20
0
 public NomenclatureSelectorFactory(ICommonServices commonServices,
                                    NomenclatureFilterViewModel filterViewModel,
                                    IEntityAutocompleteSelectorFactory counterpartySelectorFactory,
                                    INomenclatureRepository nomenclatureRepository,
                                    IUserRepository userRepository)
 {
     this.commonServices              = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
     this.nomenclatureRepository      = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
     this.userRepository              = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
     this.counterpartySelectorFactory = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));
     filter = filterViewModel;
 }
 public WaterFixedPriceGenerator(IUnitOfWork uow, INomenclatureRepository nomenclatureRepository)
 {
     this.uow = uow;
     this.nomenclatureRepository = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
     SemiozeriePrice             = 0m;
     priceIncrement          = GetWaterPriceIncrement();
     SemiozerieWater         = nomenclatureRepository.GetWaterSemiozerie(uow);
     RuchkiWater             = nomenclatureRepository.GetWaterRuchki(uow);
     KislorodnayaWater       = nomenclatureRepository.GetWaterKislorodnaya(uow);
     SnyatogorskayaWater     = nomenclatureRepository.GetWaterSnyatogorskaya(uow);
     KislorodnayaDeluxeWater = nomenclatureRepository.GetWaterKislorodnayaDeluxe(uow);
 }
Esempio n. 22
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 контрагента не найдено.");
            }
        }
Esempio n. 23
0
        public NomenclaturePlanViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory uowFactory,
            ICommonServices commonServices,
            INomenclatureRepository nomenclatureRepository)
            : base(uowBuilder, uowFactory, commonServices)
        {
            if (nomenclatureRepository == null)
            {
                throw new ArgumentNullException(nameof(nomenclatureRepository));
            }

            ValidationContext.ServiceContainer.AddService(typeof(INomenclatureRepository), nomenclatureRepository);
        }
Esempio n. 24
0
        public DataManager()
        {
            var currencies = new HashSet <Currency>
            {
                new Currency
                {
                    Id            = 1,
                    Name          = "BGN",
                    BgExacaneRate = 1
                },

                new Currency
                {
                    Id            = 2,
                    Name          = "USD",
                    BgExacaneRate = 1.53M
                },
            };

            var nomenclatures = new HashSet <Nomenclature>
            {
                new Nomenclature
                {
                    Id       = 1,
                    Name     = "Sample Articels",
                    Price    = 100M,
                    Currency = currencies.FirstOrDefault(x => x.Name == "BGN"),
                },

                new Nomenclature
                {
                    Id       = 1,
                    Name     = "Sample Articels 12",
                    Price    = 200M,
                    Currency = currencies.FirstOrDefault(x => x.Name == "BGN"),
                },

                new Nomenclature
                {
                    Id       = 1,
                    Name     = "Sample Articels 23",
                    Price    = 300M,
                    Currency = currencies.FirstOrDefault(x => x.Name == "BGN"),
                },
            };

            this.nomenclatureRepository = new NomenclatureRepository(nomenclatures);
            this.currencyRepository     = new CurrencyRepository(currencies);
        }
Esempio n. 25
0
        public DataManager()
        {
            var currencies = new HashSet<Currency>
            {
                new Currency
                {
                    Id = 1,
                    Name = "BGN",
                    BgExacaneRate = 1
                },

                new Currency
                {
                    Id = 2,
                    Name = "USD",
                    BgExacaneRate = 1.53M
                },
            };

            var nomenclatures = new HashSet<Nomenclature>
            {
                new Nomenclature
                {
                    Id = 1,
                    Name = "Sample Articels",
                    Price = 100M,
                    Currency = currencies.FirstOrDefault(x => x.Name == "BGN"),
                },

                new Nomenclature
                {
                    Id = 1,
                    Name = "Sample Articels 12",
                    Price = 200M,
                    Currency = currencies.FirstOrDefault(x => x.Name == "BGN"),
                },

                new Nomenclature
                {
                    Id = 1,
                    Name = "Sample Articels 23",
                    Price = 300M,
                    Currency = currencies.FirstOrDefault(x => x.Name == "BGN"),
                },
            };

            this.nomenclatureRepository = new NomenclatureRepository(nomenclatures);
            this.currencyRepository = new CurrencyRepository(currencies);
        }
Esempio n. 26
0
 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();
 }
        public CreateComplaintViewModel(Counterparty client,
                                        IEntityUoWBuilder uowBuilder,
                                        IUnitOfWorkFactory unitOfWorkFactory,
                                        IEmployeeService employeeService,
                                        IEntityAutocompleteSelectorFactory employeeSelectorFactory,
                                        IEntityAutocompleteSelectorFactory counterpartySelectorFactory,
                                        ISubdivisionRepository subdivisionRepository,
                                        ICommonServices commonServices,
                                        IEntityAutocompleteSelectorFactory nomenclatureSelectorFactory,
                                        INomenclatureRepository nomenclatureRepository,
                                        IUserRepository userRepository,
                                        string phone = null) : this(uowBuilder, unitOfWorkFactory, employeeService, employeeSelectorFactory, counterpartySelectorFactory, subdivisionRepository, commonServices, nomenclatureSelectorFactory, nomenclatureRepository, userRepository, phone)
        {
            Counterparty _client = UoW.GetById <Counterparty>(client.Id);

            Entity.Counterparty = _client;
            Entity.Phone        = phone;
        }
Esempio n. 28
0
        public ComplaintViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory uowFactory,
            ICommonServices commonServices,
            IUndeliveriesViewOpener undeliveryViewOpener,
            IEmployeeService employeeService,
            IEntityAutocompleteSelectorFactory employeeSelectorFactory,
            IEntityAutocompleteSelectorFactory counterpartySelectorFactory,
            IFilePickerService filePickerService,
            ISubdivisionRepository subdivisionRepository,
            IEntityAutocompleteSelectorFactory nomenclatureSelectorFactory,
            INomenclatureRepository nomenclatureRepository,
            IUserRepository userRepository
            ) : base(uowBuilder, uowFactory, commonServices)
        {
            this.filePickerService      = filePickerService ?? throw new ArgumentNullException(nameof(filePickerService));
            this.subdivisionRepository  = subdivisionRepository ?? throw new ArgumentNullException(nameof(subdivisionRepository));
            CounterpartySelectorFactory = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));
            NomenclatureSelectorFactory = nomenclatureSelectorFactory ?? throw new ArgumentNullException(nameof(nomenclatureSelectorFactory));
            this.commonServices         = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
            this.undeliveryViewOpener   = undeliveryViewOpener ?? throw new ArgumentNullException(nameof(undeliveryViewOpener));
            EmployeeService             = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            NomenclatureRepository      = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            UserRepository = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
            this.employeeSelectorFactory = employeeSelectorFactory ?? throw new ArgumentNullException(nameof(employeeSelectorFactory));
            Entity.ObservableComplaintDiscussions.ElementChanged     += ObservableComplaintDiscussions_ElementChanged;
            Entity.ObservableComplaintDiscussions.ListContentChanged += ObservableComplaintDiscussions_ListContentChanged;
            Entity.ObservableFines.ListContentChanged += ObservableFines_ListContentChanged;

            if (uowBuilder.IsNewEntity)
            {
                AbortOpening("Невозможно создать новую рекламацию из текущего диалога, необходимо использовать диалоги создания");
            }

            if (CurrentEmployee == null)
            {
                AbortOpening("Невозможно открыть рекламацию так как к вашему пользователю не привязан сотрудник");
            }

            ConfigureEntityChangingRelations();

            CreateCommands();
            TabName = $"Рекламация №{Entity.Id} от {Entity.CreationDate.ToShortDateString()}";
        }
Esempio n. 29
0
        public OrderJournalViewModel(
            OrderJournalFilterViewModel filterViewModel,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IEmployeeService employeeService,
            IEntityAutocompleteSelectorFactory nomenclatureSelectorFactory,
            IEntityAutocompleteSelectorFactory counterpartySelectorFactory,
            INomenclatureRepository nomenclatureRepository,
            IUserRepository userRepository) : base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            this.commonServices              = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
            this.employeeService             = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            this.nomenclatureRepository      = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            this.userRepository              = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
            this.nomenclatureSelectorFactory = nomenclatureSelectorFactory ?? throw new ArgumentNullException(nameof(nomenclatureSelectorFactory));
            this.counterpartySelectorFactory = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory));

            TabName = "Журнал заказов";

            userHaveAccessToRetail = commonServices.CurrentPermissionService.ValidatePresetPermission("user_have_access_to_retail");

            RegisterOrders();
            RegisterOrdersWithoutShipmentForDebt();
            RegisterOrdersWithoutShipmentForPayment();
            RegisterOrdersWithoutShipmentForAdvancePayment();

            var threadLoader = DataLoader as ThreadDataLoader <OrderJournalNode>;

            threadLoader.MergeInOrderBy(x => x.CreateDate, true);

            FinishJournalConfiguration();

            UpdateOnChanges(
                typeof(VodovozOrder),
                typeof(OrderWithoutShipmentForDebt),
                typeof(OrderWithoutShipmentForPayment),
                typeof(OrderWithoutShipmentForAdvancePayment),
                typeof(OrderWithoutShipmentForPaymentItem),
                typeof(OrderWithoutShipmentForAdvancePaymentItem),
                typeof(OrderItem)
                );
        }
Esempio n. 30
0
        public CreateComplaintViewModel(Order order,
                                        IEntityUoWBuilder uowBuilder,
                                        IUnitOfWorkFactory unitOfWorkFactory,
                                        IEmployeeService employeeService,
                                        IEntityAutocompleteSelectorFactory employeeSelectorFactory,
                                        IEntityAutocompleteSelectorFactory counterpartySelectorFactory,
                                        ISubdivisionRepository subdivisionRepository,
                                        ICommonServices commonServices,
                                        IEntityAutocompleteSelectorFactory nomenclatureSelectorFactory,
                                        INomenclatureRepository nomenclatureRepository,
                                        IUserRepository userRepository,
                                        IFilePickerService filePickerService,
                                        string phone = null) : this(uowBuilder, unitOfWorkFactory, employeeService, employeeSelectorFactory, counterpartySelectorFactory, subdivisionRepository, commonServices, nomenclatureSelectorFactory, nomenclatureRepository, userRepository, filePickerService, phone)
        {
            Order _order = UoW.GetById <Order>(order.Id);

            Entity.Order        = _order;
            Entity.Counterparty = _order.Client;
            Entity.Phone        = phone;
        }
        public NonSerialEquipmentsForRentJournalViewModel(
            EquipmentKind equipmentKind,
            IUnitOfWorkFactory unitOfWorkFactory,
            IInteractiveService interactiveService,
            INomenclatureRepository nomenclatureRepository,
            INavigationManager navigation) : base(unitOfWorkFactory, interactiveService, navigation)
        {
            _equipmentKind          = equipmentKind;
            _nomenclatureRepository = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));

            TabName = "Оборудование для аренды";

            var dataLoader = new ThreadDataLoader <NomenclatureForRentNode>(unitOfWorkFactory);

            dataLoader.AddQuery(ItemsQuery);
            DataLoader = dataLoader;

            SelectionMode = JournalSelectionMode.Single;
            CreateNodeActions();
        }