public virtual bool Equals(Poligono obj) { if (ReferenceEquals(null, obj)) { return(false); } if (ReferenceEquals(this, obj)) { return(true); } if (obj.Radio != Radio) { return(false); } if (obj.Puntos.Count != Puntos.Count) { return(false); } var thisPoints = ToPointFList(); var objPoints = obj.ToPointFList(); for (var i = 0; i < thisPoints.Count; i++) { if (!thisPoints[i].Equals(objPoints[i])) { return(false); } } return(true); }
public virtual void AddHistoria(Direccion dir, Poligono pol, DateTime?desde, DateTime?hasta) { var vigencia = new Vigencia(); if (desde.HasValue) { vigencia.Inicio = desde.Value; } if (hasta.HasValue) { vigencia.Fin = hasta.Value; } var historia = from HistoriaGeoRef h in Historia orderby h.Vigencia != null ? h.Vigencia.Inicio : DateTime.MinValue select h; foreach (var h in historia) { if (h.Vigencia == null) { h.Vigencia = new Vigencia(); } if (desde.HasValue && h.Vigencia.Vigente(desde.Value)) { h.Vigencia.Fin = desde.Value; } else if (hasta.HasValue && h.Vigencia.Vigente(hasta.Value)) { h.Vigencia.Inicio = hasta.Value; } } var newHistoria = new HistoriaGeoRef { ReferenciaGeografica = this, Direccion = dir, Poligono = pol, Vigencia = vigencia }; Historia.Add(newHistoria); }
public virtual void AddHistoria(Direccion dir, Poligono pol, DateTime?desde) { AddHistoria(dir, pol, desde, null); }