Пример #1
0
        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;
        }
Пример #2
0
        private void ConfigureDlg()
        {
            enumFineType.ItemsEnum = typeof(FineTypes);
            enumFineType.Binding.AddBinding(ViewModel, e => e.FineType, w => w.SelectedItem).InitializeFromSource();
            enumFineType.Binding.AddBinding(ViewModel, vm => vm.CanEditFineType, w => w.Sensitive).InitializeFromSource();

            ylabelOverspending.Binding.AddBinding(ViewModel, vm => vm.IsFuelOverspendingFine, w => w.Visible).InitializeFromSource();
            yspinLiters.Binding.AddBinding(ViewModel.Entity, e => e.LitersOverspending, w => w.ValueAsDecimal).InitializeFromSource();
            yspinLiters.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource();
            yspinLiters.Binding.AddBinding(ViewModel, vm => vm.IsFuelOverspendingFine, w => w.Visible).InitializeFromSource();

            ylabelRequestRouteList.Binding.AddBinding(ViewModel, vm => vm.CanShowRequestRouteListMessage, w => w.Visible).InitializeFromSource();

            ylabelAuthor.Binding.AddBinding(ViewModel.Entity, e => e.Author, w => w.LabelProp, new EmployeeToLastNameWithInitialsConverter()).InitializeFromSource();

            var filterRouteList = new RouteListsFilter(ViewModel.UoW);

            filterRouteList.SetFilterDates(DateTime.Today.AddDays(-7), DateTime.Today.AddDays(1));
            yentryreferenceRouteList.RepresentationModel = new ViewModel.RouteListsVM(filterRouteList);
            yentryreferenceRouteList.Binding.AddBinding(ViewModel, e => e.RouteList, w => w.Subject).InitializeFromSource();
            yentryreferenceRouteList.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource();

            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();
            yspinMoney.Binding.AddBinding(ViewModel, vm => vm.IsStandartFine, w => w.Sensitive).InitializeFromSource();

            ybuttonDivideByAll.Binding.AddBinding(ViewModel, vm => vm.IsStandartFine, w => w.Visible).InitializeFromSource();
            ybuttonDivideByAll.Clicked += (sender, e) => ViewModel.DivideByAllCommand.Execute();

            yentryFineReasonString.Binding.AddBinding(ViewModel, e => e.FineReasonString, w => w.Text).InitializeFromSource();
            yentryFineReasonString.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource();

            ybuttonGetReasonFromTemplate.Binding.AddBinding(ViewModel, vm => vm.IsStandartFine, w => w.Visible).InitializeFromSource();
            ybuttonGetReasonFromTemplate.Clicked += (sender, e) => ViewModel.SelectReasonTemplateCommand.Execute();

            ybuttonAdd.Clicked += (sender, e) => ViewModel.AddFineItemCommand.Execute();
            ViewModel.AddFineItemCommand.CanExecuteChanged += (sender, e) => { ybuttonAdd.Sensitive = ViewModel.AddFineItemCommand.CanExecute(); };

            ybuttonRemove.Clicked += (sender, e) => ViewModel.DeleteFineItemCommand.Execute(GetSelectedFineItem());
            ViewModel.DeleteFineItemCommand.CanExecuteChanged += (sender, e) => { ybuttonRemove.Sensitive = ViewModel.DeleteFineItemCommand.CanExecute(GetSelectedFineItem()); };

            ytreeviewItems.ColumnsConfig = FluentColumnsConfig <FineItem> .Create()
                                           .AddColumn("Сотрудник").AddTextRenderer(x => x.Employee.FullName)
                                           .AddColumn("Штраф").AddNumericRenderer(x => x.Money).Editing(ViewModel.IsStandartFine).Digits(2)
                                           .Adjustment(new Gtk.Adjustment(0, 0, 10000000, 1, 10, 10))
                                           .AddColumn("Причина штрафа").AddTextRenderer(x => x.Fine.FineReasonString)
                                           .Finish();

            ytreeviewItems.Binding.AddBinding(ViewModel.Entity, e => e.ObservableItems, w => w.ItemsDataSource).InitializeFromSource();

            buttonSave.Clicked   += (sender, e) => { ViewModel.SaveAndClose(); };
            buttonCancel.Clicked += (sender, e) => { ViewModel.Close(false, QS.Navigation.CloseSource.Cancel); };
        }