protected void OnButtonChangeNewClicked(object sender, EventArgs e) { var filter = new NomenclatureFilterViewModel(); var userRepository = new UserRepository(); var employeeService = VodovozGtkServicesConfig.EmployeeService; var counterpartyJournalFactory = new CounterpartyJournalFactory(); var nomenclatureAutoCompleteSelectorFactory = new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>( ServicesConfig.CommonServices, filter, counterpartyJournalFactory, _nomenclatureRepository, userRepository ); var nomenclaturesJournalViewModel = new NomenclaturesJournalViewModel( filter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, employeeService, new NomenclatureJournalFactory(), counterpartyJournalFactory, _nomenclatureRepository, userRepository ); nomenclaturesJournalViewModel.SelectionMode = JournalSelectionMode.Single; nomenclaturesJournalViewModel.OnEntitySelectedResult += ChangeNewNomenclature_OnEntitySelectedResult; MyTab.TabParent.AddSlaveTab(MyTab, nomenclaturesJournalViewModel); }
void ConfigureDlg() { if (Entity.EmployeeDocument == null && Entity.Employee != null) { GetDocument(); } ylabelNumber.Binding.AddBinding(Entity, x => x.Title, x => x.LabelProp).InitializeFromSource(); var orderFactory = new OrderSelectorFactory(); evmeOrder.SetEntityAutocompleteSelectorFactory(orderFactory.CreateOrderAutocompleteSelectorFactory()); evmeOrder.Binding.AddBinding(Entity, x => x.Order, x => x.Subject).InitializeFromSource(); evmeOrder.Changed += (sender, e) => { FillForOrder(); }; evmeOrder.CanEditReference = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("can_delete"); var orgFactory = new OrganizationJournalFactory(); evmeOrganization.SetEntityAutocompleteSelectorFactory(orgFactory.CreateOrganizationAutocompleteSelectorFactory()); evmeOrganization.Binding.AddBinding(Entity, x => x.Organization, x => x.Subject).InitializeFromSource(); evmeOrganization.Changed += (sender, e) => UpdateStates(); FillForOrder(); yDPDatesRange.Binding.AddBinding(Entity, x => x.Date, x => x.StartDate).InitializeFromSource(); yDPDatesRange.Binding.AddBinding(Entity, x => x.ExpirationDate, x => x.EndDate).InitializeFromSource(); var employeeFactory = new EmployeeJournalFactory(); evmeEmployee.SetEntityAutocompleteSelectorFactory(employeeFactory.CreateWorkingEmployeeAutocompleteSelectorFactory()); evmeEmployee.Binding.AddBinding(Entity, x => x.Employee, x => x.Subject).InitializeFromSource(); var supplierFactory = new CounterpartyJournalFactory(); evmeSupplier.SetEntityAutocompleteSelectorFactory(supplierFactory.CreateCounterpartyAutocompleteSelectorFactory()); evmeSupplier.Binding.AddBinding(Entity, x => x.Supplier, x => x.Subject).InitializeFromSource(); yETicketNr.Binding.AddBinding(Entity, x => x.TicketNumber, w => w.Text).InitializeFromSource(); yDTicketDate.Binding.AddBinding(Entity, x => x.TicketDate, x => x.DateOrNull).InitializeFromSource(); RefreshParserRootObject(); templatewidget.CanRevertCommon = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("can_set_common_additionalagreement"); templatewidget.Binding.AddBinding(Entity, e => e.DocumentTemplate, w => w.Template).InitializeFromSource(); templatewidget.Binding.AddBinding(Entity, e => e.ChangedTemplateFile, w => w.ChangedDoc).InitializeFromSource(); templatewidget.BeforeOpen += Templatewidget_BeforeOpen; yTWEquipment.ColumnsConfig = ColumnsConfigFactory.Create <OrderEquipment>() .AddColumn("Наименование").SetDataProperty(node => node.FullNameString) .AddColumn("Направление").SetDataProperty(node => node.DirectionString) .AddColumn("Кол-во").AddNumericRenderer(node => node.Count).WidthChars(10) .Adjustment(new Adjustment(0, 0, 1000000, 1, 100, 0)) .AddColumn("") .Finish(); UpdateStates(); }
void ConfigureDlg() { ySpecCmbDeliveryPointFrom.SetSizeRequest(250, 30); ySpecCmbDeliveryPointTo.SetSizeRequest(250, 30); textComment.Binding.AddBinding(Entity, e => e.Comment, w => w.Buffer.Text).InitializeFromSource(); datepickerDate.Binding.AddBinding(Entity, e => e.TimeStamp, w => w.Date).InitializeFromSource(); var clientFactory = new CounterpartyJournalFactory(); referenceCounterpartyFrom.SetEntitySelectorFactory(clientFactory.CreateCounterpartyAutocompleteSelectorFactory()); referenceCounterpartyFrom.Binding.AddBinding(Entity, e => e.FromClient, w => w.Subject).InitializeFromSource(); referenceCounterpartyTo.SetEntitySelectorFactory(clientFactory.CreateCounterpartyAutocompleteSelectorFactory()); referenceCounterpartyTo.Binding.AddBinding(Entity, e => e.ToClient, w => w.Subject).InitializeFromSource(); var employeeFactory = new EmployeeJournalFactory(); evmeEmployee.SetEntityAutocompleteSelectorFactory(employeeFactory.CreateWorkingEmployeeAutocompleteSelectorFactory()); evmeEmployee.Binding.AddBinding(Entity, e => e.ResponsiblePerson, w => w.Subject).InitializeFromSource(); transferoperationdocumentitemview1.DocumentUoW = UoWGeneric; if (Entity.FromClient != null) { RefreshSpinButtons(new BottlesRepository(), new DepositRepository()); } }
void ActionFuelTransferDocuments_Activated(object sender, System.EventArgs e) { ISubdivisionRepository subdivisionRepository = new SubdivisionRepository(); IFuelRepository fuelRepository = new FuelRepository(); ICounterpartyJournalFactory counterpartyJournalFactory = new CounterpartyJournalFactory(); INomenclatureSelectorFactory nomenclatureSelectorFactory = new NomenclatureSelectorFactory(); IEmployeeJournalFactory employeeJournalFactory = new EmployeeJournalFactory(); ICarJournalFactory carJournalFactory = new CarJournalFactory(); IFileChooserProvider fileChooserProvider = new Vodovoz.FileChooser("Категория Расхода.csv"); var expenseCategoryJournalFilterViewModel = new ExpenseCategoryJournalFilterViewModel(); var fuelDocumentsJournalViewModel = new FuelDocumentsJournalViewModel( UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, VodovozGtkServicesConfig.EmployeeService, subdivisionRepository, fuelRepository, counterpartyJournalFactory, nomenclatureSelectorFactory, employeeJournalFactory, carJournalFactory, new GtkReportViewOpener(), fileChooserProvider, expenseCategoryJournalFilterViewModel ); tdiMain.AddTab(fuelDocumentsJournalViewModel); }
protected void OnButtonAddClicked(object sender, EventArgs e) { NomenclatureStockFilterViewModel filter = new NomenclatureStockFilterViewModel(new WarehouseSelectorFactory()); 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 userRepository = new UserRepository(); var employeeService = VodovozGtkServicesConfig.EmployeeService; var counterpartySelectorFactory = new CounterpartyJournalFactory(); var nomenclatureAutoCompleteSelectorFactory = new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>( ServicesConfig.CommonServices, nomenclatureFilter, counterpartySelectorFactory, _nomenclatureRepository, userRepository ); var nomenclaturesJournalViewModel = new NomenclaturesJournalViewModel( nomenclatureFilter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, employeeService, new NomenclatureJournalFactory(), counterpartySelectorFactory, _nomenclatureRepository, userRepository ); nomenclaturesJournalViewModel.SelectionMode = JournalSelectionMode.Single; nomenclaturesJournalViewModel.OnEntitySelectedResult += SelectNewNomenclature_ObjectSelected; MyTab.TabParent.AddSlaveTab(MyTab, nomenclaturesJournalViewModel); }; MyTab.TabParent.AddSlaveTab(MyTab, vm); }
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; } var availableWarehousesIds = StoreDocumentHelper.GetRestrictedWarehousesIds(UoW, WarehousePermissions.IncomingWaterEdit); var warehouseFilter = new WarehouseJournalFilterViewModel { IncludeWarehouseIds = availableWarehousesIds }; var warehouseAutocompleteSelectorFactory = new WarehouseSelectorFactory(warehouseFilter); 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 counterpartyJournalFactory = new CounterpartyJournalFactory(); var nomenclatureAutoCompleteSelectorFactory = new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>( ServicesConfig.CommonServices, nomenclatureFilter, counterpartyJournalFactory, nomenclatureRepository, _userRepository ); yentryProduct.SetEntityAutocompleteSelectorFactory(nomenclatureAutoCompleteSelectorFactory); yentryProduct.Binding.AddBinding(Entity, e => e.Product, w => w.Subject).InitializeFromSource(); }
void ConfigureDlg() { if (StoreDocumentHelper.CheckAllPermissions(UoW.IsNew, WarehousePermissions.WriteoffEdit, Entity.WriteoffWarehouse)) { FailInitialize = true; return; } var editing = StoreDocumentHelper.CanEditDocument(WarehousePermissions.WriteoffEdit, Entity.WriteoffWarehouse); evmeEmployee.IsEditable = textComment.Editable = editing; writeoffdocumentitemsview1.Sensitive = editing && (Entity.WriteoffWarehouse != null || Entity.Client != null); textComment.Binding.AddBinding(Entity, e => e.Comment, w => w.Buffer.Text).InitializeFromSource(); labelTimeStamp.Binding.AddBinding(Entity, e => e.DateString, w => w.LabelProp).InitializeFromSource(); var clientFactory = new CounterpartyJournalFactory(); evmeCounterparty.SetEntityAutocompleteSelectorFactory(clientFactory.CreateCounterpartyAutocompleteSelectorFactory()); evmeCounterparty.Binding.AddBinding(Entity, e => e.Client, w => w.Subject).InitializeFromSource(); evmeCounterparty.Changed += OnReferenceCounterpartyChanged; ySpecCmbWarehouses.ItemsList = StoreDocumentHelper.GetRestrictedWarehousesList(UoW, WarehousePermissions.WriteoffEdit); ySpecCmbWarehouses.Binding.AddBinding(Entity, e => e.WriteoffWarehouse, w => w.SelectedItem).InitializeFromSource(); ySpecCmbWarehouses.ItemSelected += (sender, e) => { writeoffdocumentitemsview1.Sensitive = editing && (Entity.WriteoffWarehouse != null || Entity.Client != null); }; var dpFactory = new DeliveryPointJournalFactory(_deliveryPointJournalFilterViewModel); evmeDeliveryPoint.SetEntityAutocompleteSelectorFactory(dpFactory.CreateDeliveryPointByClientAutocompleteSelectorFactory()); evmeDeliveryPoint.CanEditReference = false; evmeDeliveryPoint.Binding.AddBinding(Entity, e => e.DeliveryPoint, w => w.Subject).InitializeFromSource(); var userHasOnlyAccessToWarehouseAndComplaints = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("user_have_access_only_to_warehouse_and_complaints") && !ServicesConfig.CommonServices.UserService.GetCurrentUser(UoW).IsAdmin; if (userHasOnlyAccessToWarehouseAndComplaints) { evmeEmployee.CanEditReference = false; } var employeeFactory = new EmployeeJournalFactory(); evmeEmployee.SetEntityAutocompleteSelectorFactory(employeeFactory.CreateWorkingEmployeeAutocompleteSelectorFactory()); evmeEmployee.Binding.AddBinding(Entity, e => e.ResponsibleEmployee, w => w.Subject).InitializeFromSource(); comboType.ItemsEnum = typeof(WriteoffType); evmeDeliveryPoint.Sensitive = evmeCounterparty.Sensitive = (UoWGeneric.Root.Client != null); comboType.EnumItemSelected += (object sender, Gamma.Widgets.ItemSelectedEventArgs e) => { ySpecCmbWarehouses.Sensitive = WriteoffType.warehouse.Equals(comboType.SelectedItem); evmeDeliveryPoint.Sensitive = WriteoffType.counterparty.Equals(comboType.SelectedItem) && UoWGeneric.Root.Client != null; evmeCounterparty.Sensitive = WriteoffType.counterparty.Equals(comboType.SelectedItem); }; //FIXME Списание с контрагента не реализовано. Поэтому блокирует выбор типа списания. comboType.Sensitive = false; comboType.SelectedItem = UoWGeneric.Root.Client != null ? WriteoffType.counterparty : WriteoffType.warehouse; writeoffdocumentitemsview1.DocumentUoW = UoWGeneric; Entity.ObservableItems.ElementAdded += (aList, aIdx) => ySpecCmbWarehouses.Sensitive = !Entity.ObservableItems.Any(); Entity.ObservableItems.ElementRemoved += (aList, aIdx, aObject) => ySpecCmbWarehouses.Sensitive = !Entity.ObservableItems.Any(); ySpecCmbWarehouses.Sensitive = editing && !Entity.Items.Any(); var permmissionValidator = new EntityExtendedPermissionValidator(PermissionExtensionSingletonStore.GetInstance(), _employeeRepository); Entity.CanEdit = permmissionValidator.Validate( typeof(WriteoffDocument), ServicesConfig.UserService.CurrentUserId, nameof(RetroactivelyClosePermission)); if (!Entity.CanEdit && Entity.TimeStamp.Date != DateTime.Now.Date) { ySpecCmbWarehouses.Binding.AddFuncBinding(Entity, e => e.CanEdit, w => w.Sensitive).InitializeFromSource(); evmeCounterparty.Sensitive = false; evmeDeliveryPoint.Sensitive = false; comboType.Sensitive = false; evmeEmployee.Sensitive = false; textComment.Sensitive = false; writeoffdocumentitemsview1.Sensitive = false; buttonSave.Sensitive = false; } else { Entity.CanEdit = true; } }
void ConfigureDlg() { enumStatus.Sensitive = enumType.Sensitive = false; enumStatusEditable.Sensitive = true; notebook1.ShowTabs = false; notebook1.CurrentPage = 0; enumcomboWithSerial.ItemsEnum = typeof(ServiceClaimEquipmentSerialType); enumcomboWithSerial.Binding.AddBinding(Entity, e => e.WithSerial, w => w.SelectedItem).InitializeFromSource(); enumStatus.ItemsEnum = typeof(ServiceClaimStatus); enumStatus.Binding.AddBinding(Entity, e => e.Status, w => w.SelectedItem).InitializeFromSource(); enumType.ItemsEnum = typeof(ServiceClaimType); enumType.Binding.AddBinding(Entity, e => e.ServiceClaimType, w => w.SelectedItem).InitializeFromSource(); enumPaymentType.ItemsEnum = typeof(PaymentType); enumPaymentType.Binding.AddBinding(Entity, e => e.Payment, w => w.SelectedItem).InitializeFromSource(); checkRepeated.Binding.AddBinding(Entity, e => e.RepeatedService, w => w.Active).InitializeFromSource(); dataNumber.Binding.AddBinding(Entity, e => e.Id, w => w.LabelProp, new IdToStringConverter()).InitializeFromSource(); labelTotalPrice.Binding.AddFuncBinding(Entity, e => e.TotalPrice.ToString("C"), w => w.LabelProp).InitializeFromSource(); datePickUpDate.Binding.AddBinding(Entity, e => e.ServiceStartDate, w => w.Date).InitializeFromSource(); textReason.Binding.AddBinding(Entity, e => e.Reason, w => w.Buffer.Text).InitializeFromSource(); textKit.Binding.AddBinding(Entity, e => e.Kit, w => w.Buffer.Text).InitializeFromSource(); textDiagnosticsResult.Binding.AddBinding(Entity, e => e.DiagnosticsResult, w => w.Buffer.Text).InitializeFromSource(); var clientFactory = new CounterpartyJournalFactory(); evmeClient.SetEntityAutocompleteSelectorFactory(clientFactory.CreateCounterpartyAutocompleteSelectorFactory()); evmeClient.Binding.AddBinding(Entity, e => e.Counterparty, w => w.Subject).InitializeFromSource(); evmeClient.Changed += OnReferenceCounterpartyChanged; var employeeFactory = new EmployeeJournalFactory(); evmeEngineer.SetEntityAutocompleteSelectorFactory(employeeFactory.CreateWorkingEmployeeAutocompleteSelectorFactory()); evmeEngineer.Binding.AddBinding(Entity, e => e.Engineer, w => w.Subject).InitializeFromSource(); yentryEquipmentReplacement.ItemsQuery = _equipmentRepository.AvailableOnDutyEquipmentQuery(); yentryEquipmentReplacement.SetObjectDisplayFunc <Equipment> (e => e.Title); yentryEquipmentReplacement.Binding .AddBinding(UoWGeneric.Root, serviceClaim => serviceClaim.ReplacementEquipment, widget => widget.Subject) .InitializeFromSource(); evmeDeliveryPoint.Sensitive = (UoWGeneric.Root.Counterparty != null); evmeDeliveryPoint.Binding.AddBinding(Entity, e => e.DeliveryPoint, w => w.Subject).InitializeFromSource(); evmeDeliveryPoint.Changed += OnReferenceDeliveryPointChanged; var dpFactory = new DeliveryPointJournalFactory(); dpFactory.SetDeliveryPointJournalFilterViewModel(_deliveryPointJournalFilterViewModel); evmeDeliveryPoint.SetEntityAutocompleteSelectorFactory(dpFactory.CreateDeliveryPointByClientAutocompleteSelectorFactory()); referenceNomenclature.ItemsQuery = _nomenclatureRepository.NomenclatureOfItemsForService(); referenceNomenclature.Binding.AddBinding(Entity, e => e.Nomenclature, w => w.Subject).InitializeFromSource(); referenceEquipment.SubjectType = typeof(Equipment); referenceEquipment.Sensitive = (UoWGeneric.Root.Nomenclature != null); referenceEquipment.Binding.AddBinding(Entity, e => e.Equipment, w => w.Subject).InitializeFromSource(); treePartsAndServices.ItemsDataSource = UoWGeneric.Root.ObservableServiceClaimItems; treeHistory.ItemsDataSource = UoWGeneric.Root.ObservableServiceClaimHistory; treePartsAndServices.ColumnsConfig = FluentColumnsConfig <ServiceClaimItem> .Create() .AddColumn("Номенклатура").SetDataProperty(node => node.Nomenclature != null ? node.Nomenclature.Name : "-") .AddColumn("Кол-во").AddNumericRenderer(node => node.Count) .Adjustment(new Adjustment(0, 0, 1000000, 1, 100, 0)) .AddSetter((c, node) => c.Digits = node.Nomenclature.Unit == null ? 0 : (uint)node.Nomenclature.Unit.Digits) .AddSetter((c, i) => c.Editable = isEditable) .WidthChars(10) .AddColumn("Цена").AddNumericRenderer(node => node.Price).Digits(2) .AddTextRenderer(node => CurrencyWorks.CurrencyShortName, false) .AddColumn("Сумма").AddNumericRenderer(node => node.Total).Digits(2) .AddTextRenderer(node => CurrencyWorks.CurrencyShortName, false) .Finish(); treeHistory.ColumnsConfig = FluentColumnsConfig <ServiceClaimHistory> .Create() .AddColumn("Дата").SetDataProperty(node => node.Date.ToShortDateString()) .AddColumn("Время").SetDataProperty(node => node.Date.ToString("HH:mm")) .AddColumn("Статус").SetDataProperty(node => node.Status.GetEnumTitle()) .AddColumn("Сотрудник").SetDataProperty(node => node.Employee == null ? " - " : node.Employee.FullName) .AddColumn("Комментарий").SetDataProperty(node => node.Comment) .Finish(); UoWGeneric.Root.ObservableServiceClaimItems.ElementChanged += (aList, aIdx) => FixPrice(aIdx [0]); configureAvailableNextStatus(); Entity.PropertyChanged += Entity_PropertyChanged; if (UoWGeneric.Root.ServiceClaimType == ServiceClaimType.JustService) { evmeDeliveryPoint.Visible = false; labelDeliveryPoint.Visible = false; yentryEquipmentReplacement.Visible = false; labelReplacement.Visible = false; } datePickUpDate.IsEditable = Entity.InitialOrder == null; Menu menu = new Menu(); var menuItemInitial = new MenuItem("Перейти к начальному заказу"); menuItemInitial.Sensitive = Entity.InitialOrder != null; menuItemInitial.Activated += MenuInitialOrderActivated; menu.Add(menuItemInitial); var menuItemFinal = new MenuItem("Перейти к финальному заказу"); menuItemFinal.Sensitive = Entity.FinalOrder != null; menuItemFinal.Activated += MenuFinalOrderActivated; menu.Add(menuItemFinal); menuActions.Menu = menu; menu.ShowAll(); }
private void ConfigureDlg() { var orderOrganizationProviderFactory = new OrderOrganizationProviderFactory(); _organizationProvider = orderOrganizationProviderFactory.CreateOrderOrganizationProvider(); _counterpartyContractRepository = new CounterpartyContractRepository(_organizationProvider); _counterpartyContractFactory = new CounterpartyContractFactory(_organizationProvider, _counterpartyContractRepository); buttonReportByClient.Sensitive = Entity.Counterparty != null; buttonReportByDP.Sensitive = Entity.DeliveryPoint != null; comboboxImpotanceType.ItemsEnum = typeof(ImportanceDegreeType); comboboxImpotanceType.Binding.AddBinding(Entity, s => s.ImportanceDegree, w => w.SelectedItemOrNull).InitializeFromSource(); TaskStateComboBox.ItemsEnum = typeof(CallTaskStatus); TaskStateComboBox.Binding.AddBinding(Entity, s => s.TaskState, w => w.SelectedItemOrNull).InitializeFromSource(); IsTaskCompleteButton.Binding.AddBinding(Entity, s => s.IsTaskComplete, w => w.Active).InitializeFromSource(); IsTaskCompleteButton.Label += Entity.CompleteDate?.ToString("dd / MM / yyyy HH:mm"); deadlineYdatepicker.Binding.AddBinding(Entity, s => s.EndActivePeriod, w => w.Date).InitializeFromSource(); ytextviewComments.Binding.AddBinding(Entity, s => s.Comment, w => w.Buffer.Text).InitializeFromSource(); yentryTareReturn.ValidationMode = ValidationType.numeric; yentryTareReturn.Binding.AddBinding(Entity, s => s.TareReturn, w => w.Text, new IntToStringConverter()).InitializeFromSource(); textViewCommentAboutClient.Binding .AddFuncBinding(Entity, e => e.Counterparty != null ? e.Counterparty.Comment : "", w => w.Buffer.Text).InitializeFromSource(); vboxOldComments.Visible = true; var employeeFilterViewModel = new EmployeeFilterViewModel { RestrictCategory = EmployeeCategory.office }; var employeeJournalFactory = new EmployeeJournalFactory(employeeFilterViewModel); entryAttachedEmployee.SetEntityAutocompleteSelectorFactory(employeeJournalFactory.CreateEmployeeAutocompleteSelectorFactory()); entryAttachedEmployee.Binding.AddBinding(Entity, e => e.AssignedEmployee, w => w.Subject).InitializeFromSource(); var deliveryPointJournalFactory = new DeliveryPointJournalFactory(_deliveryPointJournalFilterViewModel); entityVMEntryDeliveryPoint .SetEntityAutocompleteSelectorFactory(deliveryPointJournalFactory.CreateDeliveryPointAutocompleteSelectorFactory()); entityVMEntryDeliveryPoint.Binding.AddBinding(Entity, s => s.DeliveryPoint, w => w.Subject).InitializeFromSource(); var counterpartyJournalFactory = new CounterpartyJournalFactory(); entityVMEntryCounterparty .SetEntityAutocompleteSelectorFactory(counterpartyJournalFactory.CreateCounterpartyAutocompleteSelectorFactory()); entityVMEntryCounterparty.Binding.AddBinding(Entity, s => s.Counterparty, w => w.Subject).InitializeFromSource(); ClientPhonesView.ViewModel = new PhonesViewModel(_phoneRepository, UoW, ContactParametersProvider.Instance); ClientPhonesView.ViewModel.ReadOnly = true; DeliveryPointPhonesView.ViewModel = new PhonesViewModel(_phoneRepository, UoW, ContactParametersProvider.Instance); DeliveryPointPhonesView.ViewModel.ReadOnly = true; if (Entity.Counterparty != null) { if (_deliveryPointJournalFilterViewModel != null) { _deliveryPointJournalFilterViewModel.Counterparty = Entity.Counterparty; } } UpdateAddressFields(); }