Exemplo n.º 1
0
    public bool DropComponentModel (Guid id)
    {
      var res = false;

      var list = ComponentModelCollection
        .Where (p => p.Id.Equals (id))
        .ToList ()
      ;

      if (list.Count.Equals (1)) {
        var model = list [0];
        m_ComponentModelDrop.Add (model.Id, model);
        res = true;
      }

      // try
      else {
        if (m_ComponentModelTryToInsert.ContainsKey (id)) {
          var model = m_ComponentModelTryToInsert [id];
          m_ComponentModelDrop.Add (model.Id, model);

          m_ComponentModelTryToInsert.Remove (id);
          res = true;
        }
      }

      return (res);
    }
Exemplo n.º 2
0
    public TComponentModelItem RequestComponentModel (Guid id)
    {
      var list = ComponentModelCollection
        .Where (p => p.Id.Equals (id))
        .ToList ()
      ;

      if (list.Count.Equals (1)) {
        return (list [0]);
      }

      return (TComponentModelItem.CreateDefault);
    }
Exemplo n.º 3
0
    public bool RestoreComponentModel (Guid id)
    {
      var res = false;

      if (m_ComponentModelDrop.ContainsKey (id)) {
        var list = ComponentModelCollection
          .Where (p => p.Id.Equals (id))
          .ToList ()
        ;

        if (list.Count.Equals (0)) {
          var model = m_ComponentModelDrop [id];
          ComponentModelCollection.Add (model);
        }

        m_ComponentModelDrop.Remove (id);

        res = true;
      }

      return (res);
    }
Exemplo n.º 4
0
    public void Select (TEntityAction action)
    {
      // DATA IN:
      // action.CollectionAction.ModelCollection
      // action.CollectionAction.ExtensionNodeCollection

      m_ComponentModelDrop.Clear ();

      if (action.NotNull ()) {
        ComponentModelCollection.Clear ();
        ItemsCollection.Clear ();

        foreach (var modelAction in action.CollectionAction.ModelCollection) {
          var componentModel = TComponentModel.Create (modelAction.Value);

          var componentModelItem = TComponentModelItem.Create (componentModel);
          componentModelItem.Select (action.CategoryType.Category); 

          ComponentModelCollection.Add (componentModelItem);
        }

        // sort collection by Name
        var sortedList = ComponentModelCollection
          .OrderBy (p => p.Name)
          .ToList ()
        ;

        ComponentModelCollection.Clear ();

        foreach (var item in sortedList) {
          ComponentModelCollection.Add (item);
        }

        foreach (var item in ComponentModelCollection) {
          item.PopulateNode (action);
        }
      }
    }
Exemplo n.º 5
0
    public bool TryToInsert (TComponentModelItem componentModelItem)
    {
      var res = false;

      if (componentModelItem.NotNull ()) {
        if (componentModelItem.Id.NotEmpty ()) {
          var id = componentModelItem.Id;

          var list = ComponentModelCollection
            .Where (p => p.Id.Equals (id))
            .ToList ()
          ;

          if (list.Count.Equals (0)) {
            if (m_ComponentModelTryToInsert.ContainsKey (id).IsFalse ()) {
              m_ComponentModelTryToInsert.Add (id, componentModelItem);
              res = true;
            }
          }
        }
      }

      return (res);
    }
Exemplo n.º 6
0
    public void Select (TContentStyle.Style selectedStyleHorizontal, TContentStyle.Style selectedStyleVertical)
    {
      var list = new List<TComponentModelItem> ();

      if (ComponentModelCollection.Count > 0) {
        list = ComponentModelCollection
          .Where (p => p.StyleHorizontal.Equals (selectedStyleHorizontal.ToString (), StringComparison.InvariantCulture))
          .Where (p => p.StyleVertical.Equals (selectedStyleVertical.ToString (), StringComparison.InvariantCulture))
          .ToList ()
        ;

        // zap drop model
        foreach (var item in m_ComponentModelDrop) {
          var dropList = list
            .Where (p => p.Id.Equals (item.Key))
            .ToList ()
          ;

          if (dropList.Count.Equals (1)) {
            var model = dropList [0];
            list.Remove (model);
          }
        }
      }

      // try to insert
      foreach (var tryToInsertModel in m_ComponentModelTryToInsert) {
        var itemModel = tryToInsertModel.Value;

        if (itemModel.ContainsStyle (selectedStyleHorizontal, selectedStyleVertical)) {
          list.Add (itemModel);
        }
      }

      ItemsCollection = new ObservableCollection<TComponentModelItem> (list);
    }