Ejemplo n.º 1
0
        private void Initialize()
        {
            CounterpartySelectorFactory = new DefaultEntityAutocompleteSelectorFactory <Counterparty,
                                                                                        CounterpartyJournalViewModel,
                                                                                        CounterpartyJournalFilterViewModel>(CommonServices);

            EmployeeSelectorFactory =
                new EntityAutocompleteSelectorFactory <EmployeesJournalViewModel>(typeof(Employee),
                                                                                  () => {
                var filter = new EmployeeFilterViewModel {
                    Status = EmployeeStatus.IsWorking, RestrictCategory = EmployeeCategory.office
                };
                return(new EmployeesJournalViewModel(filter, UnitOfWorkFactory, CommonServices));
            });

            OrderSelectorFactory = new DefaultEntityAutocompleteSelectorFactory <Order,
                                                                                 OrderJournalViewModel,
                                                                                 OrderJournalFilterViewModel>(CommonServices);

            /*
             * SubdivisionSelectorFactory = new DefaultEntityAutocompleteSelectorFactory<Subdivision,
             *                                                                                                                                                      SubdivisionsJournalViewModel,
             *                                                                                                                                                      SubdivisionFilterViewModel>(CommonServices);
             */
        }
Ejemplo n.º 2
0
        public SetBillsReport(IUnitOfWorkFactory unitOfWorkFactory)
        {
            this.Build();

            UoW = unitOfWorkFactory.CreateWithoutRoot();

            daterangepickerOrderCreation.StartDate = DateTime.Now;
            daterangepickerOrderCreation.EndDate   = DateTime.Now;
            ybuttonCreateReport.Clicked           += (sender, e) => { OnUpdate(true); };
            ybuttonCreateReport.TooltipText        = $"Формирует отчет по заказам в статусе '{OrderStatus.WaitForPayment.GetEnumTitle()}'";

            entrySubdivision.SetEntityAutocompleteSelectorFactory(
                new EntityAutocompleteSelectorFactory <SubdivisionsJournalViewModel>(typeof(Subdivision),
                                                                                     () => {
                var filter = new SubdivisionFilterViewModel();
                var employeeAutoCompleteSelectorFactory =
                    new DefaultEntityAutocompleteSelectorFactory <Employee, EmployeesJournalViewModel, EmployeeFilterViewModel>(
                        ServicesConfig.CommonServices);

                return(new SubdivisionsJournalViewModel(
                           filter,
                           unitOfWorkFactory,
                           ServicesConfig.CommonServices,
                           employeeAutoCompleteSelectorFactory
                           ));
            })
                );
        }
Ejemplo n.º 3
0
        public IEntitySelector CreateNomenclatureOfGoodsWithoutEmptyBottlesSelector(IEnumerable <int> excludedNomenclatures = null)
        {
            NomenclatureFilterViewModel nomenclatureFilter = new NomenclatureFilterViewModel();

            nomenclatureFilter.RestrictArchive     = true;
            nomenclatureFilter.AvailableCategories = Nomenclature.GetCategoriesForGoodsWithoutEmptyBottles();

            var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider()));
            var userRepository         = new UserRepository();

            var counterpartySelectorFactory =
                new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>(
                    ServicesConfig.CommonServices);

            var nomenclatureSelectorFactory =
                new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(
                    ServicesConfig.CommonServices, nomenclatureFilter, counterpartySelectorFactory, nomenclatureRepository,
                    userRepository);

            NomenclaturesJournalViewModel vm = new NomenclaturesJournalViewModel(
                nomenclatureFilter,
                UnitOfWorkFactory.GetDefaultFactory,
                ServicesConfig.CommonServices,
                new EmployeeService(),
                nomenclatureSelectorFactory,
                counterpartySelectorFactory,
                nomenclatureRepository,
                userRepository
                );

            vm.SelectionMode = JournalSelectionMode.Single;

            return(vm);
        }
Ejemplo n.º 4
0
        public IEntitySelector CreateNomenclatureSelectorForFuelSelect()
        {
            NomenclatureFilterViewModel nomenclatureFilter = new NomenclatureFilterViewModel();

            nomenclatureFilter.RestrictCategory = NomenclatureCategory.fuel;
            nomenclatureFilter.RestrictArchive  = false;

            var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider());

            var counterpartySelectorFactory =
                new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>(
                    ServicesConfig.CommonServices);

            var nomenclatureSelectorFactory =
                new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(
                    ServicesConfig.CommonServices, nomenclatureFilter, counterpartySelectorFactory, nomenclatureRepository,
                    UserSingletonRepository.GetInstance());

            NomenclaturesJournalViewModel vm = new NomenclaturesJournalViewModel(
                nomenclatureFilter,
                UnitOfWorkFactory.GetDefaultFactory,
                ServicesConfig.CommonServices,
                new EmployeeService(),
                nomenclatureSelectorFactory,
                counterpartySelectorFactory,
                nomenclatureRepository,
                UserSingletonRepository.GetInstance()
                );

            vm.SelectionMode = JournalSelectionMode.Multiple;

            return(vm);
        }
Ejemplo n.º 5
0
    void ActionOrdersTableActivated(object sender, System.EventArgs e)
    {
        var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider());

        IEntityAutocompleteSelectorFactory counterpartySelectorFactory =
            new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel,
                                                          CounterpartyJournalFilterViewModel>(ServicesConfig.CommonServices);

        IEntityAutocompleteSelectorFactory nomenclatureSelectorFactory =
            new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(ServicesConfig.CommonServices,
                                                                                                      new NomenclatureFilterViewModel(), counterpartySelectorFactory, nomenclatureRepository,
                                                                                                      UserSingletonRepository.GetInstance());

        OrderJournalFilterViewModel filter = new OrderJournalFilterViewModel()
        {
            IsForRetail = false
        };
        var ordersJournal = new OrderJournalViewModel(filter,
                                                      UnitOfWorkFactory.GetDefaultFactory,
                                                      ServicesConfig.CommonServices,
                                                      VodovozGtkServicesConfig.EmployeeService,
                                                      nomenclatureSelectorFactory,
                                                      counterpartySelectorFactory,
                                                      nomenclatureRepository,
                                                      UserSingletonRepository.GetInstance());

        tdiMain.AddTab(ordersJournal);
    }
