void ConfigureDlg() { if (Entity.EmployeeDocument == null && Entity.Employee != null) { GetDocument(); } ylabelNumber.Binding.AddBinding(Entity, x => x.Title, x => x.LabelProp).InitializeFromSource(); var orderFactory = new OrderSelectorFactory(); evmeOrder.SetEntityAutocompleteSelectorFactory(orderFactory.CreateOrderAutocompleteSelectorFactory()); evmeOrder.Binding.AddBinding(Entity, x => x.Order, x => x.Subject).InitializeFromSource(); evmeOrder.Changed += (sender, e) => { FillForOrder(); }; evmeOrder.CanEditReference = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("can_delete"); var orgFactory = new OrganizationJournalFactory(); evmeOrganization.SetEntityAutocompleteSelectorFactory(orgFactory.CreateOrganizationAutocompleteSelectorFactory()); evmeOrganization.Binding.AddBinding(Entity, x => x.Organization, x => x.Subject).InitializeFromSource(); evmeOrganization.Changed += (sender, e) => UpdateStates(); FillForOrder(); yDPDatesRange.Binding.AddBinding(Entity, x => x.Date, x => x.StartDate).InitializeFromSource(); yDPDatesRange.Binding.AddBinding(Entity, x => x.ExpirationDate, x => x.EndDate).InitializeFromSource(); var employeeFactory = new EmployeeJournalFactory(); evmeEmployee.SetEntityAutocompleteSelectorFactory(employeeFactory.CreateWorkingEmployeeAutocompleteSelectorFactory()); evmeEmployee.Binding.AddBinding(Entity, x => x.Employee, x => x.Subject).InitializeFromSource(); var supplierFactory = new CounterpartyJournalFactory(); evmeSupplier.SetEntityAutocompleteSelectorFactory(supplierFactory.CreateCounterpartyAutocompleteSelectorFactory()); evmeSupplier.Binding.AddBinding(Entity, x => x.Supplier, x => x.Subject).InitializeFromSource(); yETicketNr.Binding.AddBinding(Entity, x => x.TicketNumber, w => w.Text).InitializeFromSource(); yDTicketDate.Binding.AddBinding(Entity, x => x.TicketDate, x => x.DateOrNull).InitializeFromSource(); RefreshParserRootObject(); templatewidget.CanRevertCommon = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("can_set_common_additionalagreement"); templatewidget.Binding.AddBinding(Entity, e => e.DocumentTemplate, w => w.Template).InitializeFromSource(); templatewidget.Binding.AddBinding(Entity, e => e.ChangedTemplateFile, w => w.ChangedDoc).InitializeFromSource(); templatewidget.BeforeOpen += Templatewidget_BeforeOpen; yTWEquipment.ColumnsConfig = ColumnsConfigFactory.Create <OrderEquipment>() .AddColumn("Наименование").SetDataProperty(node => node.FullNameString) .AddColumn("Направление").SetDataProperty(node => node.DirectionString) .AddColumn("Кол-во").AddNumericRenderer(node => node.Count).WidthChars(10) .Adjustment(new Adjustment(0, 0, 1000000, 1, 100, 0)) .AddColumn("") .Finish(); UpdateStates(); }
void ConfigureDlg() { TabName = "Приходный кассовый ордер самовывоза"; Entity.TypeDocument = IncomeInvoiceDocumentType.IncomeInvoiceSelfDelivery; permissioncommentview.UoW = UoW; permissioncommentview.Title = "Комментарий по проверке закрытия МЛ: "; permissioncommentview.Comment = Entity.CashierReviewComment; permissioncommentview.PermissionName = "can_edit_cashier_review_comment"; permissioncommentview.Comment = Entity.CashierReviewComment; permissioncommentview.CommentChanged += (comment) => Entity.CashierReviewComment = comment; enumcomboOperation.ItemsEnum = typeof(IncomeType); enumcomboOperation.Binding.AddBinding(Entity, s => s.TypeOperation, w => w.SelectedItem).InitializeFromSource(); enumcomboOperation.Sensitive = false; Entity.TypeOperation = IncomeType.Payment; var employeeFactory = new EmployeeJournalFactory(); evmeCashier.SetEntityAutocompleteSelectorFactory(employeeFactory.CreateEmployeeAutocompleteSelectorFactory()); evmeCashier.Binding.AddBinding(Entity, s => s.Casher, w => w.Subject).InitializeFromSource(); evmeCashier.Sensitive = false; var orderFactory = new OrderSelectorFactory(); evmeOrder.SetEntityAutocompleteSelectorFactory(orderFactory.CreateCashSelfDeliveryOrderAutocompleteSelector()); evmeOrder.Binding.AddBinding(Entity, x => x.Order, x => x.Subject).InitializeFromSource(); evmeOrder.Changed += OnYentryOrderChanged; ydateDocument.Binding.AddBinding(Entity, s => s.Date, w => w.Date).InitializeFromSource(); NotifyConfiguration.Instance.BatchSubscribeOnEntity <IncomeCategory>( s => comboCategory.ItemsList = _categoryRepository.SelfDeliveryIncomeCategories(UoW) ); comboCategory.ItemsList = incomeCategoryList; comboCategory.Binding.AddBinding(Entity, s => s.IncomeCategory, 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(); if (!CanEdit) { table1.Sensitive = false; ytextviewDescription.Editable = false; buttonSave.Sensitive = false; accessfilteredsubdivisionselectorwidget.Sensitive = false; } UpdateSubdivision(); }
void ConfigureDlg() { TabName = "Расходный кассовый ордер самовывоза"; Entity.TypeDocument = ExpenseInvoiceDocumentType.ExpenseInvoiceSelfDelivery; enumcomboOperation.ItemsEnum = typeof(ExpenseType); enumcomboOperation.Binding.AddBinding(Entity, s => s.TypeOperation, w => w.SelectedItem).InitializeFromSource(); enumcomboOperation.Sensitive = false; Entity.TypeOperation = ExpenseType.ExpenseSelfDelivery; var orderFactory = new OrderSelectorFactory(); evmeOrder.SetEntityAutocompleteSelectorFactory(orderFactory.CreateCashSelfDeliveryOrderAutocompleteSelector()); evmeOrder.Binding.AddBinding(Entity, x => x.Order, x => x.Subject).InitializeFromSource(); evmeOrder.Changed += OnYentryOrderChanged; var employeeFactory = new EmployeeJournalFactory(); evmeCashier.SetEntityAutocompleteSelectorFactory(employeeFactory.CreateEmployeeAutocompleteSelectorFactory()); evmeCashier.Binding.AddBinding(Entity, s => s.Casher, w => w.Subject).InitializeFromSource(); evmeCashier.Sensitive = false; ydateDocument.Binding.AddBinding(Entity, s => s.Date, w => w.Date).InitializeFromSource(); NotifyConfiguration.Instance.BatchSubscribeOnEntity <ExpenseCategory>( s => comboExpense.ItemsList = _categoryRepository.ExpenseSelfDeliveryCategories(UoW) ); comboExpense.ItemsList = expenseCategoryList; 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(); UpdateSubdivision(); if (!CanEdit) { table1.Sensitive = false; accessfilteredsubdivisionselectorwidget.Sensitive = false; buttonSave.Sensitive = false; ytextviewDescription.Editable = false; } }
protected void OnBtnChooseOrderClicked(object sender, EventArgs e) { var filter = new OrderJournalFilterViewModel(new CounterpartyJournalFactory(), new DeliveryPointJournalFactory()); filter.SetAndRefilterAtOnce( x => x.RestrictCounterparty = _oldOrder.Client, x => x.HideStatuses = new Enum[] { OrderStatus.WaitForPayment } ); var orderFactory = new OrderSelectorFactory(filter); var orderJournal = orderFactory.CreateOrderJournalViewModel(); orderJournal.SelectionMode = JournalSelectionMode.Single; MyTab.TabParent.AddTab(orderJournal, MyTab, false); orderJournal.OnEntitySelectedResult += (s, ea) => { var selectedId = ea.SelectedNodes.FirstOrDefault()?.Id ?? 0; if (selectedId == 0) { return; } if (_oldOrder.Id == selectedId) { MessageDialogHelper.RunErrorDialog("Перенесённый заказ не может совпадать с недовезённым!"); OnBtnChooseOrderClicked(sender, ea); return; } _newOrder = _undelivery.NewOrder = UoW.GetById <Order>(selectedId); _newOrder.Author = this._oldOrder.Author; SetLabelsAcordingToNewOrder(); _undelivery.NewDeliverySchedule = _newOrder.DeliverySchedule; if ((_oldOrder.PaymentType == Domain.Client.PaymentType.ByCard) && (_oldOrder.OrderSum == _newOrder.OrderSum) && MessageDialogHelper.RunQuestionDialog("Перенести на выбранный заказ Оплату по Карте?")) { _newOrder.PaymentType = _oldOrder.PaymentType; _newOrder.OnlineOrder = _oldOrder.OnlineOrder; _newOrder.PaymentByCardFrom = _oldOrder.PaymentByCardFrom; } }; }
void ConfigureDlg() { if (StoreDocumentHelper.CheckAllPermissions(UoW.IsNew, WarehousePermissions.SelfDeliveryEdit, Entity.Warehouse)) { FailInitialize = true; return; } Entity.InitializeDefaultValues(UoW, _nomenclatureRepository); vbxMain.Sensitive = canEditDocument; buttonCancel.Sensitive = true; var editing = StoreDocumentHelper.CanEditDocument(WarehousePermissions.SelfDeliveryEdit, Entity.Warehouse); evmeOrder.IsEditable = lstWarehouse.Sensitive = ytextviewCommnet.Editable = editing && canEditDocument; selfdeliverydocumentitemsview1.Sensitive = hbxTareToReturn.Sensitive = editing && canEditDocument; ylabelDate.Binding.AddFuncBinding(Entity, e => e.TimeStamp.ToString("g"), w => w.LabelProp).InitializeFromSource(); lstWarehouse.ItemsList = StoreDocumentHelper.GetRestrictedWarehousesList(UoW, WarehousePermissions.SelfDeliveryEdit); lstWarehouse.Binding.AddBinding(Entity, e => e.Warehouse, w => w.SelectedItem).InitializeFromSource(); lstWarehouse.ItemSelected += OnWarehouseSelected; ytextviewCommnet.Binding.AddBinding(Entity, e => e.Comment, w => w.Buffer.Text).InitializeFromSource(); var orderFactory = new OrderSelectorFactory(); evmeOrder.SetEntityAutocompleteSelectorFactory(orderFactory.CreateSelfDeliveryDocumentOrderAutocompleteSelector()); evmeOrder.Binding.AddBinding(Entity, e => e.Order, w => w.Subject).InitializeFromSource(); evmeOrder.CanEditReference = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("can_delete"); evmeOrder.ChangedByUser += (sender, e) => { UpdateOrderInfo(); Entity.FillByOrder(); Entity.UpdateStockAmount(UoW, _stockRepository); Entity.UpdateAlreadyUnloaded(UoW, _nomenclatureRepository, _bottlesRepository); UpdateAmounts(); FillTrees(); }; UpdateOrderInfo(); Entity.UpdateStockAmount(UoW, _stockRepository); Entity.UpdateAlreadyUnloaded(UoW, _nomenclatureRepository, _bottlesRepository); selfdeliverydocumentitemsview1.DocumentUoW = UoWGeneric; //bottlereceptionview1.UoW = UoW; UpdateWidgets(); lblTareReturnedBefore.Binding.AddFuncBinding(Entity, e => e.ReturnedTareBeforeText, w => w.Text).InitializeFromSource(); spnTareToReturn.Binding.AddBinding(Entity, e => e.TareToReturn, w => w.ValueAsInt).InitializeFromSource(); IColumnsConfig goodsColumnsConfig = FluentColumnsConfig <GoodsReceptionVMNode> .Create() .AddColumn("Номенклатура").AddTextRenderer(node => node.Name) .AddColumn("Кол-во").AddNumericRenderer(node => node.Amount) .Adjustment(new Gtk.Adjustment(0, 0, 9999, 1, 100, 0)) .Editing(true) .AddColumn("Ожидаемое кол-во").AddNumericRenderer(node => node.ExpectedAmount) .AddColumn("Категория").AddTextRenderer(node => node.Category.GetEnumTitle()) .AddColumn("Направление").AddTextRenderer(node => node.Direction != null ? node.Direction.GetEnumTitle() : "") .AddColumn("Принадлежность").AddEnumRenderer(node => node.OwnType, true, new Enum[] { OwnTypes.None }) .AddSetter((c, n) => { c.Editable = false; c.Editable = n.Category == NomenclatureCategory.equipment; }) .AddColumn("Причина").AddEnumRenderer( node => node.DirectionReason , true ).AddSetter((c, n) => { switch (n.DirectionReason) { case DirectionReason.Rent: c.Text = "Закрытие аренды"; break; case DirectionReason.Repair: c.Text = "В ремонт"; break; case DirectionReason.Cleaning: c.Text = "На санобработку"; break; case DirectionReason.RepairAndCleaning: c.Text = "В ремонт и санобработку"; break; default: break; } c.Editable = false; c.Editable = n.Category == NomenclatureCategory.equipment; }) .AddColumn("") .Finish(); yTreeOtherGoods.ColumnsConfig = goodsColumnsConfig; yTreeOtherGoods.ItemsDataSource = GoodsReceptionList; var permmissionValidator = new EntityExtendedPermissionValidator(PermissionExtensionSingletonStore.GetInstance(), _employeeRepository); Entity.CanEdit = permmissionValidator.Validate( typeof(SelfDeliveryDocument), ServicesConfig.UserService.CurrentUserId, nameof(RetroactivelyClosePermission)); if (!Entity.CanEdit && Entity.TimeStamp.Date != DateTime.Now.Date) { yTreeOtherGoods.Binding.AddBinding(Entity, e => e.CanEdit, w => w.Sensitive).InitializeFromSource(); evmeOrder.Binding.AddBinding(Entity, e => e.CanEdit, w => w.Sensitive).InitializeFromSource(); ytextviewCommnet.Binding.AddBinding(Entity, e => e.CanEdit, w => w.Sensitive).InitializeFromSource(); ytextviewOrderInfo.Binding.AddBinding(Entity, e => e.CanEdit, w => w.Sensitive).InitializeFromSource(); lstWarehouse.Sensitive = false; selfdeliverydocumentitemsview1.Sensitive = false; spnTareToReturn.Sensitive = false; btnAddOtherGoods.Sensitive = false; buttonSave.Sensitive = false; } else { Entity.CanEdit = true; } FillTrees(); spnTareToReturn.ValueChanged += (sender, e) => HasChanges = true; GoodsReceptionList.ListContentChanged += (sender, e) => HasChanges = true; }
public void ConfigureDlg(IUnitOfWork uow, UndeliveredOrder undelivery) { Sensitive = false; evmeOldUndeliveredOrder.Changed += OnUndeliveredOrderChanged; _canChangeProblemSource = _commonServices.PermissionService.ValidateUserPresetPermission("can_change_undelivery_problem_source", _commonServices.UserService.CurrentUserId); _undelivery = undelivery; UoW = uow; _oldOrder = undelivery.OldOrder; _newOrder = undelivery.NewOrder; if (undelivery.Id > 0 && undelivery.InProcessAtDepartment != null) { _initialProcDepartmentName = undelivery.InProcessAtDepartment.Name; } if (undelivery.Id > 0) { foreach (GuiltyInUndelivery g in undelivery.ObservableGuilty) { _initialGuiltyList.Add( new GuiltyInUndelivery { Id = g.Id, UndeliveredOrder = g.UndeliveredOrder, GuiltySide = g.GuiltySide, GuiltyDepartment = g.GuiltyDepartment } ); } } List <OrderStatus> hiddenStatusesList = new List <OrderStatus>(); var grantedStatusesArray = _orderRepository.GetStatusesForOrderCancelation(); foreach (OrderStatus status in Enum.GetValues(typeof(OrderStatus))) { if (!grantedStatusesArray.Contains(status)) { hiddenStatusesList.Add(status); } } var filterOrders = new OrderJournalFilterViewModel(new CounterpartyJournalFactory(), new DeliveryPointJournalFactory()); filterOrders.SetAndRefilterAtOnce(x => x.HideStatuses = hiddenStatusesList.Cast <Enum>().ToArray()); evmeOldUndeliveredOrder.Changed += (sender, e) => { _oldOrder = undelivery.OldOrder; lblInfo.Markup = undelivery.GetOldOrderInfo(_orderRepository); if (undelivery.Id <= 0) { undelivery.OldOrderStatus = _oldOrder.OrderStatus; } _routeListDoesNotExist = _oldOrder != null && (undelivery.OldOrderStatus == OrderStatus.NewOrder || undelivery.OldOrderStatus == OrderStatus.Accepted || undelivery.OldOrderStatus == OrderStatus.WaitForPayment); guiltyInUndeliveryView.ConfigureWidget(UoW, undelivery, !_routeListDoesNotExist); SetSensitivities(); SetVisibilities(); GetFines(); RemoveItemsFromEnums(); }; var orderFactory = new OrderSelectorFactory(filterOrders); evmeOldUndeliveredOrder.SetEntityAutocompleteSelectorFactory(orderFactory.CreateOrderAutocompleteSelectorFactory()); evmeOldUndeliveredOrder.Binding.AddBinding(undelivery, x => x.OldOrder, x => x.Subject).InitializeFromSource(); evmeOldUndeliveredOrder.CanEditReference = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("can_delete"); yDateDriverCallTime.Binding.AddBinding(undelivery, t => t.DriverCallTime, w => w.DateOrNull).InitializeFromSource(); if (undelivery.Id <= 0) { yDateDriverCallTime.DateOrNull = DateTime.Now; } yEnumCMBDriverCallPlace.ItemsEnum = typeof(DriverCallType); yEnumCMBDriverCallPlace.Binding.AddBinding(undelivery, p => p.DriverCallType, w => w.SelectedItem).InitializeFromSource(); yDateDispatcherCallTime.Binding.AddBinding(undelivery, t => t.DispatcherCallTime, w => w.DateOrNull).InitializeFromSource(); if (undelivery.Id <= 0) { yDateDispatcherCallTime.DateOrNull = DateTime.Now; } referenceNewDeliverySchedule.ItemsQuery = _deliveryScheduleRepository.AllQuery(); referenceNewDeliverySchedule.SetObjectDisplayFunc <DeliverySchedule>(e => e.Name); referenceNewDeliverySchedule.Binding.AddBinding(undelivery, s => s.NewDeliverySchedule, w => w.Subject).InitializeFromSource(); referenceNewDeliverySchedule.Sensitive = false; SetLabelsAcordingToNewOrder(); yEnumCMBStatus.ItemsEnum = typeof(UndeliveryStatus); yEnumCMBStatus.SelectedItem = undelivery.UndeliveryStatus; yEnumCMBStatus.EnumItemSelected += (s, e) => { SetSensitivities(); undelivery.SetUndeliveryStatus((UndeliveryStatus)e.SelectedItem); }; yentInProcessAtDepartment.SubjectType = typeof(Subdivision); yentInProcessAtDepartment.Binding.AddBinding(undelivery, d => d.InProcessAtDepartment, w => w.Subject).InitializeFromSource(); yentInProcessAtDepartment.ChangedByUser += (s, e) => { undelivery.AddCommentToTheField( UoW, CommentedFields.Reason, String.Format( "сменил(а) \"в работе у отдела\" \nс \"{0}\" на \"{1}\"", _initialProcDepartmentName, undelivery.InProcessAtDepartment.Name ) ); }; if (undelivery.Id <= 0) { yentInProcessAtDepartment.Subject = _subdivisionRepository.GetQCDepartment(UoW); } var employeeFactory = new EmployeeJournalFactory(); evmeRegisteredBy.SetEntityAutocompleteSelectorFactory(employeeFactory.CreateWorkingEmployeeAutocompleteSelectorFactory()); evmeRegisteredBy.Binding.AddBinding(undelivery, s => s.EmployeeRegistrator, w => w.Subject).InitializeFromSource(); yEnumCMBDriverCallPlace.EnumItemSelected += CMBSelectedItemChanged; txtReason.Binding.AddBinding(undelivery, u => u.Reason, w => w.Buffer.Text).InitializeFromSource(); lblInfo.Markup = undelivery.GetOldOrderInfo(_orderRepository); yenumcomboboxTransferType.ItemsEnum = typeof(TransferType); yenumcomboboxTransferType.Binding.AddBinding(undelivery, u => u.OrderTransferType, w => w.SelectedItemOrNull).InitializeFromSource(); comboProblemSource.SetRenderTextFunc <UndeliveryProblemSource>(k => k.GetFullName); comboProblemSource.Binding.AddBinding(undelivery, u => u.ProblemSourceItems, w => w.ItemsList).InitializeFromSource(); comboProblemSource.Binding.AddBinding(undelivery, u => u.ProblemSource, w => w.SelectedItem).InitializeFromSource(); comboProblemSource.Sensitive = _canChangeProblemSource; comboTransferAbsenceReason.SetRenderTextFunc <UndeliveryTransferAbsenceReason>(u => u.Name); comboTransferAbsenceReason.Binding.AddBinding(undelivery, u => u.UndeliveryTransferAbsenceReasonItems, w => w.ItemsList).InitializeFromSource(); comboTransferAbsenceReason.Binding.AddBinding(undelivery, u => u.UndeliveryTransferAbsenceReason, w => w.SelectedItem).InitializeFromSource(); comboTransferAbsenceReason.Sensitive = _canChangeProblemSource; yTreeFines.ColumnsConfig = ColumnsConfigFactory.Create <FineItem>() .AddColumn("Номер").AddTextRenderer(node => node.Fine.Id.ToString()) .AddColumn("Сотудники").AddTextRenderer(node => node.Employee.ShortName) .AddColumn("Сумма штрафа").AddTextRenderer(node => CurrencyWorks.GetShortCurrencyString(node.Money)) .Finish(); yenumcomboboxTransferType.Visible = undelivery?.NewOrder != null; undelivery.PropertyChanged += (sender, e) => { if (e.PropertyName != "NewOrder") { return; } if (undelivery.NewOrder == null) { yenumcomboboxTransferType.Visible = false; undelivery.OrderTransferType = null; return; } yenumcomboboxTransferType.Visible = true; }; GetFines(); SetVisibilities(); SetSensitivities(); }