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;
                }
            }
        }
Esempio n. 2
0
        public override void Destroy()
        {
            logger.Debug("OrmReference #{0} Destroy() called.", number);
            IOrmObjectMapping map = OrmMain.GetObjectDescription(objectType);

            if (map != null)
            {
                map.ObjectUpdated -= OnRefObjectUpdated;
            }
            base.Destroy();
        }
Esempio n. 3
0
 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
                           );
     }
 }
Esempio n. 4
0
        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();
                }
            }
        }
Esempio n. 5
0
 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();
 }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 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;
         }
     }
 }
Esempio n. 8
0
        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;
        }
Esempio n. 9
0
        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.");
        }
Esempio n. 10
0
        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
                                  );
            }
        }
Esempio n. 12
0
 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;
         }
     }
 }
Esempio n. 13
0
        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
                                      );
                }
            }
        }