protected void OnButtonAddEnumItemClicked(object sender, EnumItemClickedEventArgs e) { if (MyOrmDialog.UoW.IsNew) { if (CommonDialogs.SaveBeforeCreateSlaveEntity(MyOrmDialog.EntityObject.GetType(), typeof(Contract))) { MyOrmDialog.UoW.Save(); } else { return; } } ITdiDialog dlg = null; switch ((ContractType)e.ItemEnum) { case ContractType.ShortLease: dlg = new ContractShortLeaseDlg(CounterpartyUoW.Root); break; case ContractType.LongLease: dlg = new ContractLongLeaseDlg(CounterpartyUoW.Root); break; case ContractType.Maintenance: dlg = new ContractMaintenanceDlg(CounterpartyUoW.Root); break; } MyTab.TabParent.AddTab(dlg, MyTab); }
protected void OnButtonEditClicked(object sender, EventArgs e) { var selected = treeCounterpartyContracts.GetSelectedObject <ContractsVMNode>(); ITdiDialog dlg = null; switch (selected.ContractType) { case ContractType.ShortLease: dlg = new ContractShortLeaseDlg(selected.Id); break; case ContractType.LongLease: dlg = new ContractLongLeaseDlg(selected.Id); break; case ContractType.Maintenance: dlg = new ContractMaintenanceDlg(selected.Id); break; } MyTab.TabParent.AddTab(dlg, MyTab); }
protected void OnDialogClose(object sender, TdiTabCloseEventArgs arg) { if (TabParent.CheckClosingSlaveTabs(this as ITdiTab)) { return; } ITdiDialog dlg = sender as ITdiDialog; if (arg.AskSave && dlg.HasChanges) { string Message = "Объект изменён. Сохранить изменения перед закрытием?"; MessageDialog md = new MessageDialog((Window)this.Toplevel, DialogFlags.Modal, MessageType.Question, ButtonsType.YesNo, Message); md.AddButton("Отмена", ResponseType.Cancel); int result = md.Run(); md.Destroy(); if (result == (int)ResponseType.Cancel) { return; } if (result == (int)ResponseType.Yes) { if (!dlg.Save()) { logger.Warn("Объект не сохранён. Отмена закрытия..."); return; } } } ActiveDialog = null; (dlg as Widget).Destroy(); OnSladerTabChanged(); }