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; } } }
public override void Destroy() { logger.Debug("OrmReference #{0} Destroy() called.", number); IOrmObjectMapping map = OrmMain.GetObjectDescription(objectType); if (map != null) { map.ObjectUpdated -= OnRefObjectUpdated; } base.Destroy(); }
protected void OnButtonEditClicked(object sender, EventArgs e) { if (OrmMain.GetObjectDescription(objectType).SimpleDialog) { EntityEditSimpleDialog.RunSimpleDialog(this.Toplevel as Window, objectType, ytreeviewRef.GetSelectedObject()); } else { var selected = ytreeviewRef.GetSelectedObject(); TabParent.OpenTab(OrmMain.GenerateDialogHashName(objectType, DomainHelper.GetId(selected)), () => OrmMain.CreateObjectDialog(objectType, selected), this ); } }
protected void OnYtreeviewRefButtonReleaseEvent(object o, ButtonReleaseEventArgs args) { IOrmObjectMapping map = OrmMain.GetObjectDescription(objectType); if (args.Event.Button == 3 && map.PopupMenuExist) { var selected = ytreeviewRef.GetSelectedObjects(); var menu = map.GetPopupMenu(selected); if (menu != null) { menu.ShowAll(); menu.Popup(); } } }
protected override void OnDestroyed() { logger.Debug($"EntryReference {subjectType} Destroyed() called."); //Отписываемся от событий. if (subjectType != null) { IOrmObjectMapping map = OrmMain.GetObjectDescription(subjectType); map.ObjectUpdated -= OnExternalObjectUpdated; } if (subject is INotifyPropertyChanged) { (subject as INotifyPropertyChanged).PropertyChanged -= OnSubjectPropertyChanged; } base.OnDestroyed(); }
protected void OnButtonViewEntityClicked(object sender, EventArgs e) { if (SubjectType == null) { throw new NullReferenceException("SubjectType не задан."); } if (OrmMain.GetObjectDescription(SubjectType).SimpleDialog) { EntityEditSimpleDialog.RunSimpleDialog(this.Toplevel as Window, SubjectType, Subject); return; } ITdiTab dlg = OrmMain.CreateObjectDialog(Subject); MyTab.TabParent.AddTab(dlg, MyTab); }
protected void OnButtonAddClicked(object sender, EventArgs e) { ytreeviewRef.Selection.UnselectAll(); if (OrmMain.GetObjectDescription(objectType).SimpleDialog) { SelectObject(EntityEditSimpleDialog.RunSimpleDialog(this.Toplevel as Window, objectType, null)); } else { var tab = TabParent.OpenTab(OrmMain.GenerateDialogHashName(objectType, 0), () => OrmMain.CreateObjectDialog(objectType), this ); if (tab != null) { (tab as ITdiDialog).EntitySaved += NewItemDlg_EntitySaved; } } }
void ConfigureDlg() { OrmMain.Count++; number = OrmMain.Count; logger.Debug("Открытие {0}", number); Mode = OrmReferenceMode.Normal; ButtonMode = ReferenceButtonMode.CanAll; IOrmObjectMapping map = OrmMain.GetObjectDescription(objectType); if (map != null) { map.ObjectUpdated += OnRefObjectUpdated; TableView = map.TableView; if (map.RefFilterClass != null) { FilterClass = map.RefFilterClass; } } else { throw new InvalidOperationException(String.Format("Для использования диалога, класс {0} должен быть добавлен в мапинг OrmMain.ClassMappingList.", objectType)); } object[] att = objectType.GetCustomAttributes(typeof(AppellativeAttribute), true); if (att.Length > 0) { this.TabName = (att [0] as AppellativeAttribute).NominativePlural.StringToTitleCase(); } var defaultMode = objectType.GetAttribute <DefaultReferenceButtonModeAttribute>(true); if (defaultMode != null) { ButtonMode = defaultMode.ReferenceButtonMode; } if (!String.IsNullOrWhiteSpace(map.EditPermisionName)) { if (!QSMain.User.Permissions [map.EditPermisionName]) { ButtonMode &= ~ReferenceButtonMode.CanAll; } } UpdateObjectList(); ytreeviewRef.Selection.Changed += OnTreeviewSelectionChanged; }
private void UpdateObjectList() { if (inUpdating) { return; } logger.Debug("Обновление в диалоге {0}", number); logger.Info("Получаем таблицу справочника<{0}>...", objectType.Name); var startUpdateTime = DateTime.Now; inUpdating = true; ICriteria baseCriteria = filterWidget == null ? objectsCriteria : filterWidget.FiltredCriteria; var map = OrmMain.GetObjectDescription(objectType); if (map.SimpleDialog) { baseCriteria = baseCriteria.AddOrder(Order.Asc("Name")); } else if (map.TableView != null && map.TableView.OrderBy.Count > 0) { foreach (var ord in map.TableView.OrderBy) { if (ord.Direction == QSOrmProject.DomainMapping.OrderDirection.Desc) { baseCriteria = baseCriteria.AddOrder(Order.Desc(ord.PropertyName)); } else { baseCriteria = baseCriteria.AddOrder(Order.Asc(ord.PropertyName)); } } } fullList = baseCriteria.List(); UpdateTreeViewSource(); UpdateSum(); inUpdating = false; logger.Debug("Справочник загружен за: {0} сек.", (DateTime.Now - startUpdateTime).TotalSeconds); logger.Info("Ok."); }
protected void OnButtonViewEntityClicked(object sender, EventArgs e) { if (OrmMain.GetObjectDescription(SubjectType).SimpleDialog) { EntityEditSimpleDialog.RunSimpleDialog(this.Toplevel as Window, SubjectType, Subject); return; } ITdiTab mytab = DialogHelper.FindParentTab(this); if (mytab == null) { logger.Warn("Родительская вкладка не найдена."); return; } ITdiTab dlg = OrmMain.CreateObjectDialog(Subject); mytab.TabParent.AddTab(dlg, mytab); }
protected void OnButtonEditClicked(object sender, EventArgs e) { var description = OrmMain.GetObjectDescription(objectType); if (description == null) { throw new NotImplementedException(String.Format("Не реализован OrmObjectMapping для типа {0}", objectType)); } if (description.SimpleDialog) { throw new NotImplementedException(); //OrmSimpleDialog.RunSimpleDialog (this.Toplevel as Window, objectType, datatreeviewRef.GetSelectedObjects () [0]); } else { int selectedId = ormtableview.GetSelectedId(); TabParent.OpenTab(OrmMain.GenerateDialogHashName(objectType, selectedId), () => OrmMain.CreateObjectDialog(objectType, selectedId), this ); } }
protected void OnButtonAddClicked(object sender, EventArgs e) { if (!CanCreate) { MessageDialogHelper.RunWarningDialog("У вас нет прав для создания этого документа."); return; } ytreeviewRef.Selection.UnselectAll(); if (OrmMain.GetObjectDescription(objectType).SimpleDialog) { SelectObject(EntityEditSimpleDialog.RunSimpleDialog(this.Toplevel as Window, objectType, null)); } else { var tab = TabParent.OpenTab(DialogHelper.GenerateDialogHashName(objectType, 0), () => OrmMain.CreateObjectDialog(objectType), this ); if (tab != null) { (tab as ITdiDialog).EntitySaved += NewItemDlg_EntitySaved; } } }
protected void OnButtonEditClicked(object sender, EventArgs e) { if (!CanEdit) { MessageDialogHelper.RunWarningDialog("У вас нет прав для редактирования этого документа."); return; } if (OrmMain.GetObjectDescription(objectType).SimpleDialog) { EntityEditSimpleDialog.RunSimpleDialog(this.Toplevel as Window, objectType, ytreeviewRef.GetSelectedObjects().First()); } else { var selected = ytreeviewRef.GetSelectedObjects(); var text = NumberToTextRus.FormatCase(selected.Length, "Вы действительно хотите открыть {0} вкладку?", "Вы действительно хотите открыть {0} вкладки?", "Вы действительно хотите открыть {0} вкладок?" ); if (selected.Length > 5 && !MessageDialogHelper.RunQuestionDialog(text)) { return; } foreach (var one in selected) { TabParent.OpenTab(DialogHelper.GenerateDialogHashName(objectType, DomainHelper.GetId(one)), () => OrmMain.CreateObjectDialog(objectType, one), this, canSlided: selected.Length == 1 ); } } }