public SonarRetorno Consultar(SonarDTO sonar) { return(new SonarRetorno() { Registros = PopularRegistros(BuscarRegistros(sonar)) }); }
private List <RegistroDTO> BuscarRegistros(SonarDTO sonar) { return((from registroLocalizacao in DataContext.Registrolocalizacaos.AsNoTracking() join registro in DataContext.Registros.AsNoTracking() on registroLocalizacao.Registro equals registro.Codigo join localizacaoGeografica in DataContext.Localizacaogeograficas.AsNoTracking() on registroLocalizacao.Localizacaogeografica equals localizacaoGeografica.Codigo join idioma in DataContext.Idiomas.AsNoTracking() on registro.Idioma equals idioma.Codigo where (Math.Sqrt(Math.Pow((sonar.Latitude - localizacaoGeografica.Latitude), 2) + Math.Pow((sonar.Longitude - localizacaoGeografica.Longitude), 2))) <= sonar.Alcance select new RegistroDTO() { Codigo = registro.Codigo, Nome = registro.Nome, Idioma = idioma.Nome }).AsNoTracking().ToList()); }