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(); }
private void ConfigureDlg() { providerReference.SubjectType = typeof(Provider); providerReference.Binding.AddBinding(Entity, e => e.Provider, w => w.Subject).InitializeFromSource(); commentTextview.Binding.AddBinding(Entity, e => e.Comment, w => w.Buffer.Text).InitializeFromSource(); datepicker.Binding.AddBinding(Entity, e => e.Date, w => w.Date).InitializeFromSource(); pricesTreeView.ColumnsConfig = ColumnsConfigFactory.Create <PriceItem> () .AddColumn("Арматура").Resizable() .AddTextRenderer(x => x.Fitting.Name.NameRus) .AddColumn("Диаметр") .AddTextRenderer(x => x.Fitting.DiameterText) .AddColumn("Давление") .AddTextRenderer(x => x.Fitting.PressureText) .AddColumn("Соединение").Resizable() .AddTextRenderer(x => x.Fitting.ConnectionType.NameRus) .AddColumn("Материал").Resizable() .AddTextRenderer(x => x.Fitting.BodyMaterial != null ? x.Fitting.BodyMaterial.NameRus : String.Empty) .AddColumn("Артикул") .AddTextRenderer(x => x.Fitting.Code) .AddColumn("Цена") .AddNumericRenderer(x => x.Cost).Editing(new Gtk.Adjustment(0, 0, 10000000, 1, 100, 100)).Digits(2) .AddEnumRenderer(x => x.Currency).Editing() .Finish(); pricesTreeView.Selection.Changed += PricesTreeView_Selection_Changed; pricesTreeView.ItemsDataSource = Entity.ObservablePrices; }
public InventoryDocumentItemsView() { this.Build(); ytreeviewItems.ColumnsConfig = ColumnsConfigFactory.Create <InventoryDocumentItem>() .AddColumn("Номенклатура").AddTextRenderer(x => GetNomenclatureName(x.Nomenclature), useMarkup: true) .AddColumn("Кол-во в учёте").AddTextRenderer(x => x.Nomenclature.Unit != null ? x.Nomenclature.Unit.MakeAmountShortStr(x.AmountInDB) : x.AmountInDB.ToString()) .AddColumn("Кол-во по факту").AddNumericRenderer(x => x.AmountInFact).Editing() .Adjustment(new Gtk.Adjustment(0, 0, 10000000, 1, 10, 10)) .AddSetter((w, x) => w.Digits = (x.Nomenclature.Unit != null ? (uint)x.Nomenclature.Unit.Digits : 1)) .AddColumn("Разница").AddTextRenderer(x => x.Difference != 0 && x.Nomenclature.Unit != null ? x.Nomenclature.Unit.MakeAmountShortStr(x.Difference) : String.Empty) .AddSetter((w, x) => w.Foreground = x.Difference < 0 ? "red" : "blue") .AddColumn("Сумма ущерба").AddTextRenderer(x => CurrencyWorks.GetShortCurrencyString(x.SumOfDamage)) .AddColumn("Штраф").AddTextRenderer(x => x.Fine != null ? x.Fine.Description : String.Empty) .AddColumn("Что произошло").AddTextRenderer(x => x.Comment).Editable() .RowCells() .AddSetter <CellRenderer>((cell, node) => { Color color = new Color(255, 255, 255); if (nomenclaturesWithDiscrepancies.Any(x => x.Id == node.Nomenclature.Id)) { color = new Color(255, 125, 125); } cell.CellBackgroundGdk = color; }) .Finish(); ytreeviewItems.Selection.Changed += YtreeviewItems_Selection_Changed; }
public ContractLongLeaseAdressesView(IUnitOfWorkGeneric <ContractLongLease> contractUow, DateTime?sinceDate) { this.Build(); ytreeviewAddresses.ColumnsConfig = ColumnsConfigFactory.Create <ContractLongLeaseAddress>() .AddColumn("Адрес").AddTextRenderer(x => x.DeliveryPoint.CompiledAddress) .AddColumn("Кабинки").AddTextRenderer(x => x.CabinesText) .AddColumn("Количество ТО") .AddNumericRenderer(x => x.MaintenanceCount).Editing() .Adjustment(new Adjustment(1, 1, 4, 1, 1, 1)) .AddColumn("Стоим. кабины(Стд)") .AddNumericRenderer(x => x.CabineStdCost).Editing() .Adjustment(new Adjustment(0, 0, 1000000, 100, 1000, 1)) .AddColumn("Стоим. кабины(Зим)") .AddNumericRenderer(x => x.CabineWinterCost).Editing() .Adjustment(new Adjustment(0, 0, 1000000, 100, 1000, 1)) .AddColumn("Стоим. доп. ТО(Стд)") .AddNumericRenderer(x => x.AdditionalServiceStdCost).Editing() .Adjustment(new Adjustment(0, 0, 1000000, 100, 1000, 1)) .AddColumn("Стоим. доп. ТО(Зим)") .AddNumericRenderer(x => x.AdditionalServiceWinterCost).Editing() .Adjustment(new Adjustment(0, 0, 1000000, 100, 1000, 1)) .Finish(); ytreeviewAddresses.Selection.Changed += YtreeviewAddresses_Selection_Changed; SinceDate = sinceDate; ContractUoW = contractUow; ydateSinceDate.IsEditable = buttonDeleteDate.Sensitive = SinceDate.HasValue; ydateSinceDate.Date = SinceDate.HasValue ? SinceDate.Value : ContractUoW.Root.IssueDate; userChangeDate = true; }
private void Configure() { ylabelDate.Binding.AddFuncBinding(ViewModel.Entity, e => e.Date.ToString("D"), w => w.LabelProp).InitializeFromSource(); yspinMoney.Binding.AddBinding(ViewModel.Entity, e => e.TotalMoney, w => w.ValueAsDecimal).InitializeFromSource(); yentryPremiumReasonString.Binding.AddBinding(ViewModel.Entity, e => e.PremiumReasonString, w => w.Text).InitializeFromSource(); ylabelTotal.Binding.AddBinding(ViewModel, vm => vm.EmployeesSum, w => w.LabelProp).InitializeFromSource(); employeeViewModelEntry.SetEntityAutocompleteSelectorFactory(ViewModel.EmployeeAutocompleteSelectorFactory); employeeViewModelEntry.CanEditReference = true; employeeViewModelEntry.Sensitive = false; employeeViewModelEntry.Binding.AddBinding(ViewModel.Entity, e => e.Author, w => w.Subject).InitializeFromSource(); ytreeviewItems.ColumnsConfig = ColumnsConfigFactory.Create <PremiumItem>() .AddColumn("Сотрудник") .AddTextRenderer(x => x.Employee.FullName) .AddColumn("Премия") .AddNumericRenderer(x => x.Money).Editing().Digits(2) .Adjustment(new Gtk.Adjustment(0, 0, 10000000, 1, 10, 10)) .AddColumn("Причина премии") .AddTextRenderer(x => x.Premium.PremiumReasonString) .Finish(); ytreeviewItems.ItemsDataSource = ViewModel.Entity.ObservableItems; buttonDivideAtAll.Clicked += (sender, e) => ViewModel.DivideAtAllCommand.Execute(); buttonAdd.Clicked += (sender, e) => ViewModel.AddEmployeeCommand.Execute(); buttonRemove.Clicked += (sender, e) => ViewModel.DeleteEmployeeCommand .Execute(ytreeviewItems.GetSelectedObject <PremiumItem>()); buttonGetReasonFromTemplate.Clicked += (sender, e) => ViewModel.GetReasonFromTemplate.Execute(); buttonSave.Clicked += (sender, args) => ViewModel.SaveAndClose(); buttonCancel.Clicked += (sender, args) => ViewModel.Close(true, CloseSource.Cancel); }
private void Configure() { entryName.KeyReleaseEvent += OnKeyReleased; entryName.Binding.AddBinding(ViewModel, vm => vm.CounterpartyName, w => w.Text).InitializeFromSource(); entryCounterpartyPhone.ValidationMode = ValidationType.Numeric; entryCounterpartyPhone.KeyReleaseEvent += OnKeyReleased; entryCounterpartyPhone.Binding.AddBinding(ViewModel, vm => vm.CounterpartyPhone, w => w.Text).InitializeFromSource(); entryDeliveryPointPhone.ValidationMode = ValidationType.Numeric; entryDeliveryPointPhone.KeyReleaseEvent += OnKeyReleased; entryDeliveryPointPhone.Binding.AddBinding(ViewModel, vm => vm.DeliveryPointPhone, w => w.Text).InitializeFromSource(); yentryTag.RepresentationModel = ViewModel.TagVM; yentryTag.Binding.AddBinding(ViewModel, vm => vm.Tag, w => w.Subject).InitializeFromSource(); yenumCounterpartyType.ItemsEnum = typeof(CounterpartyType); yenumCounterpartyType.Binding.AddBinding(ViewModel, vm => vm.CounterpartyType, w => w.SelectedItemOrNull).InitializeFromSource(); checkIncludeArhive.Binding.AddBinding(ViewModel, vm => vm.RestrictIncludeArchive, w => w.Active).InitializeFromSource(); if (ViewModel?.IsForRetail ?? false) { ytreeviewSalesChannels.ColumnsConfig = ColumnsConfigFactory.Create <SalesChannelSelectableNode>() .AddColumn("Название").AddTextRenderer(node => node.Name) .AddColumn("").AddToggleRenderer(x => x.Selected) .Finish(); ytreeviewSalesChannels.ItemsDataSource = ViewModel.SalesChannels; } else { frame2.Visible = false; } }
void Configure() { if (ViewModel.dialogType == SubscriberSelectionViewModel.DialogType.Transfer) { ForwardingToConsultationButton.Visible = true; ForwardingToConsultationButton.Clicked += Clicked_ForwardingToConsultationButton; ForwardingButton.Clicked += Clicked_ForwardingButton; } else if (ViewModel.dialogType == SubscriberSelectionViewModel.DialogType.Telephone) { ForwardingToConsultationButton.Visible = false; ForwardingButton.Label = "Позвонить"; ForwardingButton.Clicked += Clicked_MakeCall; } ySearchTable.ColumnsConfig = ColumnsConfigFactory.Create <SearchTableEntity>() .AddColumn("Имя") .AddPixbufRenderer(x => x.IsGroup ? groupIcon : userIcon) .AddTextRenderer(entity => entity.Name).SearchHighlight() .AddColumn("Статус") .AddTextRenderer(entity => entity.IsReady ? "<span foreground=\"green\">☎ Свободен</span>" : "<span foreground=\"red\">☎ Занят</span>", useMarkup: true) .AddColumn("Номер") .AddTextRenderer(entity => entity.Extension).SearchHighlight() .AddColumn("Отдел") .AddTextRenderer(entity => entity.Department).SearchHighlight() .Finish(); ySearchTable.SetItemsSource <SearchTableEntity>(ViewModel.SearchTableEntities); ySearchTable.RowActivated += SelectCursorRow_OrderYTreeView; ySearchTable.Selection.Changed += Selection_Changed; }
private void ConfigureTreeItems() { var colorWhite = new Gdk.Color(0xff, 0xff, 0xff); var colorLightRed = new Gdk.Color(0xff, 0x66, 0x66); treeItems.ColumnsConfig = ColumnsConfigFactory.Create <OrderWithoutShipmentForAdvancePaymentItem>() .AddColumn("Номенклатура") .HeaderAlignment(0.5f) .AddTextRenderer(node => node.NomenclatureString) .AddColumn("Кол-во") .SetTag("Count") .HeaderAlignment(0.5f) .AddNumericRenderer(node => node.Count) .Adjustment(new Adjustment(0, 0, 1000000, 1, 100, 0)).Editing().WidthChars(10) .AddSetter((c, node) => c.Digits = node.Nomenclature.Unit == null ? 0 : (uint)node.Nomenclature.Unit.Digits) .AddColumn("Аренда") .HeaderAlignment(0.5f) .AddTextRenderer(node => node.IsRentCategory ? node.RentString : string.Empty) .AddColumn("Цена") .HeaderAlignment(0.5f) .AddNumericRenderer(node => node.Price).Digits(2).WidthChars(10) .Adjustment(new Adjustment(0, 0, 1000000, 1, 100, 0)).Editing(true) .AddSetter((c, node) => c.Editable = node.CanEditPrice) .AddTextRenderer(node => CurrencyWorks.CurrencyShortName, false) .AddColumn("В т.ч. НДС") .HeaderAlignment(0.5f) .AddTextRenderer(x => CurrencyWorks.GetShortCurrencyString(x.IncludeNDS ?? 0)) .AddColumn("Сумма") .HeaderAlignment(0.5f) .AddTextRenderer(node => CurrencyWorks.GetShortCurrencyString(node.Sum)) .AddColumn("Скидка") .HeaderAlignment(0.5f) .AddNumericRenderer(node => node.ManualChangingDiscount).Editing() .AddSetter( (c, n) => c.Adjustment = n.IsDiscountInMoney ? new Adjustment(0, 0, (double)(n.Price * n.Count), 1, 100, 1) : new Adjustment(0, 0, 100, 1, 100, 1) ) .Digits(2) .WidthChars(10) .AddTextRenderer(n => n.IsDiscountInMoney ? CurrencyWorks.CurrencyShortName : "%", false) .AddColumn("Скидка \nв рублях?") .AddToggleRenderer(x => x.IsDiscountInMoney).Editing() .AddColumn("Основание скидки") .HeaderAlignment(0.5f) .AddComboRenderer(node => node.DiscountReason) .SetDisplayFunc(x => x.Name) .FillItems(ViewModel.OrderRepository.GetDiscountReasons(ViewModel.UoW)) .AddSetter((c, n) => c.Editable = n.Discount > 0) .AddSetter( (c, n) => c.BackgroundGdk = n.Discount > 0 && n.DiscountReason == null ? colorLightRed : colorWhite ) .RowCells() .XAlign(0.5f) .Finish(); treeItems.ItemsDataSource = ViewModel.Entity.ObservableOrderWithoutDeliveryForAdvancePaymentItems; treeItems.Selection.Changed += TreeItems_Selection_Changed; }
void CreateTable() { listEmployeeCoeff = UoW.Session.QueryOver <EmployeeCoeff>(() => employeeCoeff).List(); listEmployees = UoW.Session.QueryOver <Employee>(() => employee).List(); listCoefficients = UoW.Session.QueryOver <Coefficients>(() => coefficients).List(); foreach (var emp in listEmployees) { foreach (var coeff in listCoefficients) { if (listEmployeeCoeff.Where(x => x.Employee == emp && x.Coeff == coeff).Count() < 1) { listEmployeeCoeff.Add(new EmployeeCoeff(emp, coeff)); } } } ytree.ItemsDataSource = listEmployeeCoeff; ytree.ColumnsConfig = ColumnsConfigFactory.Create <EmployeeCoeff>() .AddColumn("ФИО").AddTextRenderer(x => x.Employee.FullName) .AddColumn("Коэффициент").AddTextRenderer(x => x.Coeff.Name) .AddColumn("Значение").AddTextRenderer(x => x.Value).Editable() .Finish(); listEmployees.Add(new Employee("все")); listCoefficients.Add(new Coefficients("все")); comboEmployees.ItemsList = listEmployees.Select(x => x.FullName).ToList(); comboCoeff.ItemsList = listCoefficients.Select(x => x.Name).ToList(); comboEmployees.SelectedItem = "все"; comboCoeff.SelectedItem = "все"; }
private IColumnsConfig GetColumnsConfig(bool isRightPanel) { var colorGreen = new Gdk.Color(0x44, 0xcc, 0x49); var colorWhite = new Gdk.Color(0xff, 0xff, 0xff); var config = ColumnsConfigFactory.Create <RouteListItemNode>() .AddColumn("Еж. номер").AddTextRenderer(node => node.DalyNumber) .AddColumn("Заказ").AddTextRenderer(node => node.Id) .AddColumn("Дата").AddTextRenderer(node => node.Date) .AddColumn("Адрес").AddTextRenderer(node => node.Address) .AddColumn("Бутыли").AddTextRenderer(node => node.BottlesCount) .AddColumn("Статус").AddEnumRenderer(node => node.Status); if (isRightPanel) { config.AddColumn("Нужна загрузка").AddToggleRenderer(node => node.NeedToReload) .AddSetter((c, n) => c.Sensitive = n.WasTransfered); } else { config.AddColumn("Нужна загрузка") .AddToggleRenderer(x => x.LeftNeedToReload).Radio() .AddSetter((c, x) => c.Visible = x.Status != RouteListItemStatus.Transfered) .AddTextRenderer(x => "Да") .AddSetter((c, x) => c.Visible = x.Status != RouteListItemStatus.Transfered) .AddToggleRenderer(x => x.LeftNotNeedToReload).Radio() .AddSetter((c, x) => c.Visible = x.Status != RouteListItemStatus.Transfered) .AddTextRenderer(x => "Нет") .AddSetter((c, x) => c.Visible = x.Status != RouteListItemStatus.Transfered); } return(config.AddColumn("Комментарий").AddTextRenderer(node => node.Comment) .RowCells().AddSetter <CellRenderer>((cell, node) => cell.CellBackgroundGdk = node.WasTransfered ? colorGreen : colorWhite) .Finish()); }
public ContractMaintenanceAddressesView() { this.Build(); ytreeviewAddresses.ColumnsConfig = ColumnsConfigFactory.Create <ContractMaintenanceAddress>() .AddColumn("Адрес").AddTextRenderer(x => x.DeliveryPoint.CompiledAddress) .AddColumn("Кол. кабин") .AddNumericRenderer(x => x.CabineCount).Editing() .Adjustment(new Adjustment(1, 1, 100, 1, 1, 1)) .AddColumn("Количество ТО") .AddNumericRenderer(x => x.MaintenanceCount).Editing() .Adjustment(new Adjustment(1, 1, 4, 1, 1, 1)) .AddColumn("Стоим. план. ТО(Стд)") .AddNumericRenderer(x => x.MaintenanceStdCost).Editing() .Adjustment(new Adjustment(0, 0, 1000000, 100, 1000, 1)) .AddColumn("Стоим. план. ТО(Зим)") .AddNumericRenderer(x => x.MaintenanceWinterCost).Editing() .Adjustment(new Adjustment(0, 0, 1000000, 100, 1000, 1)) .AddColumn("Стоим. доп. ТО(Стд)") .AddNumericRenderer(x => x.AdditionalMaintenanceStdCost).Editing() .Adjustment(new Adjustment(0, 0, 1000000, 100, 1000, 1)) .AddColumn("Стоим. доп. ТО(Зим)") .AddNumericRenderer(x => x.AdditionalMaintenanceWinterCost).Editing() .Adjustment(new Adjustment(0, 0, 1000000, 100, 1000, 1)) .AddColumn("Информация о кабинах") .AddTextRenderer(x => x.Info).Editable() .Finish(); ytreeviewAddresses.Selection.Changed += YtreeviewAddresses_Selection_Changed; }
public void ConfigureDlg(IUnitOfWork uow, Subdivision subdivision) { UoW = uow; this.subdivision = subdivision; var permissionExtensionStore = PermissionExtensionSingletonStore.GetInstance(); permissionlistview.ViewModel = new PermissionListViewModel(permissionExtensionStore); ViewModel = new EntitySubdivisionPermissionModel(UoW, subdivision, permissionlistview.ViewModel, new EntityRepositories.Permissions.PermissionRepository()); var extensions = ViewModel.ExtensionStore.PermissionExtensions; extensions.OrderBy(x => x.PermissionId); foreach (SubdivisionPermissionNode item in ViewModel.PermissionListViewModel.PermissionsList) { item.EntityPermissionExtended.OrderBy(x => x.PermissionId); } ytreeviewEntitiesList.ColumnsConfig = ColumnsConfigFactory.Create <TypeOfEntity>() .AddColumn("Документ").AddTextRenderer(x => x.CustomName) .Finish(); ytreeviewEntitiesList.ItemsDataSource = ViewModel.ObservableTypeOfEntitiesList; Sensitive = true; }
private void Configure() { buttonSendEmail.Clicked += (sender, e) => ViewModel.SendEmailCommand.Execute(); ViewModel.SendEmailCommand.CanExecuteChanged += (sender, args) => buttonSendEmail.Sensitive = ViewModel.SendEmailCommand.CanExecute(); buttonRefreshEmailList.Clicked += (sender, e) => ViewModel.RefreshEmailListCommand.Execute(); ViewModel.RefreshEmailListCommand.CanExecuteChanged += (sender, args) => buttonRefreshEmailList.Sensitive = ViewModel.RefreshEmailListCommand.CanExecute(); buttonSendEmail.Binding.AddBinding(ViewModel, vm => vm.BtnSendEmailSensitive, w => w.Sensitive).InitializeFromSource(); yvalidatedentryEmail.ValidationMode = QSWidgetLib.ValidationType.email; yvalidatedentryEmail.Binding.AddBinding(ViewModel, vm => vm.EmailString, w => w.Text).InitializeFromSource(); yvalidatedentryEmail.Changed += YvalidatedentryEmailOnChanged; ylabelDescription.Binding.AddBinding(ViewModel, vm => vm.Description, w => w.Text).InitializeFromSource(); ytreeviewStoredEmails.ColumnsConfig = ColumnsConfigFactory.Create <StoredEmail>() .AddColumn("Дата").AddTextRenderer(x => x.SendDate.ToString("dd.MM.yyyy HH:mm")) .AddColumn("Почта").AddTextRenderer(x => x.RecipientAddress) .AddColumn("Статус").AddEnumRenderer(x => x.State) .RowCells() .Finish(); ytreeviewStoredEmails.ItemsDataSource = ViewModel.StoredEmails; ytreeviewStoredEmails.Selection.Changed += OnYtreeviewStoredEmailsSelectionChanged; Sensitive = EmailServiceSetting.SendingAllowed; }
void ConfigureDlg() { ylabelDate.Binding.AddFuncBinding(Entity, e => e.Date.ToString("D"), w => w.LabelProp).InitializeFromSource(); yspinMoney.Binding.AddBinding(Entity, e => e.TotalMoney, w => w.ValueAsDecimal).InitializeFromSource(); yentryPremiumReasonString.Binding.AddBinding(Entity, e => e.PremiumReasonString, w => w.Text).InitializeFromSource(); var filterRouteList = new RouteListsFilter(UoW); filterRouteList.SetFilterDates(DateTime.Today.AddDays(-7), DateTime.Today.AddDays(1)); Entity.ObservableItems.ListContentChanged += ObservableItems_ListContentChanged; var filterAuthor = new EmployeeFilter(UoW); yentryAuthor.RepresentationModel = new EmployeesVM(filterAuthor); yentryAuthor.Binding.AddBinding(Entity, e => e.Author, w => w.Subject).InitializeFromSource(); ytreeviewItems.ColumnsConfig = ColumnsConfigFactory.Create <PremiumItem>() .AddColumn("Сотрудник").AddTextRenderer(x => x.Employee.FullName) .AddColumn("Премия").AddNumericRenderer(x => x.Money).Editing().Digits(2) .Adjustment(new Gtk.Adjustment(0, 0, 10000000, 1, 10, 10)) .AddColumn("Причина штрафа").AddTextRenderer(x => x.Premium.PremiumReasonString) .Finish(); ytreeviewItems.ItemsDataSource = Entity.ObservableItems; }
void ConfigureDlg() { UoW.CanCheckIfDirty = false; HasChanges = true; var colorRed = new Color(255, 0, 0); var colorWhite = new Color(255, 255, 255); TabName = "Правила доставки и цены"; treeRules.ColumnsConfig = ColumnsConfigFactory.Create <ScheduleRestrictedDistrictRuleItem>() .AddColumn("Правило").AddTextRenderer(p => p.DeliveryPriceRule.ToString()) .AddColumn("Цена") .AddNumericRenderer(p => p.DeliveryPrice) .Digits(2) .WidthChars(10) .Adjustment(new Adjustment(0, 0, 1000000, 1, 100, 0)) .Editing(true) .AddSetter( (c, r) => c.BackgroundGdk = r.DeliveryPrice <= 0 ? colorRed : colorWhite ) .AddTextRenderer(node => CurrencyWorks.CurrencyShortName, false) .AddColumn("") .Finish(); treeRules.ItemsDataSource = Entity.ObservableScheduleRestrictedDistrictRuleItems; treeRules.Selection.Mode = SelectionMode.Multiple; treeRules.Selection.Changed += (s, e) => selectedItems = treeRules.GetSelectedObjects <ScheduleRestrictedDistrictRuleItem>(); }
void ConfigureDlg() { var filterEmployee = new EmployeeFilter(UoW); filterEmployee.ShowFired = false; yentryEmployee.RepresentationModel = new ViewModel.EmployeesVM(filterEmployee); yentryEmployee.Binding.AddBinding(Entity, e => e.Accountable, w => w.Subject).InitializeFromSource(); var filterCasher = new EmployeeFilter(UoW); filterCasher.ShowFired = false; yentryCasher.RepresentationModel = new ViewModel.EmployeesVM(filterCasher); yentryCasher.Binding.AddBinding(Entity, e => e.Casher, w => w.Subject).InitializeFromSource(); ydateDocument.Binding.AddBinding(Entity, s => s.Date, w => w.Date).InitializeFromSource(); OrmMain.GetObjectDescription <ExpenseCategory>().ObjectUpdated += OnExpenseCategoryUpdated; OnExpenseCategoryUpdated(null, null); comboExpense.Binding.AddBinding(Entity, s => s.ExpenseCategory, w => w.SelectedItem).InitializeFromSource(); yspinMoney.Binding.AddBinding(Entity, s => s.Money, w => w.ValueAsDecimal).InitializeFromSource(); ytextviewDescription.Binding.AddBinding(Entity, s => s.Description, w => w.Buffer.Text).InitializeFromSource(); ytreeviewDebts.ColumnsConfig = ColumnsConfigFactory.Create <RecivedAdvance>() .AddColumn("Закрыть").AddToggleRenderer(a => a.Selected).Editing() .AddColumn("Дата").AddTextRenderer(a => a.Advance.Date.ToString()) .AddColumn("Получено").AddTextRenderer(a => a.Advance.Money.ToString("C")) .AddColumn("Непогашено").AddTextRenderer(a => a.Advance.UnclosedMoney.ToString("C")) .AddColumn("Статья").AddTextRenderer(a => a.Advance.ExpenseCategory.Name) .AddColumn("Основание").AddTextRenderer(a => a.Advance.Description) .Finish(); }
private void createTableFormulas() { using (IUnitOfWork uow = UnitOfWorkFactory.CreateWithoutRoot()) { Domain.SalaryFormulas salaryFormulas = null; var itemsQueryService = uow.Session.QueryOver <Service>().Where(x => x.ListServiceOrderType != null).List().Where(x => x.ListServiceOrderType.Count > 0).ToList() .Where(x => x.ListServiceOrderType[0].OrderTypeClass.IsCalculateSalary).ToList(); var itemsQuerySalaryFormulas = uow.Session.QueryOver <Domain.SalaryFormulas>(() => salaryFormulas).List(); foreach (var serv in itemsQueryService) { if (itemsQuerySalaryFormulas.Where(x => x.Service.Id == serv.Id).Count() < 1) { itemsQuerySalaryFormulas.Add(new Domain.SalaryFormulas(serv, "", "")); } } ytreeFormulas.ColumnsConfig = ColumnsConfigFactory.Create <Domain.SalaryFormulas>() .AddColumn("Услуга").AddTextRenderer(x => x.Service.Name) .AddColumn("Формула").AddTextRenderer(x => x.Formula) .AddColumn("Комментарий").AddTextRenderer(x => x.Comment) .Finish(); ytreeFormulas.ItemsDataSource = itemsQuerySalaryFormulas; ytreeFormulas.Selection.Changed += Selection_Changed; } }
private void Configure() { validatedPhoneEntry.WidthRequest = 135; validatedPhoneEntry.ValidationMode = QSWidgetLib.ValidationType.phone; yPhonesListTreeView.ColumnsConfig = ColumnsConfigFactory.Create <Phone>() .AddColumn("Телефоны") .AddTextRenderer(x => x.Number) .Finish(); if (_orderPermissionResult.CanRead) { yPhonesListTreeView.Selection.Changed += (sender, args) => { _selectedPhone = yPhonesListTreeView.GetSelectedObject() as Phone; validatedPhoneEntry.Text = _selectedPhone?.Number ?? ""; }; } validatedPhoneEntry.Sensitive = _orderPermissionResult.CanRead; ySendSmsButton.Sensitive = _canSendSmsForPayFromYookassa; btnSendFastPaymentPayByCardUrlBySms.Sensitive = _canSendSmsForPayFromSbpByCard; ySendSmsButton.Pressed += OnSendSmsButtonPressed; btnSendFastPaymentPayByQrUrlBySms.Clicked += OnSendFastPaymentUrlBySmsClicked; btnSendFastPaymentPayByCardUrlBySms.Clicked += OnSendFastPaymentUrlBySmsClicked; }
public PriceLoadDlg(string filePath) { this.Build(); TabName = "Загрузка прайса (Шаг 1)"; try { using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { wb = new XSSFWorkbook(fs); } }catch (IOException ex) { if (ex.HResult == -2147024864) { MessageDialogWorks.RunErrorDialog("Указанный файл уже открыт в другом приложении. Оно заблокировало доступ к файлу."); FailInitialize = true; return; } throw ex; } var sheets = new List <string>(); for (int s = 0; s < wb.NumberOfSheets; s++) { sheets.Add(wb.GetSheetName(s)); } comboSheet.ItemsList = sheets; ytreeviewSetColumns.EnableGridLines = Gtk.TreeViewGridLines.Both; ytreeviewSetColumns.HeadersClickable = true; SetColumnTypeMenu = GtkMenuHelper.GenerateMenuFromEnum <ReadingXLSRow.ColumnType>(OnSetColumnHeaderMenuSelected); notebook1.ShowTabs = false; //Вкладка второго экрана ytreeviewParsing.ColumnsConfig = ColumnsConfigFactory.Create <ReadingXLSRow>() .AddColumn("Статус").Resizable().AddTextRenderer(x => x.Status.GetEnumTitle()) .AddSetter((w, x) => w.Foreground = GetColorByStatus(x.Status)) .AddColumn("Тип").Resizable().SetDataProperty(node => node.DispalyType) .AddColumn("Диаметр").Resizable().SetDataProperty(node => node.DispalyDiameter) .AddColumn("Давление").Resizable().SetDataProperty(node => node.DispalyPressure) .AddColumn("Cоединения").Resizable().SetDataProperty(node => node.DispalyConnection) .AddColumn("Материал").Resizable().SetDataProperty(node => node.DispalyMaterial) .AddColumn("Артикул").Resizable().SetDataProperty(node => node.DispalyModel) .AddColumn("Цена").Resizable().AddNumericRenderer(x => x.Price) .AddSetter((w, x) => w.Background = x.Price.HasValue ? "white" : "red") .AddColumn("DN(XLS)").Resizable().AddTextRenderer(x => x.DNText).Background("White Smoke") .AddColumn("PN(XLS)").Resizable().AddTextRenderer(x => x.PNText).Background("White Smoke") .AddColumn("Модель(XLS)").Resizable().AddTextRenderer(x => x.ModelText).Background("White Smoke") .AddColumn("Цена(XLS)").Resizable().AddTextRenderer(x => x.PriceText).Background("White Smoke") .Finish(); ytreeviewParsing.EnableGridLines = TreeViewGridLines.Both; ytreeviewParsing.Selection.Mode = SelectionMode.Multiple; ytreeviewParsing.Selection.Changed += YtreeviewParsing_Selection_Changed; comboCurrency.ItemsEnum = typeof(PriceСurrency); }
void ConfigureDlg() { accessfilteredsubdivisionselectorwidget.OnSelected += Accessfilteredsubdivisionselectorwidget_OnSelected; if (Entity.RelatedToSubdivision != null) { accessfilteredsubdivisionselectorwidget.SelectIfPossible(Entity.RelatedToSubdivision); } var filterEmployee = new EmployeeRepresentationFilterViewModel { Status = EmployeeStatus.IsWorking }; yentryEmployee.RepresentationModel = new ViewModel.EmployeesVM(filterEmployee); yentryEmployee.Binding.AddBinding(Entity, e => e.Accountable, w => w.Subject).InitializeFromSource(); var filterCasher = new EmployeeRepresentationFilterViewModel { Status = EmployeeStatus.IsWorking }; yentryCasher.RepresentationModel = new ViewModel.EmployeesVM(filterCasher); yentryCasher.Binding.AddBinding(Entity, e => e.Casher, w => w.Subject).InitializeFromSource(); ydateDocument.Binding.AddBinding(Entity, s => s.Date, w => w.Date).InitializeFromSource(); NotifyConfiguration.Instance.BatchSubscribeOnEntity <ExpenseCategory>(HandleBatchEntityChangeHandler); UpdateExpenseCategories(); comboExpense.Binding.AddBinding(Entity, s => s.ExpenseCategory, w => w.SelectedItem).InitializeFromSource(); yspinMoney.Binding.AddBinding(Entity, s => s.Money, w => w.ValueAsDecimal).InitializeFromSource(); specialListCmbOrganisation.ShowSpecialStateNot = true; specialListCmbOrganisation.ItemsList = UoW.GetAll <Organization>(); specialListCmbOrganisation.Binding.AddBinding(Entity, e => e.Organisation, w => w.SelectedItem).InitializeFromSource(); ytextviewDescription.Binding.AddBinding(Entity, s => s.Description, w => w.Buffer.Text).InitializeFromSource(); ytreeviewDebts.ColumnsConfig = ColumnsConfigFactory.Create <RecivedAdvance>() .AddColumn("Закрыть").AddToggleRenderer(a => a.Selected).Editing() .AddColumn("Дата").AddTextRenderer(a => a.Advance.Date.ToString()) .AddColumn("Получено").AddTextRenderer(a => a.Advance.Money.ToString("C")) .AddColumn("Непогашено").AddTextRenderer(a => a.Advance.UnclosedMoney.ToString("C")) .AddColumn("Статья").AddTextRenderer(a => a.Advance.ExpenseCategory.Name) .AddColumn("Основание").AddTextRenderer(a => a.Advance.Description) .Finish(); UpdateSubdivision(); if (!CanEdit) { table1.Sensitive = false; accessfilteredsubdivisionselectorwidget.Sensitive = false; buttonSave.Sensitive = false; ytreeviewDebts.Sensitive = false; ytextviewDescription.Editable = false; } }
public void createTable() { ytreeviewService.ItemsDataSource = listService; ytreeviewService.ColumnsConfig = ColumnsConfigFactory.Create <Service>() .AddColumn("Id").AddNumericRenderer(x => x.Id) .AddColumn("Наименование").AddTextRenderer(x => x.Name) .AddColumn("Цена").AddNumericRenderer(x => x.Price) .Finish(); }
public void Refresh() { DeliveryPoint = (InfoProvider as IDeliveryPointInfoProvider)?.DeliveryPoint; if (DeliveryPoint == null) { return; } var allEquipmentAtDeliveryPoint = EquipmentRepository.GetEquipmentAtDeliveryPoint(InfoProvider.UoW, DeliveryPoint); labelEquipmentCount.Text = allEquipmentAtDeliveryPoint.Count + " шт."; var nextServiceText = string.Empty; var equipmentsWithNextServiceDate = allEquipmentAtDeliveryPoint .Where(eq => eq.NextServiceDate.HasValue); var eqWithMinDate = equipmentsWithNextServiceDate .Aggregate <Equipment, Equipment, Equipment>(null, (minEq, eq) => (minEq == null || (eq.NextServiceDate < minEq.NextServiceDate) ? eq : minEq), r => r); if (eqWithMinDate != null) { var nextServiceDate = eqWithMinDate.LastServiceDate.AddMonths(6); var daysTillNextService = (nextServiceDate - DateTime.Today).Days; nextServiceText = string.Format( "{0} (осталось {1} {2})", nextServiceDate.ToShortDateString(), daysTillNextService, NumberToTextRus.Case(daysTillNextService, "день", "дня", "дней") ); } labelNextService.Text = nextServiceText; var agreements = AdditionalAgreementRepository.GetActiveAgreementsForDeliveryPoint(InfoProvider.UoW, DeliveryPoint); /*Отключено из-за ошибки. Задачи I-1221 и I-1020 * if(fixedPricesList != null) * fixedPricesList.ToList().ForEach(x => InfoProvider.UoW.Session.Evict(x));*/ if (Contract != null) { RefreshList(); } else { fixedPricesList = new List <WaterSalesAgreementFixedPrice>(); } ytreeviewFixedPrices.ColumnsConfig = ColumnsConfigFactory.Create <WaterSalesAgreementFixedPrice>() .AddColumn("Номенклатура") .AddTextRenderer(x => x.Nomenclature.ShortOrFullName) .AddColumn("Цена") .AddTextRenderer(x => string.Format("{0}р.", x.Price)) .Finish(); ytreeviewFixedPrices.SetItemsSource(fixedPricesList); ytreeviewFixedPrices.Visible = fixedPricesList.Any(); hboxNotFixedPriceInfo.Visible = !fixedPricesList.Any(); WaterAgreements = agreements.Where(a => a.Type == AgreementType.WaterSales).ToArray(); buttonWaterAgreement.Visible = WaterAgreements.Any(); }
void ConfigureDlg() { enumcomboOperation.ItemsEnum = typeof(IncomeType); enumcomboOperation.Binding.AddBinding(Entity, s => s.TypeOperation, w => w.SelectedItem).InitializeFromSource(); var filterCasher = new EmployeeFilter(UoW); filterCasher.ShowFired = false; yentryCasher.RepresentationModel = new ViewModel.EmployeesVM(filterCasher); yentryCasher.Binding.AddBinding(Entity, s => s.Casher, w => w.Subject).InitializeFromSource(); var filter = new EmployeeFilter(UoW); filter.ShowFired = false; yentryEmployee.RepresentationModel = new ViewModel.EmployeesVM(filter); yentryEmployee.Binding.AddBinding(Entity, s => s.Employee, w => w.Subject).InitializeFromSource(); var filterRL = new RouteListsFilter(UoW); filterRL.OnlyStatuses = new RouteListStatus[] { RouteListStatus.EnRoute, RouteListStatus.OnClosing }; yEntryRouteList.RepresentationModel = new ViewModel.RouteListsVM(filterRL); yEntryRouteList.Binding.AddBinding(Entity, s => s.RouteListClosing, w => w.Subject).InitializeFromSource(); yEntryRouteList.CanEditReference = QSMain.User.Permissions["can_delete"]; yEntryRouteList.Hidden += YEntryRouteList_ValueOrVisibilityChanged; yEntryRouteList.Shown += YEntryRouteList_ValueOrVisibilityChanged; yEntryRouteList.ChangedByUser += YEntryRouteList_ValueOrVisibilityChanged; yentryClient.ItemsQuery = Repository.CounterpartyRepository.ActiveClientsQuery(); yentryClient.Binding.AddBinding(Entity, s => s.Customer, w => w.Subject).InitializeFromSource(); ydateDocument.Binding.AddBinding(Entity, s => s.Date, w => w.Date).InitializeFromSource(); OrmMain.GetObjectDescription <ExpenseCategory> ().ObjectUpdated += OnExpenseCategoryUpdated; OnExpenseCategoryUpdated(null, null); comboExpense.Binding.AddBinding(Entity, s => s.ExpenseCategory, w => w.SelectedItem).InitializeFromSource(); OrmMain.GetObjectDescription <IncomeCategory> ().ObjectUpdated += OnIncomeCategoryUpdated; OnIncomeCategoryUpdated(null, null); comboCategory.Binding.AddBinding(Entity, s => s.IncomeCategory, w => w.SelectedItem).InitializeFromSource(); checkNoClose.Binding.AddBinding(Entity, e => e.NoFullCloseMode, w => w.Active); yspinMoney.Binding.AddBinding(Entity, s => s.Money, w => w.ValueAsDecimal).InitializeFromSource(); ytextviewDescription.Binding.AddBinding(Entity, s => s.Description, w => w.Buffer.Text).InitializeFromSource(); ytreeviewDebts.ColumnsConfig = ColumnsConfigFactory.Create <Selectable <Expense> > () .AddColumn("Закрыть").AddToggleRenderer(a => a.Selected).Editing() .AddColumn("Дата").AddTextRenderer(a => a.Value.Date.ToString()) .AddColumn("Получено").AddTextRenderer(a => a.Value.Money.ToString("C")) .AddColumn("Непогашено").AddTextRenderer(a => a.Value.UnclosedMoney.ToString("C")) .AddColumn("Статья").AddTextRenderer(a => a.Value.ExpenseCategory.Name) .AddColumn("Основание").AddTextRenderer(a => a.Value.Description) .Finish(); }
private void ConfigureDlg() { referenceDeliveryPoint.RepresentationModel = new ViewModel.ClientDeliveryPointsVM(UoW, Entity.Contract.Counterparty); referenceDeliveryPoint.Binding.AddBinding(Entity, e => e.DeliveryPoint, w => w.Subject).InitializeFromSource(); ylabelNumber.Binding.AddBinding(Entity, e => e.FullNumberText, w => w.LabelProp).InitializeFromSource(); dateIssue.Binding.AddBinding(Entity, e => e.IssueDate, w => w.Date).InitializeFromSource(); dateStart.Binding.AddBinding(Entity, e => e.StartDate, w => w.Date).InitializeFromSource(); if (Entity.DocumentTemplate == null && Entity.Contract != null) { Entity.UpdateContractTemplate(UoW); } if (Entity.DocumentTemplate != null) { (Entity.DocumentTemplate.DocParser as WaterAgreementParser).RootObject = Entity; (Entity.DocumentTemplate.DocParser as WaterAgreementParser) .AddPricesTable(WaterPricesRepository.GetCompleteWaterPriceTable(UoW)); } templatewidget1.CanRevertCommon = QSProjectsLib.QSMain.User.Permissions["can_set_common_additionalagreement"]; templatewidget1.Binding.AddBinding(Entity, e => e.DocumentTemplate, w => w.Template).InitializeFromSource(); templatewidget1.Binding.AddBinding(Entity, e => e.ChangedTemplateFile, w => w.ChangedDoc).InitializeFromSource(); ytreeviewFixedPrices.ColumnsConfig = ColumnsConfigFactory.Create <WaterSalesAgreementFixedPrice>() .AddColumn("Номенклатура").AddTextRenderer(x => x.Nomenclature.Name) .AddColumn("Фиксированная цена").AddNumericRenderer(x => x.Price).Editing().Digits(2) .Adjustment(new Gtk.Adjustment(0, 0, 1e6, 1, 10, 10)) .Finish(); ytreeviewFixedPricesChanges.ColumnsConfig = ColumnsConfigFactory.Create <FieldChange>() .AddColumn("Время изменения").AddTextRenderer(x => x.Entity.ChangeTimeText) .AddColumn("Пользователь").AddTextRenderer(x => x.Entity.ChangeSet.UserName) .AddColumn("Старое значение").AddTextRenderer(x => x.OldPangoText, useMarkup: true) .AddColumn("Новое значение").AddTextRenderer(x => x.NewPangoText, useMarkup: true) .Finish(); ytreeviewFixedPrices.Selection.Changed += (sender, e) => { var fixedPrice = (ytreeviewFixedPrices.GetSelectedObject() as WaterSalesAgreementFixedPrice); if (fixedPrice == null) { ytreeviewFixedPricesChanges.ItemsDataSource = null; return; } var fixedPricesChanges = HistoryChangesRepository .GetFieldChanges <WaterSalesAgreementFixedPrice>(UoW, new[] { fixedPrice.Id }, x => x.Price) .OrderBy(x => x.Entity.ChangeTime).ToList(); ytreeviewFixedPricesChanges.ItemsDataSource = fixedPricesChanges; }; ytreeviewFixedPrices.ItemsDataSource = Entity.ObservableFixedPrices; ytreeviewFixedPrices.Selection.Changed += YtreeviewFixedPrices_Selection_Changed; }
public EmailsPanelView() { this.Build(); ytreeviewEmails.ColumnsConfig = ColumnsConfigFactory .Create <StoredEmail>() .AddColumn("Дата").AddTextRenderer(x => x.SendDate.ToString("dd.MM.yy HH:mm")) .AddColumn("Почта").AddTextRenderer(x => x.RecipientAddress) .AddColumn("Статус").AddEnumRenderer(x => x.State) .Finish(); }
private void createTable() { ytree.ItemsDataSource = listEmployees.Where(x => x.StatusEmployee.Code == ActiveCode).ToList(); ytree.ColumnsConfig = ColumnsConfigFactory.Create <Employee>() .AddColumn("Фамилия").AddTextRenderer(x => x.LastName).Editable() .AddColumn("Имя").AddTextRenderer(x => x.FirstName).Editable() .AddColumn("Отчество").AddTextRenderer(x => x.Patronymic).Editable() .AddColumn("Статус").AddTextRenderer(x => x.StatusEmployee.Name) .Finish(); }
public RegradingOfGoodsTemplateItemsView() { this.Build(); ytreeviewItems.ColumnsConfig = ColumnsConfigFactory.Create <RegradingOfGoodsTemplateItem>() .AddColumn("Старая номенклатура").AddTextRenderer(x => x.NomenclatureOld.Name) .AddColumn("Новая номенклатура").AddTextRenderer(x => x.NomenclatureNew.Name) .Finish(); ytreeviewItems.Selection.Changed += YtreeviewItems_Selection_Changed; }
public ContractShortLeaseAdressesView() { this.Build(); ytreeviewAddresses.ColumnsConfig = ColumnsConfigFactory.Create <ContractShortLeaseAddress>() .AddColumn("Адрес").AddTextRenderer(x => x.DeliveryPoint.CompiledAddress) .Finish(); ytreeviewAddresses.Selection.Changed += YtreeviewAddresses_Selection_Changed; }
private void Configure() { ybuttonCancel.Clicked += (sender, args) => ViewModel.Close(false, CloseSource.Cancel); ybuttonCancel.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); ybuttonSave.Clicked += (sender, args) => ViewModel.SaveAndClose(); ybuttonSave.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); entryBottlesCount.ValidationMode = ValidationType.Numeric; entryBottlesCount.Binding.AddSource(ViewModel) .AddBinding(vm => vm.CanEdit, w => w.Sensitive) .AddBinding(vm => vm.BottlesCount, w => w.Text, new IntToStringConverter()) .InitializeFromSource(); entryFastDeliveryMaxDistance.ValidationMode = ValidationType.Numeric; entryFastDeliveryMaxDistance.Binding.AddSource(ViewModel) .AddBinding(vm => vm.CanEdit, w => w.Sensitive) .AddBinding(vm => vm.FastDeliveryMaxDistance, w => w.Text, new DoubleToStringConverter()) .InitializeFromSource(); ycheckFlyerAdditionEnabled.Binding.AddSource(ViewModel) .AddBinding(vm => vm.CanEdit, w => w.Sensitive) .AddBinding(vm => vm.FlyerAdditionEnabled, w => w.Active) .InitializeFromSource(); ybuttonAddNomenclature.Clicked += (sender, args) => ViewModel.AddNomenclatureDistributionCommand.Execute(); ybuttonAddNomenclature.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); ybuttonRemoveNomenclature.Clicked += (sender, args) => ViewModel.RemoveNomenclatureDistributionCommand.Execute( ytreeNomenclatures.GetSelectedObjects <AdditionalLoadingNomenclatureDistribution>()); ybuttonRemoveNomenclature.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); ytreeNomenclatures.ColumnsConfig = ColumnsConfigFactory.Create <AdditionalLoadingNomenclatureDistribution>() .AddColumn("ТМЦ") .HeaderAlignment(0.5f) .MinWidth(320) .AddTextRenderer(x => x.Nomenclature.Name) .AddColumn("Распределение %") .HeaderAlignment(0.5f) .AddNumericRenderer(x => x.Percent) .Adjustment(new Adjustment(1, 0.01, 100, 1, 1, 0)) .Digits(2) .AddSetter((c, n) => { c.Editable = ViewModel.CanEdit; }) .XAlign(0.5f) .Finish(); ytreeNomenclatures.Reorderable = true; ytreeNomenclatures.Selection.Mode = SelectionMode.Multiple; ytreeNomenclatures.ItemsDataSource = ViewModel.ObservableNomenclatureDistributions; ybuttonFlyerInfo.Clicked += (sender, args) => ViewModel.ShowFlyerInfoCommand.Execute(); ViewModel.PropertyChanged += OnViewModelPropertyChanged; OnViewModelPropertyChanged(this, new PropertyChangedEventArgs(nameof(ViewModel.PercentSum))); }
private IColumnsConfig CreateClosedComplaintResultColumnConfig() { return(ColumnsConfigFactory.Create <ClosedComplaintResultNode>() .AddColumn("Итог") .AddTextRenderer(n => string.IsNullOrEmpty(n.Name) ? "(результат не выставлен)" : n.Name) .WrapWidth(150).WrapMode(Pango.WrapMode.WordChar) .AddColumn("Кол-во") .AddTextRenderer(n => n.Count.ToString()) .WrapWidth(50).WrapMode(Pango.WrapMode.WordChar) .Finish()); }