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); }
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); }
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); }
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); }
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); }