Example #1
0
        public void AddPopupApplet <TContext>(TContext context)
            where TContext : MainContext, new()
        {
            // Получение названия попапа из up контрола, на котором произошло действие
            ControlUP UP        = CurrentControl?.ControlUPs?.FirstOrDefault(n => n.Name == "Applet");
            string    popupName = UP == null ? string.Empty : UP.Value;
            Applet    popup     = context.Applets
                                  .AsNoTracking()
                                  .Include(b => b.BusComp)
                                  .Include(cntr => cntr.Controls)
                                  .ThenInclude(cntrUp => cntrUp.ControlUPs)
                                  .Include(cntr => cntr.Controls)
                                  .ThenInclude(f => f.Field)
                                  .FirstOrDefault(n => n.Name == popupName);

            // Добавление попапа и его маршрута в информацию о представлении
            if (!ViewApplets.Select(n => n.Name).ToList().Contains(popup.Name))
            {
                // Установка этого попапа как текущего
                CurrentPopupApplet = popup;
                ViewApplets.Add(popup);
                ViewItem viewItem = new ViewItem()
                {
                    Name            = popup.Name,
                    Applet          = popup,
                    AppletId        = popup.Id,
                    Autofocus       = true,
                    AutofocusRecord = 0,
                    View            = View,
                    ViewId          = View.Id
                };
                ViewItems.Add(viewItem);
                View.ViewItems.Add(viewItem);
            }
        }
Example #2
0
        public void RemovePopupApplet <TContext>(TContext context)
            where TContext : MainContext, new()
        {
            // Удаление попапа из списка аппетов представления и из информации о представлении
            ViewItem viewItem = View.ViewItems.FirstOrDefault(ap => ap.AppletId == CurrentPopupApplet.Id);
            Applet   applet   = ViewApplets.FirstOrDefault(i => i.Id == viewItem.AppletId);

            ViewItems.Remove(viewItem);
            View.ViewItems.Remove(viewItem);
            ViewApplets.Remove(applet);
            CurrentPopupApplet  = null;
            CurrentPopupControl = null;
        }