Ejemplo n.º 6
0
    void ActionNewRequestToSupplier_Activated(object sender, System.EventArgs e)
    {
        var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider());

        IEntityAutocompleteSelectorFactory counterpartySelectorFactory =
            new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel,
                                                          CounterpartyJournalFilterViewModel>(ServicesConfig.CommonServices);

        IEntityAutocompleteSelectorFactory nomenclatureSelectorFactory =
            new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(ServicesConfig.CommonServices,
                                                                                                      new NomenclatureFilterViewModel(), counterpartySelectorFactory, nomenclatureRepository,
                                                                                                      UserSingletonRepository.GetInstance());

        tdiMain.OpenTab(
            DialogHelper.GenerateDialogHashName <RequestToSupplier>(0),
            () => new RequestToSupplierViewModel(
                EntityUoWBuilder.ForCreate(),
                UnitOfWorkFactory.GetDefaultFactory,
                ServicesConfig.CommonServices,
                VodovozGtkServicesConfig.EmployeeService,
                new SupplierPriceItemsRepository(),
                counterpartySelectorFactory,
                nomenclatureSelectorFactory,
                nomenclatureRepository,
                UserSingletonRepository.GetInstance()
                )
            );
    }
Ejemplo n.º 7
0
    void ActionJournalOfRequestsToSuppliers_Activated(object sender, System.EventArgs e)
    {
        var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider());

        IEntityAutocompleteSelectorFactory counterpartySelectorFactory =
            new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel,
                                                          CounterpartyJournalFilterViewModel>(ServicesConfig.CommonServices);

        IEntityAutocompleteSelectorFactory nomenclatureSelectorFactory =
            new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(ServicesConfig.CommonServices,
                                                                                                      new NomenclatureFilterViewModel(), counterpartySelectorFactory, nomenclatureRepository,
                                                                                                      UserSingletonRepository.GetInstance());

        RequestsToSuppliersFilterViewModel filter = new RequestsToSuppliersFilterViewModel(nomenclatureSelectorFactory);

        var requestsJournal = new RequestsToSuppliersJournalViewModel(
            filter,
            UnitOfWorkFactory.GetDefaultFactory,
            ServicesConfig.CommonServices,
            VodovozGtkServicesConfig.EmployeeService,
            new SupplierPriceItemsRepository(),
            counterpartySelectorFactory,
            nomenclatureSelectorFactory,
            nomenclatureRepository,
            UserSingletonRepository.GetInstance()
            );

        tdiMain.AddTab(requestsJournal);
    }
Ejemplo n.º 8
0
        public IEntityAutocompleteSelector CreateAutocompleteSelector(bool multipleSelect = false)
        {
            NomenclatureFilterViewModel nomenclatureFilter = new NomenclatureFilterViewModel();

            nomenclatureFilter.RestrictCategory = NomenclatureCategory.fuel;
            nomenclatureFilter.RestrictArchive  = false;

            var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider()));
            var userRepository         = new UserRepository();

            var counterpartySelectorFactory =
                new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>(
                    ServicesConfig.CommonServices);

            var nomenclatureSelectorFactory =
                new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(
                    ServicesConfig.CommonServices, nomenclatureFilter, counterpartySelectorFactory, nomenclatureRepository, userRepository);

            WaterJournalViewModel waterJournal = new WaterJournalViewModel(
                UnitOfWorkFactory.GetDefaultFactory,
                ServicesConfig.CommonServices,
                new EmployeeService(),
                nomenclatureSelectorFactory,
                counterpartySelectorFactory,
                nomenclatureRepository,
                userRepository
                );

            waterJournal.SelectionMode = multipleSelect ? JournalSelectionMode.Multiple : JournalSelectionMode.Single;
            return(waterJournal);
        }
Ejemplo n.º 9
0
        public void CreateComplaint(Order order)
        {
            if (order != null)
            {
                var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider());

                IEntityAutocompleteSelectorFactory employeeSelectorFactory =
                    new DefaultEntityAutocompleteSelectorFactory <Employee, EmployeesJournalViewModel, EmployeeFilterViewModel>(
                        ServicesConfig.CommonServices);

                IEntityAutocompleteSelectorFactory counterpartySelectorFactory =
                    new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel,
                                                                  CounterpartyJournalFilterViewModel>(ServicesConfig.CommonServices);

                IEntityAutocompleteSelectorFactory nomenclatureSelectorFactory =
                    new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(ServicesConfig
                                                                                                              .CommonServices, new NomenclatureFilterViewModel(), counterpartySelectorFactory,
                                                                                                              nomenclatureRepository, UserSingletonRepository.GetInstance());

                ISubdivisionRepository subdivisionRepository = new SubdivisionRepository();

                var parameters = new Dictionary <string, object> {
                    { "order", order },
                    { "uowBuilder", EntityUoWBuilder.ForCreate() },
                    { "unitOfWorkFactory", UnitOfWorkFactory.GetDefaultFactory },
                    { "employeeSelectorFactory", employeeSelectorFactory },
                    { "counterpartySelectorFactory", counterpartySelectorFactory },
                    { "subdivisionService", subdivisionRepository },
                    { "nomenclatureSelectorFactory", nomenclatureSelectorFactory },
                    { "nomenclatureRepository", nomenclatureRepository },
                    { "phone", "+7" + this.MangoManager.CurrentCall.Phone.Number }
                };
                tdiNavigation.OpenTdiTabOnTdiNamedArgs <CreateComplaintViewModel>(null, parameters);
            }
        }
