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); */ }
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 )); }) ); }
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); }
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); }
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); }
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() ) ); }
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); }
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); }
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); } }
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); }; }
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); */ }
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); }
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; } }
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); } );
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)); }
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); }
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; } }
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(); }
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(); }
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); }
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; }