public void Clear() { if (ChangeCollection != null) { DireccionPuntoSOBEventArgs arg = new DireccionPuntoSOBEventArgs(DireccionPuntoSOBEventArgs.TypeChange.DELETE, _d); ChangeCollection(this, arg); } _d.Clear(); }
public void AddRange(Dictionary <string, DireccionPunto> direccionPunto) { if (ChangeCollection != null) { DireccionPuntoSOBEventArgs arg = new DireccionPuntoSOBEventArgs(DireccionPuntoSOBEventArgs.TypeChange.NEW, direccionPunto); } foreach (KeyValuePair <string, DireccionPunto> dp in direccionPunto) { _d.Add(dp.Key, dp.Value); } }
private void manejaCambiosObserver(object sender, DireccionPuntoSOBEventArgs arg) { if (arg.Type == DireccionPuntoSOBEventArgs.TypeChange.NEW) { foreach (DireccionPunto p in arg.PuntosChangeNew.Values) { anadeElementoListaVista(p); } } if (arg.Type == DireccionPuntoSOBEventArgs.TypeChange.DELETE) { foreach (DireccionPunto p in arg.PuntosChangeNew.Values) { foreach (ListViewItem item in listView1.Items) { if ((String)item.Tag == p.key) { listView1.Items.Remove(item); } } } } if (arg.Type == DireccionPuntoSOBEventArgs.TypeChange.UPDATE) { foreach (DireccionPunto p in arg.PuntosChangeNew.Values) { foreach (ListViewItem item in listView1.Items) { if ((String)item.Tag == p.key) { item.Text = p.Direccion; item.SubItems[1].Text = (p.Latitud.ToString(CultureInfo.InvariantCulture)); item.SubItems[2].Text = (p.Longitud.ToString(CultureInfo.InvariantCulture)); item.SubItems[3].Text = (p.X.ToString(CultureInfo.InvariantCulture)); item.SubItems[4].Text = (p.Y.ToString(CultureInfo.InvariantCulture)); item.SubItems[5].Text = (p.Municipio); item.SubItems[6].Text = (p.NivelRegional2); item.SubItems[7].Text = (p.NivelRegional1); item.SubItems[8].Text = (p.Pais); item.SubItems[9].Text = (p.GeoreferenciadorDeno); item.BackColor = !p.IsGeocodificado ? Color.Yellow : Color.White; } } } } }
public void Remove(string key) { if (_d.Keys.Contains(key)) { if (ChangeCollection != null) { DireccionPunto value = _d[key]; Dictionary <string, DireccionPunto> e = new Dictionary <string, DireccionPunto>(); e.Add(key, value); DireccionPuntoSOBEventArgs arg = new DireccionPuntoSOBEventArgs(DireccionPuntoSOBEventArgs.TypeChange.DELETE, e); ChangeCollection(this, arg); } _d.Remove(key); } else { throw new Exception(String.Format("The element you are trying to remove, with {0} key, doesn't exits", key)); } }
public void Add(string key, DireccionPunto direccionPunto) { try { //Nos aseguramos la key única if (this.ContainsKey(key)) { key = key + String.Format("_{0}", this.numId); } direccionPunto.key = key; //Esto puede tener efectos secundarios numId++; _d.Add(key, direccionPunto); if (ChangeCollection != null) { Dictionary <string, DireccionPunto> e = new Dictionary <string, DireccionPunto>(); e.Add(key, direccionPunto); DireccionPuntoSOBEventArgs arg = new DireccionPuntoSOBEventArgs(DireccionPuntoSOBEventArgs.TypeChange.NEW, e); ChangeCollection(this, arg); } } catch (Exception ex) { } }