Ejemplo n.º 10
0
        private void ConfigureDlg()
        {
            yentryName.Binding
            .AddBinding(ViewModel.Entity, e => e.Name, (widget) => widget.Text)
            .InitializeFromSource();

            yentryNumbering.Binding
            .AddBinding(ViewModel.Entity, e => e.Numbering, (widget) => widget.Text)
            .InitializeFromSource();

            #region ParentEntityviewmodelentry
            ParentEntityviewmodelentry.SetEntityAutocompleteSelectorFactory(ViewModel.ExpenseCategoryAutocompleteSelectorFactory);
            ParentEntityviewmodelentry.Binding.AddBinding(ViewModel.Entity, s => s.Parent, w => w.Subject).InitializeFromSource();
            ParentEntityviewmodelentry.CanEditReference = true;
            #endregion


            #region SubdivisionEntityviewmodelentry
            //Это создается тут, а не в ExpenseCategoryViewModel потому что EmployeesJournalViewModel и EmployeeFilterViewModel нет в ViewModels
            var employeeSelectorFactory =
                new DefaultEntityAutocompleteSelectorFactory
                <Employee, EmployeesJournalViewModel, EmployeeFilterViewModel>(ServicesConfig.CommonServices);

            var filter = new SubdivisionFilterViewModel()
            {
                SubdivisionType = SubdivisionType.Default
            };

            SubdivisionEntityviewmodelentry.SetEntityAutocompleteSelectorFactory(
                new EntityAutocompleteSelectorFactory <SubdivisionsJournalViewModel>(typeof(Subdivision), () => {
                return(new SubdivisionsJournalViewModel(
                           filter,
                           UnitOfWorkFactory.GetDefaultFactory,
                           ServicesConfig.CommonServices,
                           employeeSelectorFactory
                           ));
            })
                );
            SubdivisionEntityviewmodelentry.Binding.AddBinding(ViewModel.Entity, s => s.Subdivision, w => w.Subject).InitializeFromSource();
            #endregion

            ycheckArchived.Binding.AddBinding(ViewModel, e => e.IsArchive, w => w.Active).InitializeFromSource();



            yenumTypeDocument.ItemsEnum = typeof(ExpenseInvoiceDocumentType);
            yenumTypeDocument.Binding.AddBinding(ViewModel.Entity, e => e.ExpenseDocumentType, w => w.SelectedItem).InitializeFromSource();

            buttonSave.Clicked   += (sender, e) => { ViewModel.SaveAndClose(); };
            buttonCancel.Clicked += (sender, e) => { ViewModel.Close(false, QS.Navigation.CloseSource.Cancel); };
        }
Ejemplo n.º 11
0
        private void Initialize()
        {
            CounterpartySelectorFactory = new DefaultEntityAutocompleteSelectorFactory <Counterparty,
                                                                                        CounterpartyJournalViewModel,
                                                                                        CounterpartyJournalFilterViewModel>(CommonServices);

            EmployeeSelectorFactory = new EmployeeJournalFactory().CreateWorkingOfficeEmployeeAutocompleteSelectorFactory();

            OrderSelectorFactory = new DefaultEntityAutocompleteSelectorFactory <Order,
                                                                                 OrderJournalViewModel,
                                                                                 OrderJournalFilterViewModel>(CommonServices);

            /*
             * SubdivisionSelectorFactory = new DefaultEntityAutocompleteSelectorFactory<Subdivision,
             *                                                                                                                                                      SubdivisionsJournalViewModel,
             *                                                                                                                                                      SubdivisionFilterViewModel>(CommonServices);
             */
        }
Ejemplo n.º 12
0
        protected void OnButtonChangeNewClicked(object sender, EventArgs e)
        {
            var filter = new NomenclatureFilterViewModel();

            var nomenclatureRepository = new EntityRepositories.Goods.NomenclatureRepository(new NomenclatureParametersProvider());

            var userRepository = UserSingletonRepository.GetInstance();

            var employeeService = VodovozGtkServicesConfig.EmployeeService;

            var counterpartySelectorFactory =
                new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>(
                    ServicesConfig.CommonServices);

            var nomenclatureAutoCompleteSelectorFactory =
                new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(
                    ServicesConfig.CommonServices,
                    filter,
                    counterpartySelectorFactory,
                    nomenclatureRepository,
                    userRepository
                    );

            var nomenclaturesJournalViewModel =
                new NomenclaturesJournalViewModel(
                    filter,
                    UnitOfWorkFactory.GetDefaultFactory,
                    ServicesConfig.CommonServices,
                    employeeService,
                    nomenclatureAutoCompleteSelectorFactory,
                    counterpartySelectorFactory,
                    nomenclatureRepository,
                    userRepository
                    );

            nomenclaturesJournalViewModel.SelectionMode           = JournalSelectionMode.Single;
            nomenclaturesJournalViewModel.OnEntitySelectedResult += ChangeNewNomenclature_OnEntitySelectedResult;

            MyTab.TabParent.AddSlaveTab(MyTab, nomenclaturesJournalViewModel);
        }
Ejemplo n.º 13
0
        private void ConfigureSubdivision()
        {
            if (canManageDriversAndForwarders && !canManageOfficeWorkers)
            {
                var entityentrySubdivision = new EntityViewModelEntry();
                entityentrySubdivision.SetEntityAutocompleteSelectorFactory(
                    new EntityAutocompleteSelectorFactory <SubdivisionsJournalViewModel>(typeof(Subdivision), () => {
                    var filter             = new SubdivisionFilterViewModel();
                    filter.SubdivisionType = SubdivisionType.Logistic;
                    IEntityAutocompleteSelectorFactory employeeSelectorFactory =
                        new DefaultEntityAutocompleteSelectorFactory
                        <Employee, EmployeesJournalViewModel, EmployeeFilterViewModel>(ServicesConfig.CommonServices);
                    return(new SubdivisionsJournalViewModel(
                               filter,
                               UnitOfWorkFactory.GetDefaultFactory,
                               ServicesConfig.CommonServices,
                               employeeSelectorFactory
                               ));
                })
                    );
                entityentrySubdivision.Binding.AddBinding(Entity, e => e.Subdivision, w => w.Subject).InitializeFromSource();
                hboxSubdivision.Add(entityentrySubdivision);
                hboxSubdivision.ShowAll();
                return;
            }

            var entrySubdivision = new yEntryReference();

            entrySubdivision.SubjectType = typeof(Subdivision);
            entrySubdivision.Binding.AddBinding(Entity, e => e.Subdivision, w => w.Subject).InitializeFromSource();
            hboxSubdivision.Add(entrySubdivision);
            hboxSubdivision.ShowAll();

            if (!canManageOfficeWorkers && !canManageDriversAndForwarders)
            {
                entrySubdivision.Sensitive = false;
            }
        }
Ejemplo n.º 14
0
        public IEntityAutocompleteSelectorFactory CreateNomenclatureForFlyerJournalFactory() =>
        new EntityAutocompleteSelectorFactory <NomenclaturesJournalViewModel>(
            typeof(Nomenclature),
            () =>
        {
            var filter = new NomenclatureFilterViewModel
            {
                RestrictCategory = NomenclatureCategory.additional, RestrictArchive = false
            };

            var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider()));
            var userRepository         = new UserRepository();

            var counterpartySelectorFactory =
                new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>(
                    ServicesConfig.CommonServices);

            var nomenclatureSelectorFactory =
                new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(
                    ServicesConfig.CommonServices, filter, counterpartySelectorFactory, nomenclatureRepository, userRepository);

            var journal = new NomenclaturesJournalViewModel(
                filter,
                UnitOfWorkFactory.GetDefaultFactory,
                ServicesConfig.CommonServices,
                new EmployeeService(),
                nomenclatureSelectorFactory,
                counterpartySelectorFactory,
                nomenclatureRepository,
                userRepository)
            {
                SelectionMode = JournalSelectionMode.Single
            };

            return(journal);
        }
            );
