/// <summary> /// Registra un nuevo sitio historico en la tabla de sitios historicos /// </summary> /// <param name="sitio">Sitio historico a registrar</param> /// <returns>Retorna true si el sitio historico se pudo añadir</returns> public bool registrarSitioHistorico(SitioHistorico sitio) { List <AtributosSitio> sitios = TablaSitioHistorico.getTablaSitios(); AtributosSitio sitioNuevo = new AtributosSitio(sitio.id, sitio.nombre, sitio.descripcion, sitio.contenidoMultimedia, sitio.validez, sitio.historias, sitio.posicion); sitios.Add(sitioNuevo); return(true); }
/// <summary> /// Obtiene el sitio historico solicitado /// </summary> /// <param name="nombre">Nombre del sitio historico a buscar</param> /// <param name="ubicacion">Ubicacion del sitio historico a buscar</param> /// <returns>Retorna el sitio historico si existe, sino retorna null</returns> public SitioHistorico getSitioHistorico(string nombre, Posicion ubicacion) { String jsonString = TablaSitioHistorico.ToJSON(); List <SitioHistorico> sitios = JsonSerializer.Deserialize <List <SitioHistorico> >(jsonString); SitioHistorico sitio = (from S in sitios where S.nombre == nombre || (S.posicion.latitud == ubicacion.latitud && S.posicion.longitud == ubicacion.longitud) select S).FirstOrDefault(); return(sitio); }
public void verificarSitioHistoricoExistente() { string sitiosJson = TablaSitioHistorico.ToJSON(); List <SitioHistorico> sitios = JsonSerializer.Deserialize <List <SitioHistorico> >(sitiosJson); SitioHistorico sitioBuscar = sitios.First(); Posicion posicion = new Posicion(Guid.NewGuid().ToString(), sitioBuscar.posicion.latitud, sitioBuscar.posicion.longitud, "Direccion"); Assert.That(() => new Ctrl_RegistrarSitio().verificarSitioExistente(sitioBuscar.nombre, posicion), Throws.TypeOf <SitioExistenteException>()); }
/// <summary> /// Verifica si un sitio historico ya existe previamente /// </summary> /// <param name="nombre">Nombre del sitio historico a verificar</param> /// <param name="ubicacion">Ubicacion del sitio historioc a verificar</param> /// <returns>Returna false si el sitio historico no existe previamente, sino retorna la excepcion SitioExistenteException</returns> public bool verificarSitioExistente(string nombre, Posicion ubicacion) { IRepositorioSitioHistorico repoSitio = FabricaRepositorioSitiosHistoricos.CrearRepositorioSitios(); SitioHistorico sitio = repoSitio.getSitioHistorico(nombre, ubicacion); if (sitio != null) { throw new SitioExistenteException("El sitio historio " + nombre + " ya esta registrado"); } else { return(false); } }
/// <summary> /// Registra un nuevo sitio historico /// </summary> /// <param name="nombre">Nombre del sitio historico</param> /// <param name="descripcion">Descripcion del sitio historico</param> /// <param name="archivos">Archivos multimedia que se van añadir al sitio</param> /// <param name="idHistoriador">Id del historiador que registra el sitio</param> /// <returns></returns> public bool registrarSitio(string nombre, string descripcion, List <Multimedia> archivos, string idHistoriador) { Posicion posicionActual = new Ctrl_Georeferenciador().obtenerUbicacion(); bool existe = verificarSitioExistente(nombre, posicionActual); bool archivosCorrectos = verificarArchivos(archivos); if (existe == false && archivosCorrectos == true) { IRepositorioSitioHistorico repoSitio = FabricaRepositorioSitiosHistoricos.CrearRepositorioSitios(); SitioHistorico sitio = new SitioHistorico(Guid.NewGuid().ToString(), nombre, descripcion, archivos, 0, null, posicionActual); bool registrado = repoSitio.registrarSitioHistorico(sitio); return(registrado); } return(false); }