public async Task <List <AnunciosDTO> > ListarAnuncios(BuscadorDTO buscador) { using (SportsGoEntities context = new SportsGoEntities(false)) { AnunciantesRepository anuncianteRepo = new AnunciantesRepository(context); DateTimeHelperNoPortable helper = new DateTimeHelperNoPortable(); if (buscador.FechaInicio != DateTime.MinValue) { buscador.FechaInicio = helper.ConvertDateTimeFromAnotherTimeZone(buscador.ZonaHorariaGMTBase, helper.DifferenceBetweenGMTAndLocalTimeZone, buscador.FechaInicio); } List <AnunciosDTO> listarInformacionAnuncios = await anuncianteRepo.ListarAnuncios(buscador); if (listarInformacionAnuncios != null && listarInformacionAnuncios.Count > 0) { foreach (var anuncios in listarInformacionAnuncios) { anuncios.Creacion = helper.ConvertDateTimeFromAnotherTimeZone(buscador.ZonaHorariaGMTBase, helper.DifferenceBetweenGMTAndLocalTimeZone, anuncios.Creacion); anuncios.FechaInicio = helper.ConvertDateTimeFromAnotherTimeZone(buscador.ZonaHorariaGMTBase, helper.DifferenceBetweenGMTAndLocalTimeZone, anuncios.FechaInicio); if (anuncios.Vencimiento.HasValue) { anuncios.Vencimiento = helper.ConvertDateTimeFromAnotherTimeZone(buscador.ZonaHorariaGMTBase, helper.DifferenceBetweenGMTAndLocalTimeZone, anuncios.Vencimiento.Value); } } } return(listarInformacionAnuncios); } }
public async Task <List <TimeLineNoticias> > ListarTimeLine(BuscadorDTO buscador) { using (SportsGoEntities context = new SportsGoEntities(false)) { NoticiasRepository noticiaRepo = new NoticiasRepository(context); GruposRepository grupoRepo = new GruposRepository(context); AnunciantesRepository anuncianteRepo = new AnunciantesRepository(context); DateTimeHelperNoPortable helper = new DateTimeHelperNoPortable(); if (buscador.FechaInicio != DateTime.MinValue) { buscador.FechaInicio = helper.ConvertDateTimeFromAnotherTimeZone(buscador.ZonaHorariaGMTBase, helper.DifferenceBetweenGMTAndLocalTimeZone, buscador.FechaInicio); } List <GruposEventosDTO> listaEventos = await grupoRepo.ListarEventos(buscador, true); List <AnunciosDTO> listaAnuncios = await anuncianteRepo.ListarAnuncios(buscador, true); List <NoticiasDTO> listaNoticias = await noticiaRepo.ListarNoticiasNoNotificaciones(buscador, true); List <TimeLineNoticias> listaTimeLine = TimeLineNoticias.CrearListaTimeLine(listaEventos, listaAnuncios, listaNoticias); List <int> listaCodigoAnunciosConsultados = listaAnuncios.Select(x => x.Consecutivo).ToList(); if (!buscador.EsConsultaEnLaApp && buscador.SkipIndexBase == 0) { List <AnunciosDTO> listaAnunciosLaterales = await anuncianteRepo.ListarAnunciosLaterales(buscador); List <TimeLineNoticias> listaAnunciosLateralesParaAdicionar = TimeLineNoticias.CrearListaTimeLine(null, listaAnunciosLaterales, null); listaCodigoAnunciosConsultados.AddRange(listaAnunciosLaterales.Select(x => x.Consecutivo)); if (listaAnunciosLateralesParaAdicionar != null && listaAnunciosLateralesParaAdicionar.Count > 0) { listaTimeLine.AddRange(listaAnunciosLateralesParaAdicionar); } } if (listaCodigoAnunciosConsultados.Count > 0) { await anuncianteRepo.ModificarControlAnuncio(listaCodigoAnunciosConsultados); } if (listaTimeLine != null && listaTimeLine.Count > 0) { foreach (var timeLine in listaTimeLine) { timeLine.FechaPublicacion = helper.ConvertDateTimeFromAnotherTimeZone(buscador.ZonaHorariaGMTBase, helper.DifferenceBetweenGMTAndLocalTimeZone, timeLine.FechaPublicacion); } } return(listaTimeLine); } }