Ejemplo n.º 15
0
        public IEntityAutocompleteSelectorFactory GetDefaultWaterSelectorFactory()
        {
            var nomenclatureFilter = new NomenclatureFilterViewModel {
                HidenByDefault = true
            };

            nomenclatureFilter.SetAndRefilterAtOnce(
                x => x.RestrictCategory = NomenclatureCategory.water,
                x => x.RestrictDilers   = true
                );

            var counterpartySelectorFactory =
                new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>(
                    ServicesConfig.CommonServices);
            var nomRep         = new NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider()));
            var userRepository = new UserRepository();

            var nomenclatureSelectorFactory =
                new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(
                    ServicesConfig.CommonServices, nomenclatureFilter, counterpartySelectorFactory, nomRep, userRepository);

            var journalViewModel = new NomenclaturesJournalViewModel(
                nomenclatureFilter,
                UnitOfWorkFactory.GetDefaultFactory,
                ServicesConfig.CommonServices,
                new EmployeeService(),
                nomenclatureSelectorFactory,
                counterpartySelectorFactory,
                nomRep,
                userRepository)
            {
                SelectionMode = JournalSelectionMode.Single,
            };

            return(new EntityAutocompleteSelectorFactory <NomenclaturesJournalViewModel>(typeof(Nomenclature), () => journalViewModel));
        }
Ejemplo n.º 16
0
        protected void OnButtonAddClicked(object sender, EventArgs e)
        {
            NomenclatureStockFilterViewModel filter = new NomenclatureStockFilterViewModel(
                new WarehouseRepository()
                );

            filter.RestrictWarehouse = DocumentUoW.Root.Warehouse;

            NomenclatureStockBalanceJournalViewModel vm = new NomenclatureStockBalanceJournalViewModel(
                filter,
                UnitOfWorkFactory.GetDefaultFactory,
                ServicesConfig.CommonServices
                );

            vm.SelectionMode           = JournalSelectionMode.Single;
            vm.TabName                 = "Выберите номенклатуру на замену";
            vm.OnEntitySelectedResult += (s, ea) => {
                var selectedNode = ea.SelectedNodes.Cast <NomenclatureStockJournalNode>().FirstOrDefault();
                if (selectedNode == null)
                {
                    return;
                }
                var nomenclature = DocumentUoW.GetById <Nomenclature>(selectedNode.Id);

                newRow = new RegradingOfGoodsDocumentItem()
                {
                    NomenclatureOld = nomenclature,
                    AmountInStock   = selectedNode.StockAmount
                };

                var nomenclatureFilter = new NomenclatureFilterViewModel();

                var nomenclatureRepository = new EntityRepositories.Goods.NomenclatureRepository(new NomenclatureParametersProvider());

                var userRepository = UserSingletonRepository.GetInstance();

                var employeeService = VodovozGtkServicesConfig.EmployeeService;

                var counterpartySelectorFactory =
                    new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>(
                        ServicesConfig.CommonServices);

                var nomenclatureAutoCompleteSelectorFactory =
                    new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(
                        ServicesConfig.CommonServices,
                        nomenclatureFilter,
                        counterpartySelectorFactory,
                        nomenclatureRepository,
                        userRepository
                        );

                var nomenclaturesJournalViewModel =
                    new NomenclaturesJournalViewModel(
                        nomenclatureFilter,
                        UnitOfWorkFactory.GetDefaultFactory,
                        ServicesConfig.CommonServices,
                        employeeService,
                        nomenclatureAutoCompleteSelectorFactory,
                        counterpartySelectorFactory,
                        nomenclatureRepository,
                        userRepository
                        );

                nomenclaturesJournalViewModel.SelectionMode           = JournalSelectionMode.Single;
                nomenclaturesJournalViewModel.OnEntitySelectedResult += SelectNewNomenclature_ObjectSelected;

                MyTab.TabParent.AddSlaveTab(MyTab, nomenclaturesJournalViewModel);
            };
            MyTab.TabParent.AddSlaveTab(MyTab, vm);
        }
