protected void OnButtonAddDocumentClicked(object sender, EventArgs e) { EmployeeDocDlg dlg = new EmployeeDocDlg(UoW, null); dlg.Save += (object sender1, EventArgs e1) => Entity.ObservableDocuments.Add(dlg.Entity); TabParent.AddSlaveTab(this, dlg); }
protected void OnButtonAddClicked(object sender, EventArgs e) { ormtableview.Selection.UnselectAll(); var classDiscript = OrmMain.GetObjectDescription(objectType); if (classDiscript.SimpleDialog) { EntityEditSimpleDialog.RunSimpleDialog(this.Toplevel as Window, objectType, null); } else if (RepresentationModel is IRepresentationModelWithParent) { var dlg = OrmMain.CreateObjectDialog(objectType, (RepresentationModel as IRepresentationModelWithParent).GetParent); TabParent.OpenTab(OrmMain.GenerateDialogHashName(objectType, 0), () => dlg, this ); dlg.EntitySaved += dlg_EntitySaved; } else { var dlg = OrmMain.CreateObjectDialog(objectType); dlg.EntitySaved += dlg_EntitySaved; TabParent.AddTab(dlg, this, true); if (TabParent is TdiSliderTab) { ((TdiSliderTab)TabParent).IsHideJournal = true; } } }
protected void OnBtnAddOtherGoodsClicked(object sender, EventArgs e) { var nomenclatureSelector = _nomenclatureSelectorFactory.CreateNomenclatureOfGoodsWithoutEmptyBottlesSelector(); nomenclatureSelector.OnEntitySelectedResult += NomenclatureSelectorOnEntitySelectedResult; TabParent.AddTab(nomenclatureSelector, this); }
void RunAgreementCreateDialog(CounterpartyContract contract) { ITdiTab dlg; string paymentTypeString = ""; switch (UoWGeneric.Root.Payment) { case PaymentType.cash: paymentTypeString = "наличной"; break; case PaymentType.cashless: paymentTypeString = "безналичной"; break; case PaymentType.barter: paymentTypeString = "бартерной"; break; } string question = "Отсутствует доп. соглашение сервиса с клиентом в договоре для " + paymentTypeString + " формы оплаты. Создать?"; if (MessageDialogWorks.RunQuestionDialog(question)) { dlg = new RepairAgreementDlg(contract); (dlg as IAgreementSaved).AgreementSaved += (sender, e) => { UoWGeneric.Root.InitialOrder?.CreateOrderAgreementDocument(e.Agreement); }; TabParent.AddSlaveTab(this, dlg); } }
protected void OnYtreeviewAddressesRowActivated(object o, Gtk.RowActivatedArgs args) { var node = ytreeviewAddresses.GetSelectedObject() as AddressNode; ITdiDialog dlg = new DeliveryPointDlg(node.Address); TabParent.AddSlaveTab(this, dlg); }
protected void OnButtonOpenClicked(object sender, EventArgs e) { var node = tableReadyForReception.GetSelectedNode() as ViewModel.ReadyForReceptionVMNode; var dlg = new CarUnloadDocumentDlg(node.Id, viewModel.Filter.RestrictWarehouse?.Id); TabParent.AddTab(dlg, this); }
private void CreateAddWriteoffItemCommand() { AddWriteoffItemCommand = new DelegateCommand( () => { var fuelTypeJournalViewModel = new SimpleEntityJournalViewModel <FuelType, FuelTypeViewModel>(x => x.Name, () => new FuelTypeViewModel(EntityUoWBuilder.ForCreate(), unitOfWorkFactory, commonServices), (node) => new FuelTypeViewModel(EntityUoWBuilder.ForOpen(node.Id), unitOfWorkFactory, commonServices), QS.DomainModel.UoW.UnitOfWorkFactory.GetDefaultFactory, commonServices ); fuelTypeJournalViewModel.SetRestriction(() => { return(Restrictions.Not(Restrictions.In(Projections.Id(), Entity.ObservableFuelWriteoffDocumentItems.Select(x => x.FuelType.Id).ToArray()))); }); fuelTypeJournalViewModel.SelectionMode = JournalSelectionMode.Single; fuelTypeJournalViewModel.OnEntitySelectedResult += (sender, e) => { var node = e.SelectedNodes.FirstOrDefault(); if (node == null) { return; } Entity.AddNewWriteoffItem(UoW.GetById <FuelType>(node.Id)); }; TabParent.AddSlaveTab(this, fuelTypeJournalViewModel); }, () => CanEdit ); AddWriteoffItemCommand.CanExecuteChangedWith(this, x => CanEdit); }
protected void OnBtnShowUndeliveryClicked(object sender, EventArgs e) { var undeliveredOrdersFilter = new UndeliveredOrdersFilterViewModel( ServicesConfig.CommonServices, new OrderSelectorFactory(), new EmployeeJournalFactory(), new CounterpartyJournalFactory(), new DeliveryPointJournalFactory(), new SubdivisionJournalFactory()) { HidenByDefault = true, RestrictOldOrder = Entity.UndeliveredOrder.OldOrder, RestrictOldOrderStartDate = Entity.UndeliveredOrder.OldOrder.DeliveryDate, RestrictOldOrderEndDate = Entity.UndeliveredOrder.OldOrder.DeliveryDate, RestrictUndeliveryStatus = Entity.UndeliveredOrder.UndeliveryStatus }; var dlg = new UndeliveredOrdersJournalViewModel( undeliveredOrdersFilter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, new GtkTabsOpener(), new EmployeeJournalFactory(), VodovozGtkServicesConfig.EmployeeService, new UndeliveredOrdersJournalOpener(), new OrderSelectorFactory(), new UndeliveredOrdersRepository() ); TabParent.AddSlaveTab(this, dlg); }
protected void OnYtreeviewAddressesRowActivated(object o, Gtk.RowActivatedArgs args) { var id = ytreeviewAddresses.GetSelectedObject <AddressNode>().Address.Id; var dpViewModel = _deliveryPointViewModelFactory.GetForOpenDeliveryPointViewModel(id); TabParent.AddSlaveTab(this, dpViewModel); }
/// <summary> /// Добавить вкладку, указав, скрыт ли по умолчанию журнал. /// </summary> /// <param name="tab">Основная вкладка.</param> /// <param name="afterTab">Дочерняя вкладка.</param> /// <param name="canSlided">Если true, то открываются в одной вкладке.</param> public void AddTab(ITdiTab tab, ITdiTab afterTab, bool canSlided = true) { if (tab.FailInitialize) { logger.Warn("Вкладка <{0}> не добавлена, так как сообщает что построена с ошибкой(Свойство FailInitialize) .", tab.TabName ); return; } if (canSlided && afterTab == Journal) { if (ActiveDialog != null) { var askSave = (ActiveDialog as IAskSaveOnCloseViewModel)?.AskSaveOnClose ?? true; CloseDialog(CloseSource.FromParentPage, askSave); } ActiveDialog = tab; return; } if (afterTab == null || afterTab == Journal || afterTab == ActiveDialog) { TabParent.AddTab(tab, this as ITdiTab); } else { TabParent.AddTab(tab, afterTab); } }
protected void OnButtonBottleAddEditFineClicked(object sender, EventArgs e) { string fineReason = "Недосдача"; var bottleDifference = bottlesReturnedTotal - bottlesReturnedToWarehouse; var summ = DefaultBottle.SumOfDamage * (bottleDifference > 0 ? bottleDifference : (decimal)0); summ += routelistdiscrepancyview.Items.Where(x => x.UseFine).Sum(x => x.SumOfDamage); var nomenclatures = routelistdiscrepancyview.Items.Where(x => x.UseFine) .ToDictionary(x => x.Nomenclature, x => - x.Remainder); if (checkUseBottleFine.Active) { nomenclatures.Add(DefaultBottle, bottleDifference); } FineDlg fineDlg; if (Entity.BottleFine != null) { fineDlg = new FineDlg(Entity.BottleFine); Entity.BottleFine.UpdateNomenclature(nomenclatures); fineDlg.Entity.TotalMoney = summ; fineDlg.EntitySaved += FineDlgExist_EntitySaved; } else { fineDlg = new FineDlg(summ, Entity, fineReason, Entity.Date, Entity.Driver); fineDlg.Entity.AddNomenclature(nomenclatures); fineDlg.EntitySaved += FineDlgNew_EntitySaved; } TabParent.AddSlaveTab(this, fineDlg); }
void OnRouteListItemActivated(object sender, RowActivatedArgs args) { var node = routeListAddressesView.GetSelectedRouteListItem(); var dlg = new OrderReturnsView(node, UoW); TabParent.AddSlaveTab(this, dlg); }
void PrintSelectedDocument(RouteListPrintableDocuments choise) { TabParent.OpenTab( QS.Dialog.Gtk.TdiTabBase.GenerateHashName <DocumentsPrinterDlg>(), () => CreateDocumentsPrinterDlg(choise) ); }
void OpenCounterparty(object sender, EventArgs e) { TabParent.OpenTab( OrmMain.GenerateDialogHashName <Counterparty>(Entity.Counterparty.Id), () => new CounterpartyDlg(Entity.Counterparty.Id) ); }
protected void OnButtonOpenExpenseClicked(object sender, EventArgs e) { if (FuelDocument.FuelCashExpense?.Id > 0) { TabParent.AddSlaveTab(this, new CashExpenseDlg(FuelDocument.FuelCashExpense.Id)); } }
protected void OnButtonOpenClicked(object sender, EventArgs e) { var node = treeRouteLists.GetSelectedNode() as ViewModel.RouteListsVMNode; var dlg = new RouteListKeepingDlg(node.Id); TabParent.AddTab(dlg, this); }
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(); }; }
protected void OnEnumPrintEnumItemClicked(object sender, QS.Widgets.EnumItemClickedEventArgs e) { if (UoWGeneric.HasChanges) { if (CommonDialogs.SaveBeforePrint(typeof(CarLoadDocument), "талона")) { if (!Save()) { return; } } else { return; } } var reportInfo = new QS.Report.ReportInfo { Title = Entity.Title, Identifier = "Store.CarLoadDocument", Parameters = new System.Collections.Generic.Dictionary <string, object> { { "id", Entity.Id } }, PrintType = ReportInfo.PrintingType.MultiplePrinters }; TabParent.OpenTab( QSReport.ReportViewDlg.GenerateHashName(reportInfo), () => new QSReport.ReportViewDlg(reportInfo), this); }
/// <summary> /// Добавить вкладку, указав, скрыт ли по умолчанию журнал. /// </summary> /// <param name="tab">Основная вкладка.</param> /// <param name="afterTab">Дочерняя вкладка.</param> /// <param name="CanSlided">Если true, то открываются в одной вкладке.</param> public void AddTab(ITdiTab tab, ITdiTab afterTab, bool CanSlided = true) { if (tab.FailInitialize) { logger.Warn("Вкладка <{0}> не добавлена, так как сообщает что построена с ошибкой(Свойство FailInitialize) .", tab.TabName ); return; } if (CanSlided && afterTab == Journal && tab is ITdiDialog) { ActiveDialog = (ITdiDialog)tab; return; } if (afterTab == null || afterTab == Journal || afterTab == ActiveDialog) { TabParent.AddTab(tab, this as ITdiTab); } else { TabParent.AddTab(tab, afterTab); } }
private IJournalAction CreateGiveFuelAction() { return(new JournalAction( "Выдать топливо", selectedItems => selectedItems.FirstOrDefault() is RouteListJournalNode node && _fuelIssuingStatuses.Contains(node.StatusEnum), selectedItems => true, selectedItems => { if (!(selectedItems.FirstOrDefault() is RouteListJournalNode selectedNode)) { return; } var routeList = UoW.GetById <RouteList>(selectedNode.Id); TabParent.OpenTab( DialogHelper.GenerateDialogHashName <RouteList>(selectedNode.Id), () => new FuelDocumentViewModel( routeList, commonServices, _subdivisionRepository, _employeeRepository, _fuelRepository, NavigationManagerProvider.NavigationManager, _trackRepository, _categoryRepository, _employeeJournalFactory, _carJournalFactory ) ); } )); }
protected void OnButtonChangeDeliveryTimeClicked(object sender, EventArgs e) { if (ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("logistic_changedeliverytime")) { var selectedObjects = ytreeviewAddresses.GetSelectedObjects(); if (selectedObjects.Count() != 1) { return; } var selectedAddress = selectedObjects .Cast <RouteListKeepingItemNode>() .FirstOrDefault(); OrmReference SelectDialog; ICriteria ItemsCriteria = UoWGeneric.Session.CreateCriteria(typeof(DeliverySchedule)); SelectDialog = new OrmReference(typeof(DeliverySchedule), UoWGeneric, ItemsCriteria) { Mode = OrmReferenceMode.Select }; SelectDialog.ObjectSelected += (selectSender, selectE) => { if (selectedAddress.RouteListItem.Order.DeliverySchedule != (DeliverySchedule)selectE.Subject) { selectedAddress.RouteListItem.Order.DeliverySchedule = (DeliverySchedule)selectE.Subject; selectedAddress.ChangedDeliverySchedule = true; } }; TabParent.AddSlaveTab(this, SelectDialog); } }
private void CreateActivateNodeAction() { PopupActionsList.Add( new JournalAction( "Активировать", selectedItems => canActivateDistrictsSet && canUpdate && selectedItems.OfType <DistrictsSetJournalNode>().FirstOrDefault()?.Status == DistrictsSetStatus.Draft, selectedItems => true, selectedItems => { var selectedNodes = selectedItems.OfType <DistrictsSetJournalNode>(); var selectedNode = selectedNodes.FirstOrDefault(); if (selectedNode == null) { return; } var activeDistrictsSet = UoW.Session.QueryOver <DistrictsSet>().Where(x => x.Status == DistrictsSetStatus.Active).Take(1).SingleOrDefault(); if (activeDistrictsSet?.DateCreated > selectedNode.DateCreated) { commonServices.InteractiveService.ShowMessage(ImportanceLevel.Warning, "Нельзя активировать, так как дата создания выбранной версии меньше чем дата создания активной версии"); return; } var selectedDistrictsSet = UoW.GetById <DistrictsSet>(selectedNode.Id); if (selectedDistrictsSet.Districts.All(x => x.CopyOf == null) && !commonServices.InteractiveService.Question("Для выбранной версии невозможно перенести все приоритеты работы водителей\nПродолжить?")) { return; } TabParent.AddSlaveTab(this, new DistrictsSetActivationViewModel(EntityUoWBuilder.ForOpen(selectedNode.Id), QS.DomainModel.UoW.UnitOfWorkFactory.GetDefaultFactory, commonServices) ); } ) ); }
private IJournalAction CreateOpenAnalysisDialogAction() { return(new JournalAction( "Открыть диалог разбора", selectedItems => selectedItems.FirstOrDefault() is RouteListJournalNode node && _analysisViewModelStatuses.Contains(node.StatusEnum), selectedItems => true, selectedItems => { if (selectedItems.FirstOrDefault() is RouteListJournalNode selectedNode) { TabParent.AddTab( new RouteListAnalysisViewModel( EntityUoWBuilder.ForOpen(selectedNode.Id), UnitOfWorkFactory, commonServices, _orderSelectorFactory, _employeeJournalFactory, _counterpartyJournalFactory, _deliveryPointJournalFactory, _subdivisionJournalFactory, _gtkTabsOpener, _undeliveredOrdersJournalOpener, _deliveryShiftRepository, _employeeSettings, _undeliveredOrdersRepository ), this, false ); } } )); }
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); }
protected void InitPopupActions() { var callTaskWorker = new CallTaskWorker( CallTaskSingletonFactory.GetInstance(), _callTaskRepository, new OrderRepository(), new EmployeeRepository(), _baseParametersProvider, commonServices.UserService, ErrorReporter.Instance); PopupActionsList.Add(new JournalAction( "Закрытие МЛ", (selectedItems) => selectedItems.Any(x => _closingDlgStatuses.Contains((x as RouteListJournalNode).StatusEnum)), (selectedItems) => selectedItems.Any(x => _closingDlgStatuses.Contains((x as RouteListJournalNode).StatusEnum)), (selectedItems) => { if (selectedItems.FirstOrDefault() is RouteListJournalNode selectedNode && _closingDlgStatuses.Contains(selectedNode.StatusEnum)) { TabParent.OpenTab( DialogHelper.GenerateDialogHashName <RouteList>(selectedNode.Id), () => new RouteListClosingDlg(selectedNode.Id, true) ); } }
private void OpenDocument() { TabParent.OpenTab(DialogHelper.GenerateDialogHashName(RepresentationModel.GetEntityType(tableview.GetSelectedObject()), 0), () => RepresentationModel.GetOpenEntityDlg(tableview.GetSelectedObject()), this ); }
protected void OnButtonAddClicked(object sender, EventArgs e) { var nomenclatureSelector = _nomenclatureSelectorFactory.CreateNomenclatureSelector(); nomenclatureSelector.OnEntitySelectedResult += NomenclatureSelectorOnEntitySelectedResult; TabParent.AddSlaveTab(this, nomenclatureSelector); }
protected void OnButtonFillClicked (object sender, EventArgs e) { OrmReference SelectDialog = new OrmReference (typeof(ProductSpecification), UoWGeneric); SelectDialog.Mode = OrmReferenceMode.Select; SelectDialog.ObjectSelected += SelectDialog_ObjectSelected; TabParent.AddSlaveTab (this, SelectDialog); }
protected void OnButtonAddEnumItemClicked(object sender, QS.Widgets.EnumItemClickedEventArgs e) { ProxyDocumentType type = (ProxyDocumentType)e.ItemEnum; var dlg = OrmMain.CreateObjectDialog(ProxyDocument.GetProxyDocumentClass(type)); dlg.EntitySaved += Dlg_EntitySaved; TabParent.AddSlaveTab(this, dlg); }
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); }