Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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;
        }
Esempio n. 5
0
        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;
            }
        }
Esempio n. 7
0
        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;
        }
Esempio n. 8
0
        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;
        }
Esempio n. 9
0
        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     = "все";
        }
Esempio n. 10
0
        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;
        }
Esempio n. 12
0
        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;
        }
Esempio n. 13
0
        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;
        }
Esempio n. 14
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;
        }
        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>();
        }
Esempio n. 16
0
        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();
        }
Esempio n. 17
0
        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;
        }
Esempio n. 19
0
        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);
        }
Esempio n. 20
0
        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;
            }
        }
Esempio n. 21
0
 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();
        }
Esempio n. 23
0
        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();
        }
Esempio n. 24
0
        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;
        }
Esempio n. 25
0
 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();
 }
Esempio n. 26
0
 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;
        }
Esempio n. 29
0
        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)));
        }
Esempio n. 30
0
 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());
 }