Ejemplo n.º 17
0
        private void ConfigureDlg()
        {
            #region EntityViewModelEntry

            //Автор
            var currentEmployee = ViewModel.CurrentEmployee;
            AuthorEntityviewmodelentry.SetEntityAutocompleteSelectorFactory(
                new EntityAutocompleteSelectorFactory <EmployeesJournalViewModel>(typeof(Employee),
                                                                                  () =>
            {
                var employeeFilter = new EmployeeFilterViewModel
                {
                    Status = EmployeeStatus.IsWorking,
                };
                return(new EmployeesJournalViewModel(
                           employeeFilter,
                           UnitOfWorkFactory.GetDefaultFactory,
                           ServicesConfig.CommonServices));
            })
                );
            AuthorEntityviewmodelentry.Binding.AddBinding(ViewModel.Entity, x => x.Author, w => w.Subject)
            .InitializeFromSource();

            if (ViewModel.IsNewEntity)
            {
                ViewModel.Entity.Author = currentEmployee;
            }

            AuthorEntityviewmodelentry.Sensitive = false;

            //Подразделение
            var employeeSelectorFactory =
                new DefaultEntityAutocompleteSelectorFactory
                <Employee, EmployeesJournalViewModel, EmployeeFilterViewModel>(ServicesConfig.CommonServices);

            var filter = new SubdivisionFilterViewModel()
            {
                SubdivisionType = SubdivisionType.Default
            };

            SubdivisionEntityviewmodelentry.SetEntityAutocompleteSelectorFactory(
                new EntityAutocompleteSelectorFactory <SubdivisionsJournalViewModel>(
                    typeof(Subdivision),
                    () => new SubdivisionsJournalViewModel(
                        filter,
                        UnitOfWorkFactory.GetDefaultFactory,
                        ServicesConfig.CommonServices,
                        employeeSelectorFactory
                        )
                    )
                );
            SubdivisionEntityviewmodelentry.Binding
            .AddBinding(
                ViewModel.Entity,
                s => s.Subdivision,
                w => w.Subject)
            .InitializeFromSource();
            SubdivisionEntityviewmodelentry.Sensitive = false;
            ViewModel.Entity.Subdivision = currentEmployee.Subdivision;

            //Причина расхода
            ExpenseCategoryEntityviewmodelentry
            .SetEntityAutocompleteSelectorFactory(ViewModel.ExpenseCategoryAutocompleteSelectorFactory);

            ExpenseCategoryEntityviewmodelentry.Binding.AddBinding(
                ViewModel.Entity,
                s => s.ExpenseCategory,
                w => w.Subject)
            .InitializeFromSource();

            ExpenseCategoryEntityviewmodelentry.CanEditReference = true;

            #endregion EntityViewModelEntry

            #region Combo

            //Организация
            speccomboOrganization.SetRenderTextFunc <Organization>(s => s.Name);
            var orgList = ViewModel.UoW.Session.QueryOver <Organization>().List();
            speccomboOrganization.ItemsList = orgList;
            speccomboOrganization.Binding.AddBinding(
                ViewModel.Entity,
                x => x.Organization,
                x => x.SelectedItem)
            .InitializeFromSource();

            if (speccomboOrganization.SelectedItem == null)
            {
                speccomboOrganization.SelectedItem = orgList.First();
            }

            //Смена ролей для админов
            comboIfAdminRoleChooser.ItemsEnum = typeof(UserRole);
            comboIfAdminRoleChooser.Binding.AddBinding(
                ViewModel,
                e => CashRequestViewModel.savedUserRole,
                w => w.SelectedItem).InitializeFromSource();
            comboIfAdminRoleChooser.SelectedItem = ViewModel.UserRole;
            comboIfAdminRoleChooser.Visible      = ViewModel.IsAdminPanelVisible;
            ybtnAdminRoleRemember.Visible        = ViewModel.IsAdminPanelVisible;
            ybtnAdminRoleRemember.Clicked       += (sender, args) => { ViewModel.RememberRole(comboIfAdminRoleChooser.SelectedItem); };

            #endregion

            #region TextEntry

            //Пояснение
            yentryExplanation.Binding
            .AddBinding(
                ViewModel.Entity,
                e => e.Explanation,
                (widget) => widget.Text)
            .InitializeFromSource();

            //Основание
            yentryGround.Binding
            .AddBinding(
                ViewModel.Entity,
                e => e.Basis,
                (widget) => widget.Buffer.Text)
            .InitializeFromSource();
            yentryGround.WrapMode = WrapMode.Word;

            //Причина отмены
            yentryCancelReason.Binding
            .AddBinding(
                ViewModel.Entity,
                e => e.CancelReason,
                (widget) => widget.Buffer.Text)
            .InitializeFromSource();
            yentryCancelReason.WrapMode = WrapMode.Word;


            //Причина отправки на пересогласование
            yentryReasonForSendToReapproval.Binding
            .AddBinding(
                ViewModel.Entity,
                e => e.ReasonForSendToReappropriate,
                (widget) => widget.Buffer.Text)
            .InitializeFromSource();
            yentryReasonForSendToReapproval.WrapMode = WrapMode.Word;


            #endregion TextEntry

            #region Buttons

            ybtnAccept.Clicked += (sender, args) =>
            {
                ViewModel.AcceptCommand.Execute();
            };
            ybtnApprove.Clicked += (sender, args) => ViewModel.ApproveCommand.Execute();
            ybtnCancel.Clicked  += (sender, args) => ViewModel.CancelCommand.Execute();
            //Передать на выдачу
            ybtnConveyForResults.Clicked += (sender, args) => ViewModel.ConveyForResultsCommand.Execute();
            //Отправить на пересогласование
            ybtnReturnForRenegotiation.Clicked += (sender, args) => ViewModel.ReturnToRenegotiationCommand.Execute();

            ybtnGiveSumm.Clicked += (sender, args) => ViewModel.GiveSumCommand.Execute();
            ybtnGiveSumm.Binding.AddBinding(ViewModel, vm => vm.CanGiveSum, w => w.Visible).InitializeFromSource();
            ybtnGiveSumm.Sensitive = ViewModel.Entity.ObservableSums.Any(x => x.Expense == null);


            ybtnAddSumm.Clicked    += (sender, args) => ViewModel.AddSumCommand.Execute();
            ybtnEditSum.Clicked    += (sender, args) => ViewModel.EditSumCommand.Execute();
            ybtnDeleteSumm.Clicked += (sender, args) => ViewModel.DeleteSumCommand.Execute();
            ybtnEditSum.Binding.AddBinding(ViewModel, vm => vm.CanEditSumSensitive, w => w.Sensitive).InitializeFromSource();

            //Visible
            ybtnAccept.Binding.AddBinding(ViewModel, vm => vm.CanAccept, w => w.Visible).InitializeFromSource();
            ybtnApprove.Binding.AddBinding(ViewModel, vm => vm.CanApprove, w => w.Visible).InitializeFromSource();
            ybtnCancel.Binding.AddBinding(ViewModel, vm => vm.CanCancel, w => w.Visible).InitializeFromSource();
            ybtnConveyForResults.Binding.AddBinding(ViewModel, vm => vm.CanConveyForResults, w => w.Visible).InitializeFromSource();
            ybtnReturnForRenegotiation.Binding.AddBinding(ViewModel, vm => vm.CanReturnToRenegotiation, w => w.Visible).InitializeFromSource();
            ybtnDeleteSumm.Binding.AddBinding(ViewModel, vm => vm.CanDeleteSum, w => w.Visible).InitializeFromSource();
            ybtnEditSum.Visible   = false;
            buttonSave.Clicked   += (sender, args) => ViewModel.AfterSaveCommand.Execute();
            buttonCancel.Clicked += (s, e) => { ViewModel.Close(false, QS.Navigation.CloseSource.Cancel); };

            #endregion Buttons

            #region Editibility

            yentryCancelReason.Binding.AddBinding(ViewModel, vm => vm.CanEditOnlyCoordinator, w => w.Sensitive).InitializeFromSource();
            ExpenseCategoryEntityviewmodelentry.Binding.AddBinding(ViewModel, vm => vm.ExpenseCategorySensitive, w => w.Sensitive).InitializeFromSource();
            speccomboOrganization.Binding.AddBinding(ViewModel, vm => vm.CanEditOnlyinStateNAGandRoldFinancier, w => w.Sensitive).InitializeFromSource();

            #endregion Editibility

            #region Visibility

            labelBalansOrganizations.Visible  = ViewModel.VisibleOnlyForFinancer;
            ylabelBalansOrganizations.Visible = ViewModel.VisibleOnlyForFinancer;

            speccomboOrganization.Visible  = ViewModel.VisibleOnlyForFinancer;
            labelcomboOrganization.Visible = ViewModel.VisibleOnlyForFinancer;

            labelCategoryEntityviewmodelentry.Binding.AddBinding(ViewModel, vm => vm.ExpenseCategoryVisibility, w => w.Visible);
            ExpenseCategoryEntityviewmodelentry.Binding.AddBinding(ViewModel, vm => vm.ExpenseCategoryVisibility, w => w.Visible);

            yentryReasonForSendToReapproval.Visible = ViewModel.VisibleOnlyForStatusUpperThanCreated;
            labelReasonForSendToReapproval.Visible  = ViewModel.VisibleOnlyForStatusUpperThanCreated;

            yentryCancelReason.Visible = ViewModel.VisibleOnlyForStatusUpperThanCreated;
            labelCancelReason.Visible  = ViewModel.VisibleOnlyForStatusUpperThanCreated;

            if (ViewModel.Entity.State == CashRequest.States.New)
            {
                hseparator1.Visible = false;
                hseparator2.Visible = false;
                hseparator3.Visible = false;
            }

            #endregion Visibility

            ConfigureTreeView();

            ycheckHaveReceipt.Binding.AddBinding(
                ViewModel.Entity,
                e => e.HaveReceipt,
                w => w.Active)
            .InitializeFromSource();

            ylabelBalansOrganizations.Text = ViewModel.LoadOrganizationsSums();

            ylabelRole.Binding.AddFuncBinding(
                ViewModel,
                vm => vm.UserRole.GetEnumTitle(),
                w => w.Text
                ).InitializeFromSource();
            ylabelStatus.Binding.AddBinding(
                ViewModel,
                vm => vm.StateName,
                w => w.Text
                ).InitializeFromSource();
            ylabelStatus.Text = ViewModel.Entity.State.GetEnumTitle();

            if (ViewModel.Entity.State == CashRequest.States.Closed)
            {
                ytreeviewSums.Sensitive                   = false;
                ybtnAddSumm.Sensitive                     = false;
                ybtnAccept.Sensitive                      = false;
                ybtnApprove.Sensitive                     = false;
                ybtnCancel.Sensitive                      = false;
                ybtnDeleteSumm.Sensitive                  = false;
                ybtnEditSum.Sensitive                     = false;
                ybtnGiveSumm.Sensitive                    = false;
                ybtnConveyForResults.Sensitive            = false;
                ybtnReturnForRenegotiation.Sensitive      = false;
                speccomboOrganization.Sensitive           = false;
                yentryExplanation.Sensitive               = false;
                yentryGround.Sensitive                    = false;
                yentryCancelReason.Sensitive              = false;
                yentryReasonForSendToReapproval.Sensitive = false;
            }
        }
