protected void OnBtnAddNomenclatureClicked(object sender, System.EventArgs e) { var nomenclatureFilter = new NomenclatureRepFilter(UoWGeneric); nomenclatureFilter.SetAndRefilterAtOnce( x => x.AvailableCategories = Nomenclature.GetCategoriesForSaleToOrder(), x => x.DefaultSelectedCategory = NomenclatureCategory.water, x => x.DefaultSelectedSaleCategory = SaleCategory.forSale ); PermissionControlledRepresentationJournal SelectDialog = new PermissionControlledRepresentationJournal(new NomenclatureForSaleVM(nomenclatureFilter)) { Mode = JournalSelectMode.Multiple, ShowFilter = true }; SelectDialog.CustomTabName("Номенклатура на продажу"); SelectDialog.ObjectSelected += (s, ea) => { var selectedNodes = ea.GetNodes <NomenclatureForSaleVMNode>(); if (!selectedNodes.Any()) { return; } foreach (var node in selectedNodes) { Nomenclature n = UoWGeneric.GetById <Nomenclature>(node.Id); if (n != null && !Entity.ObservableNomenclatures.Any(x => x == n)) { Entity.ObservableNomenclatures.Add(n); } } }; TabParent.AddSlaveTab(this, SelectDialog); }
void ActionTransferOperationJournal_Activated(object sender, System.EventArgs e) { tdiMain.OpenTab( PermissionControlledRepresentationJournal.GenerateHashName <TransferOperationsVM>(), () => new PermissionControlledRepresentationJournal(new TransferOperationsVM()).CustomTabName("Переносы между точками доставки") ); }
private void Configure() { var journal = new PermissionControlledRepresentationJournal(model); journal.Mode = multipleSelect ? JournalSelectMode.Multiple : JournalSelectMode.Single; journal.ObjectSelected += (sender, e) => { List <EntityNode> selectedResult = new List <EntityNode>(); foreach (int selectedId in e.GetSelectedIds()) { selectedResult.Add(new EntityNode(selectedId, entityType)); } OnEntitySelectedResult?.Invoke(sender, new JournalSelectedNodesEventArgs(selectedResult.ToArray())); }; JournalTab = journal; JournalTab.TabNameChanged += (sender, e) => TabNameChanged?.Invoke(sender, e); JournalTab.TabClosed += (sender, e) => { TabParent?.ForceCloseTab(this); journal.Destroy(); Dispose(); }; journal.Destroyed += (sender, e) => { TabParent?.ForceCloseTab(this); journal.Destroy(); Dispose(); }; }
/// <summary> /// Открывает диалог выбора объекта /// </summary> public void OpenSelectDialog(string newTabTitle = null) { var modelWithParent = RepresentationModel as IRepresentationModelWithParent; if (modelWithParent != null && MyEntityDialogExist) { if (MyEntityDialog.UoW.IsNew && MyEntityDialog.EntityObject == modelWithParent.GetParent) { if (DialogHelper.SaveBeforeSelectFromChildReference(modelWithParent.GetParent.GetType(), SubjectType)) { if (!MyTdiDialog.Save()) { return; } } else { return; } } } var selectDialog = new PermissionControlledRepresentationJournal(RepresentationModel, JournalButtons); if (newTabTitle != null) { selectDialog.CustomTabName(newTabTitle); } selectDialog.Mode = JournalSelectMode.Single; selectDialog.ObjectSelected += SelectDialog_ObjectSelected; MyTab.TabParent.AddSlaveTab(MyTab, selectDialog); }
protected void OnButtonAddClicked(object sender, EventArgs e) { var addEmployeeDlg = new PermissionControlledRepresentationJournal(new EmployeesVM()); addEmployeeDlg.Mode = JournalSelectMode.Single; addEmployeeDlg.ObjectSelected += AddEmployeeDlg_ObjectSelected; MyTab.TabParent.AddSlaveTab(MyTab, addEmployeeDlg); }
protected void OnButtonAddDeliveryPointsClicked(object sender, EventArgs e) { var dlg = new PermissionControlledRepresentationJournal(new ViewModel.ClientDeliveryPointsVM(UoW, Entity.Counterparty)); dlg.Mode = JournalSelectMode.Multiple; dlg.ObjectSelected += Dlg_ObjectSelected; TabParent.AddSlaveTab(this, dlg); }
void ActionClientBalance_Activated(object sender, System.EventArgs e) { tdiMain.OpenTab( PermissionControlledRepresentationJournal.GenerateHashName <ClientEquipmentBalanceVM>(), () => { var journal = new PermissionControlledRepresentationJournal(new ClientEquipmentBalanceVM()); journal.CustomTabName("Оборудование у клиентов"); return(journal); } ); }
void ActionRouteListTable_Activated(object sender, System.EventArgs e) { tdiMain.OpenTab( PermissionControlledRepresentationJournal.GenerateHashName <RouteListsVM>(), () => { var vm = new RouteListsVM(); vm.Filter.SetAndRefilterAtOnce(x => x.SetFilterDates(System.DateTime.Today.AddMonths(-2), System.DateTime.Today)); Buttons buttons = Buttons.Add | Buttons.Edit; return(new PermissionControlledRepresentationJournal(vm, buttons)); } ); }
void ActionPremiumJournal_Activated(object sender, System.EventArgs e) { tdiMain.OpenTab( PermissionControlledRepresentationJournal.GenerateHashName <PremiumVM>(), () => { Buttons buttons = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("can_delete_fines") ? Buttons.All : (Buttons.Add | Buttons.Edit); return(new PermissionControlledRepresentationJournal(new PremiumVM(), buttons).CustomTabName("Журнал премий")); } ); }
void ActionFinesJournal_Activated(object sender, System.EventArgs e) { tdiMain.OpenTab( PermissionControlledRepresentationJournal.GenerateHashName <FinesVM>(), () => { FinesVM vm = new FinesVM(); vm.Filter.SetAndRefilterAtOnce(f => f.SetFilterDates(System.DateTime.Today.AddMonths(-2), System.DateTime.Today)); Buttons buttons = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("can_delete_fines") ? Buttons.All : (Buttons.Add | Buttons.Edit); return(new PermissionControlledRepresentationJournal(vm, buttons).CustomTabName("Журнал штрафов")); } ); }
protected void OnBtnChooseOrderClicked(object sender, EventArgs e) { var filter = new OrdersFilter(UnitOfWorkFactory.CreateWithoutRoot()); filter.SetAndRefilterAtOnce( x => x.RestrictCounterparty = oldOrder.Client, x => x.HideStatuses = new Enum[] { OrderStatus.WaitForPayment } ); Buttons buttons = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("can_delete") ? Buttons.All : (Buttons.Add | Buttons.Edit); PermissionControlledRepresentationJournal dlg = new PermissionControlledRepresentationJournal(new OrdersVM(filter), buttons) { Mode = JournalSelectMode.Single }; MyTab.TabParent.AddTab(dlg, MyTab, false); dlg.ObjectSelected += (s, ea) => { var selectedId = ea.GetSelectedIds().FirstOrDefault(); 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.OrderTotalSum == newOrder.OrderTotalSum) && MessageDialogHelper.RunQuestionDialog("Перенести на выбранный заказ Оплату по Карте?")) { newOrder.PaymentType = oldOrder.PaymentType; newOrder.OnlineOrder = oldOrder.OnlineOrder; newOrder.PaymentByCardFrom = oldOrder.PaymentByCardFrom; } }; }
void MenuitemSelectFromClient_Activated(object sender, EventArgs e) { equipmentToSetSerial = ytreeEquipment.GetSelectedObject <ReceptionEquipmentItemNode>(); var filter = new ClientBalanceFilter(UoW); filter.SetAndRefilterAtOnce( x => x.RestrictCounterparty = equipmentToSetSerial.ServiceClaim.Counterparty, x => x.RestrictNomenclature = x.UoW.GetById <Nomenclature>(equipmentToSetSerial.NomenclatureId) ); var selectFromClientDlg = new PermissionControlledRepresentationJournal(new Vodovoz.ViewModel.ClientEquipmentBalanceVM(filter)); selectFromClientDlg.CustomTabName( string.Format( "Оборудование у {0}", StringWorks.EllipsizeEnd(equipmentToSetSerial.ServiceClaim.Counterparty.Name, 50) ) ); selectFromClientDlg.ObjectSelected += SelectFromClientDlg_ObjectSelected; MyTab.TabParent.AddSlaveTab(MyTab, selectFromClientDlg); }