Ejemplo n.º 18
0
        void ConfigureDlg()
        {
            if (StoreDocumentHelper.CheckAllPermissions(UoW.IsNew, WarehousePermissions.IncomingWaterEdit, Entity.IncomingWarehouse, Entity.WriteOffWarehouse))
            {
                FailInitialize = true;
                return;
            }

            var editing = StoreDocumentHelper.CanEditDocument(WarehousePermissions.IncomingWaterEdit, Entity.IncomingWarehouse, Entity.WriteOffWarehouse);

            buttonFill.Sensitive = yentryProduct.IsEditable = spinAmount.Sensitive
                                                                  = referenceSrcWarehouse.IsEditable = referenceDstWarehouse.IsEditable = editing;
            incomingwatermaterialview1.Sensitive = editing;

            labelTimeStamp.Binding.AddBinding(Entity, e => e.DateString, w => w.LabelProp).InitializeFromSource();
            spinAmount.Binding.AddBinding(Entity, e => e.Amount, w => w.ValueAsInt).InitializeFromSource();

            referenceSrcWarehouse.ItemsQuery = StoreDocumentHelper.GetRestrictedWarehouseQuery(WarehousePermissions.IncomingWaterEdit);
            referenceSrcWarehouse.Binding.AddBinding(Entity, e => e.WriteOffWarehouse, w => w.Subject).InitializeFromSource();
            referenceDstWarehouse.ItemsQuery = StoreDocumentHelper.GetRestrictedWarehouseQuery(WarehousePermissions.IncomingWaterEdit);
            referenceDstWarehouse.Binding.AddBinding(Entity, e => e.IncomingWarehouse, w => w.Subject).InitializeFromSource();

            incomingwatermaterialview1.DocumentUoW = UoWGeneric;

            var permmissionValidator = new EntityExtendedPermissionValidator(PermissionExtensionSingletonStore.GetInstance(), EmployeeSingletonRepository.GetInstance());

            Entity.CanEdit = permmissionValidator.Validate(typeof(IncomingWater), UserSingletonRepository.GetInstance().GetCurrentUser(UoW).Id, nameof(RetroactivelyClosePermission));
            if (!Entity.CanEdit && Entity.TimeStamp.Date != DateTime.Now.Date)
            {
                spinAmount.Binding.AddFuncBinding(Entity, e => e.CanEdit, w => w.Sensitive).InitializeFromSource();
                yentryProduct.Sensitive              = false;
                referenceDstWarehouse.Sensitive      = false;
                referenceSrcWarehouse.Sensitive      = false;
                buttonFill.Sensitive                 = false;
                incomingwatermaterialview1.Sensitive = false;
                buttonSave.Sensitive                 = false;
            }
            else
            {
                Entity.CanEdit = true;
            }

            var nomenclatureFilter = new NomenclatureFilterViewModel()
            {
                HidenByDefault = true
            };
            var nomenclatureRepository = new EntityRepositories.Goods.NomenclatureRepository(new NomenclatureParametersProvider());

            var counterpartySelectorFactory =
                new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>(
                    ServicesConfig.CommonServices);

            var nomenclatureAutoCompleteSelectorFactory =
                new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(
                    ServicesConfig.CommonServices,
                    nomenclatureFilter,
                    counterpartySelectorFactory,
                    nomenclatureRepository,
                    UserSingletonRepository.GetInstance()
                    );

            yentryProduct.SetEntityAutocompleteSelectorFactory(nomenclatureAutoCompleteSelectorFactory);
            yentryProduct.Binding.AddBinding(Entity, e => e.Product, w => w.Subject).InitializeFromSource();
        }
Ejemplo n.º 19
0
        void ConfigureDlg()
        {
            if (StoreDocumentHelper.CheckAllPermissions(UoW.IsNew, WarehousePermissions.IncomingWaterEdit, Entity.IncomingWarehouse, Entity.WriteOffWarehouse))
            {
                FailInitialize = true;
                return;
            }

            var editing = StoreDocumentHelper.CanEditDocument(WarehousePermissions.IncomingWaterEdit, Entity.IncomingWarehouse, Entity.WriteOffWarehouse);

            buttonFill.Sensitive = yentryProduct.IsEditable = spinAmount.Sensitive = editing;
            incomingwatermaterialview1.Sensitive = editing;

            labelTimeStamp.Binding.AddBinding(Entity, e => e.DateString, w => w.LabelProp).InitializeFromSource();
            spinAmount.Binding.AddBinding(Entity, e => e.Amount, w => w.ValueAsInt).InitializeFromSource();

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

            if (userHasOnlyAccessToWarehouseAndComplaints)
            {
                sourceWarehouseEntry.CanEditReference = destinationWarehouseEntry.CanEditReference = false;
            }
            else
            {
                sourceWarehouseEntry.CanEditReference = destinationWarehouseEntry.CanEditReference = true;
            }

            sourceWarehouseEntry.SetEntityAutocompleteSelectorFactory(_warehouseAutocompleteSelectorFactory);
            sourceWarehouseEntry.Binding.AddBinding(Entity, e => e.WriteOffWarehouse, w => w.Subject).InitializeFromSource();
            destinationWarehouseEntry.SetEntityAutocompleteSelectorFactory(_warehouseAutocompleteSelectorFactory);
            destinationWarehouseEntry.Binding.AddBinding(Entity, e => e.IncomingWarehouse, w => w.Subject).InitializeFromSource();

            incomingwatermaterialview1.DocumentUoW = UoWGeneric;

            var permmissionValidator =
                new EntityExtendedPermissionValidator(PermissionExtensionSingletonStore.GetInstance(), _employeeRepository);

            Entity.CanEdit =
                permmissionValidator.Validate(
                    typeof(IncomingWater), _userRepository.GetCurrentUser(UoW).Id, nameof(RetroactivelyClosePermission));

            if (!Entity.CanEdit && Entity.TimeStamp.Date != DateTime.Now.Date)
            {
                spinAmount.Binding.AddFuncBinding(Entity, e => e.CanEdit, w => w.Sensitive).InitializeFromSource();
                yentryProduct.Sensitive             = false;
                destinationWarehouseEntry.Sensitive = false;
                sourceWarehouseEntry.Sensitive      = false;
                buttonFill.Sensitive = false;
                incomingwatermaterialview1.Sensitive = false;
                buttonSave.Sensitive = false;
            }
            else
            {
                Entity.CanEdit = true;
            }

            var nomenclatureFilter = new NomenclatureFilterViewModel()
            {
                HidenByDefault = true
            };
            var nomenclatureRepository =
                new EntityRepositories.Goods.NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider()));

            var counterpartySelectorFactory =
                new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>(
                    ServicesConfig.CommonServices);

            var nomenclatureAutoCompleteSelectorFactory =
                new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(
                    ServicesConfig.CommonServices,
                    nomenclatureFilter,
                    counterpartySelectorFactory,
                    nomenclatureRepository,
                    _userRepository
                    );

            yentryProduct.SetEntityAutocompleteSelectorFactory(nomenclatureAutoCompleteSelectorFactory);
            yentryProduct.Binding.AddBinding(Entity, e => e.Product, w => w.Subject).InitializeFromSource();
        }
Ejemplo n.º 20
0
        private void ConfigureDlg()
        {
            ypickerDocDate.Binding.AddBinding(ViewModel.Entity, e => e.Date, w => w.Date).InitializeFromSource();

            var counterpartySelectorFactory = new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>(QS.Project.Services.ServicesConfig.CommonServices);

            entryClient.Binding.AddBinding(ViewModel.Entity, e => e.Customer, w => w.Subject).InitializeFromSource();
            entryClient.SetEntityAutocompleteSelectorFactory(counterpartySelectorFactory);
            buttonOpenSlider.Clicked += OnButtonOpenSliderClicked;

            ySpecCmbDeliveryPoint.Binding.AddBinding(ViewModel.Entity, r => r.Customer, w => w.Sensitive, new NullToBooleanConverter()).InitializeFromSource();

            yenumcomboDebtPaymentType.ItemsEnum = typeof(PaymentType);
            yenumcomboDebtPaymentType.Binding.AddBinding(ViewModel.Entity, e => e.DebtPaymentType, w => w.SelectedItem).InitializeFromSource();
            yenumcomboDebtPaymentType.Sensitive = disablespinMoneyDebt.Active;

            disablespinBottlesResidue.Binding.AddBinding(ViewModel.Entity, e => e.BottlesResidue, w => w.ValueAsInt).InitializeFromSource();
            disablespinBottlesDeposit.Binding.AddBinding(ViewModel.Entity, e => e.BottlesDeposit, w => w.ValueAsDecimal).InitializeFromSource();
            disablespinMoneyDebt.Binding.AddBinding(ViewModel.Entity, e => e.DebtResidue, w => w.ValueAsDecimal).InitializeFromSource();
            disablespinMoneyDebt.ActiveChanged += DisablespinMoneyDebt_ActiveChanged;
            ytextviewComment.Binding.AddBinding(ViewModel.Entity, e => e.Comment, w => w.Buffer.Text).InitializeFromSource();

            //bindings info panel
            labelCurrentBottleDebt.Binding.AddFuncBinding(ViewModel, vm => vm.CurrentBottlesDebt, w => w.LabelProp).InitializeFromSource();
            labelCurrentBottleDeposit.Binding.AddFuncBinding(ViewModel, vm => vm.CurrentBottlesDeposit, w => w.LabelProp).InitializeFromSource();
            labelCurrentMoneyDebt.Binding.AddFuncBinding(ViewModel, vm => vm.CurrentMoneyDebt, w => w.LabelProp).InitializeFromSource();
            labelCurrentEquipmentDeposit.Binding.AddFuncBinding(ViewModel, vm => vm.CurrentEquipmentDeposit, w => w.LabelProp).InitializeFromSource();

            ytreeviewEquipment.ColumnsConfig = FluentColumnsConfig <ResidueEquipmentDepositItem> .Create()
                                               .AddColumn("Номенклатура")
                                               .AddTextRenderer(x => x.Nomenclature.OfficialName)
                                               .AddColumn("Количество")
                                               .AddNumericRenderer(x => x.EquipmentCount)
                                               .Adjustment(new Gtk.Adjustment(0, 0, 10000000, 1, 10, 0))
                                               .XAlign(0.5f)
                                               .AddSetter((c, n) => c.Editable = ViewModel.CanEdit)
                                               .AddColumn("Направление")
                                               .AddEnumRenderer <ResidueEquipmentDirection>(x => x.EquipmentDirection).Editing()
                                               .AddColumn("Количество залогов")
                                               .AddNumericRenderer(x => x.DepositCount)
                                               .Adjustment(new Gtk.Adjustment(0, 0, 10000000, 1, 10, 0))
                                               .XAlign(0.5f)
                                               .AddSetter((c, n) => c.Editable = ViewModel.CanEdit)
                                               .AddColumn("Залог")
                                               .AddNumericRenderer(x => x.EquipmentDeposit)
                                               .Adjustment(new Gtk.Adjustment(0, 0, 10000000, 1, 10, 0))
                                               .XAlign(0.5f)
                                               .AddSetter((c, n) => c.Editable = ViewModel.CanEdit)
                                               .AddColumn("Сумма залогов")
                                               .AddNumericRenderer(x => x.DepositCount * x.EquipmentDeposit)
                                               .XAlign(0.5f)
                                               .AddColumn("Форма оплаты")
                                               .AddComboRenderer(x => x.PaymentType)
                                               .SetDisplayFunc(x => x.GetEnumTitle())
                                               .FillItems(((PaymentType[])Enum.GetValues(typeof(PaymentType))).ToList())
                                               .AddSetter((c, n) => c.Editable = ViewModel.CanEdit)
                                               .Finish();

            ytreeviewEquipment.ItemsDataSource    = ViewModel.Entity.ObservableEquipmentDepositItems;
            ytreeviewEquipment.Selection.Changed += Selection_Changed;

            buttonAddEquipment.Clicked    += ButtonAddEquipment_Clicked;
            buttonDeleteEquipment.Clicked += ButtonDeleteEquipment_Clicked;

            ViewModel.RemoveDepositEquipmentItemCommand.CanExecuteChanged += RemoveDepositEquipmentItemCommand_CanExecuteChanged;

            buttonSave.Clicked   += (sender, e) => ViewModel.SaveAndClose();
            buttonCancel.Clicked += (sender, e) => ViewModel.Close(true, QS.Navigation.CloseSource.Cancel);
        }
Ejemplo n.º 21
0
        protected override void ConfigureWithUow()
        {
            yEnumCMBGuilty.ItemsEnum             = typeof(GuiltyTypes);
            enumCMBUndeliveryStatus.ItemsEnum    = typeof(UndeliveryStatus);
            enumCMBUndeliveryStatus.SelectedItem = UndeliveryStatus.InProcess;
            yEnumCMBActionWithInvoice.ItemsEnum  = typeof(ActionsWithInvoice);
            ySpecCMBinProcessAt.ItemsList        = ySpecCMBGuiltyDep.ItemsList = EmployeeRepository.Subdivisions(UoW);

            refOldOrder.RepresentationModel = new OrdersVM(new OrdersFilter(UoW));
            refOldOrder.CanEditReference    = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("can_delete");

            var driversFilter = new EmployeeFilterViewModel();

            driversFilter.SetAndRefilterAtOnce(
                x => x.RestrictCategory = EmployeeCategory.driver,
                x => x.Status           = EmployeeStatus.IsWorking
                );
            refDriver.RepresentationModel = new EmployeesVM(driversFilter);

            refClient.RepresentationModel = new CounterpartyVM(new CounterpartyFilter(UoW));
            entityVMEntryDeliveryPoint.SetEntityAutocompleteSelectorFactory(
                new DefaultEntityAutocompleteSelectorFactory <DeliveryPoint, DeliveryPointJournalViewModel, DeliveryPointJournalFilterViewModel>(ServicesConfig.CommonServices));

            var authorsFilter = new EmployeeFilterViewModel();

            authorsFilter.SetAndRefilterAtOnce(
                x => x.RestrictCategory = EmployeeCategory.office,
                x => x.Status           = EmployeeStatus.IsWorking
                );
            refOldOrderAuthor.RepresentationModel = refUndeliveryAuthor.RepresentationModel = new EmployeesVM(authorsFilter);

            dateperiodOldOrderDate.StartDateOrNull = DateTime.Today.AddMonths(-1);
            dateperiodOldOrderDate.EndDateOrNull   = DateTime.Today.AddMonths(1);
            chkProblematicCases.Toggled           += (sender, e) => {
                if (chkProblematicCases.Active)
                {
                    yEnumCMBGuilty.SelectedItemOrNull = null;
                    ySpecCMBGuiltyDep.Visible         = lblGuiltyDep.Visible = false;
                }
                yEnumCMBGuilty.Sensitive = !chkProblematicCases.Active;
                OnRefiltered();
            };

            //Подразделение
            var employeeSelectorFactory =
                new DefaultEntityAutocompleteSelectorFactory
                <Employee, EmployeesJournalViewModel, EmployeeFilterViewModel>(ServicesConfig.CommonServices);

            var filter = new SubdivisionFilterViewModel()
            {
                SubdivisionType = SubdivisionType.Default
            };


            AuthorSubdivisionEntityviewmodelentry.SetEntityAutocompleteSelectorFactory(
                new EntityAutocompleteSelectorFactory <SubdivisionsJournalViewModel>(
                    typeof(Subdivision),
                    () => new SubdivisionsJournalViewModel(
                        filter,
                        UnitOfWorkFactory.GetDefaultFactory,
                        ServicesConfig.CommonServices,
                        employeeSelectorFactory
                        )
                    )
                );

            AuthorSubdivisionEntityviewmodelentry.Changed += AuthorSubdivisionEntityviewmodelentryOnChanged;
        }