Exemplo n.º 1
0
        public async Task <WrapperSimpleTypesDTO> EliminarArchivoAnuncio(Anuncios anuncioArchivoParaEliminar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                Archivos archivoParaEliminar = new Archivos
                {
                    Consecutivo = anuncioArchivoParaEliminar.CodigoArchivo.Value,
                };

                AnunciantesRepository anuncianteRepo = new AnunciantesRepository(context);
                Anuncios anuncioExistente            = await anuncianteRepo.DesasignarArchivoAnuncio(anuncioArchivoParaEliminar);

                ArchivosRepository archivoRepo = new ArchivosRepository(context);
                archivoRepo.EliminarArchivo(archivoParaEliminar);

                WrapperSimpleTypesDTO wrapperDesasignarArchivoAnuncio = new WrapperSimpleTypesDTO();

                wrapperDesasignarArchivoAnuncio.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (wrapperDesasignarArchivoAnuncio.NumeroRegistrosAfectados > 0)
                {
                    wrapperDesasignarArchivoAnuncio.Exitoso = true;
                }

                return(wrapperDesasignarArchivoAnuncio);
            }
        }
Exemplo n.º 2
0
        public async Task <WrapperSimpleTypesDTO> CrearAnuncio(Anuncios anuncioParaCrear)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                AnunciantesRepository anuncianteRepo = new AnunciantesRepository(context);

                PlanesDTO configuracionPlan = await anuncianteRepo.BuscarConfiguracionAnuncioPorPlanAnunciante(anuncioParaCrear.CodigoAnunciante);

                anuncioParaCrear.Vencimiento       = DateTimeHelper.SumarDiasSegunTipoCalendario(anuncioParaCrear.FechaInicio, configuracionPlan.NumeroDiasVigenciaAnuncio);
                anuncioParaCrear.NumeroApariciones = configuracionPlan.NumeroAparicionesAnuncio;

                anuncianteRepo.CrearAnuncio(anuncioParaCrear);

                WrapperSimpleTypesDTO wrapperCrearAnuncio = new WrapperSimpleTypesDTO();

                wrapperCrearAnuncio.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (wrapperCrearAnuncio.NumeroRegistrosAfectados > 0)
                {
                    wrapperCrearAnuncio.Exitoso           = true;
                    wrapperCrearAnuncio.ConsecutivoCreado = anuncioParaCrear.Consecutivo;
                }

                return(wrapperCrearAnuncio);
            }
        }
Exemplo n.º 3
0
        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 <WrapperSimpleTypesDTO> ModificarArchivoAnuncio(int codigoTipoArchivo, int codigoAnuncio, int?codigoArchivo, Stream sourceStream)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
                using (DbContextTransaction transaction = context.Database.BeginTransaction())
                {
                    ArchivosRepository archivoRepo = new ArchivosRepository(context);

                    Archivos archivoParaCrear = new Archivos
                    {
                        CodigoTipoArchivo = codigoTipoArchivo,
                        ArchivoContenido  = new byte[] { 0, 1, 2 }
                    };

                    archivoRepo.CrearArchivo(archivoParaCrear);

                    WrapperSimpleTypesDTO wrapper = new WrapperSimpleTypesDTO();
                    wrapper.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                    await archivoRepo.ModificarArchivoContenidoStream(archivoParaCrear.Consecutivo, sourceStream);

                    if (wrapper.NumeroRegistrosAfectados > 0 || archivoParaCrear.Consecutivo > 0)
                    {
                        wrapper.Exitoso                  = true;
                        wrapper.ConsecutivoCreado        = archivoParaCrear.Consecutivo;
                        wrapper.ConsecutivoArchivoCreado = archivoParaCrear.Consecutivo;

                        AnunciantesRepository anuncioRepo = new AnunciantesRepository(context);

                        // Meto el consecutivo del archivo generado por el EF por la creacion
                        Anuncios anuncio = new Anuncios
                        {
                            Consecutivo   = codigoAnuncio,
                            CodigoArchivo = archivoParaCrear.Consecutivo
                        };

                        Anuncios anuncioExistente = await anuncioRepo.ModificarCodigoArchivoAnuncio(anuncio);

                        // Elimino el viejo archivo
                        if (codigoArchivo.HasValue && codigoArchivo > 0)
                        {
                            Archivos archivoParaBorrar = new Archivos
                            {
                                Consecutivo = codigoArchivo.Value
                            };

                            archivoRepo.EliminarArchivo(archivoParaBorrar);
                        }

                        wrapper.NumeroRegistrosAfectados += await context.SaveChangesAsync();

                        transaction.Commit();
                    }

                    return(wrapper);
                }
        }
Exemplo n.º 5
0
        public async Task <List <AnunciosPaises> > ListarAnunciosPaisesDeUnAnuncio(AnunciosPaises anuncioPaisesParaListar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                AnunciantesRepository anuncianteRepo         = new AnunciantesRepository(context);
                List <AnunciosPaises> listaPaisesDeUnAnuncio = await anuncianteRepo.ListarAnunciosPaisesDeUnAnuncio(anuncioPaisesParaListar);

                return(listaPaisesDeUnAnuncio);
            }
        }
Exemplo n.º 6
0
        public async Task <AnunciosPaises> BuscaAnuncioPaisPorConsecutivo(AnunciosPaises anuncioPaisParaBuscar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                AnunciantesRepository anuncianteRepo     = new AnunciantesRepository(context);
                AnunciosPaises        anuncioPaisBuscado = await anuncianteRepo.BuscaAnuncioPaisPorConsecutivo(anuncioPaisParaBuscar);

                return(anuncioPaisBuscado);
            }
        }
Exemplo n.º 7
0
        public async Task <Anunciantes> BuscarAnunciantePorCodigoPersona(Anunciantes anuncianteParaBuscar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                AnunciantesRepository anuncianteRepo    = new AnunciantesRepository(context);
                Anunciantes           anuncianteBuscado = await anuncianteRepo.BuscarAnunciantePorCodigoPersona(anuncianteParaBuscar);

                return(anuncianteBuscado);
            }
        }
Exemplo n.º 8
0
        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);
            }
        }
Exemplo n.º 9
0
        public async Task <WrapperSimpleTypesDTO> EliminarAnuncio(Anuncios anuncioParaEliminar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                AnunciantesRepository anuncianteRepo             = new AnunciantesRepository(context);
                AnunciosContenidos    anuncioContenidoParaBorrar = new AnunciosContenidos
                {
                    CodigoAnuncio = anuncioParaEliminar.Consecutivo
                };
                anuncianteRepo.EliminarMultiplesContenidosAnuncios(anuncioContenidoParaBorrar);

                AnunciosPaises anuncioPaisesParaBorrar = new AnunciosPaises
                {
                    CodigoAnuncio = anuncioParaEliminar.Consecutivo
                };
                anuncianteRepo.EliminarMultiplesAnuncioPais(anuncioPaisesParaBorrar);

                CategoriasRepository categoriasRepo = new CategoriasRepository(context);
                CategoriasAnuncios   categoriasAnunciosParaBorrar = new CategoriasAnuncios
                {
                    CodigoAnuncio = anuncioParaEliminar.Consecutivo
                };
                categoriasRepo.EliminarMultiplesCategoriasAnuncios(categoriasAnunciosParaBorrar);

                int?codigoArchivoDeAnuncio = await anuncianteRepo.BuscarArchivoDeUnAnuncio(anuncioParaEliminar);

                anuncianteRepo.EliminarAnuncio(anuncioParaEliminar);

                WrapperSimpleTypesDTO wrapperEliminarAnuncio = new WrapperSimpleTypesDTO();

                wrapperEliminarAnuncio.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (codigoArchivoDeAnuncio.HasValue)
                {
                    ArchivosRepository archivoRepo         = new ArchivosRepository(context);
                    Archivos           archivoParaEliminar = new Archivos
                    {
                        Consecutivo = codigoArchivoDeAnuncio.Value,
                    };
                    archivoRepo.EliminarArchivo(archivoParaEliminar);
                }

                wrapperEliminarAnuncio.NumeroRegistrosAfectados += await context.SaveChangesAsync();

                if (wrapperEliminarAnuncio.NumeroRegistrosAfectados > 0)
                {
                    wrapperEliminarAnuncio.Exitoso = true;
                }

                return(wrapperEliminarAnuncio);
            }
        }
Exemplo n.º 10
0
        public async Task <WrapperSimpleTypesDTO> ModificarAnuncio(Anuncios anuncioParaModificar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                AnunciantesRepository anuncianteRepo = new AnunciantesRepository(context);
                Anuncios anuncioExistente            = await anuncianteRepo.ModificarAnuncio(anuncioParaModificar);

                if (anuncioParaModificar.AnunciosContenidos != null && anuncioParaModificar.AnunciosContenidos.Count > 0)
                {
                    foreach (AnunciosContenidos anuncioContenido in anuncioParaModificar.AnunciosContenidos)
                    {
                        AnunciosContenidos anuncioContenidoExistente = await anuncianteRepo.ModificarAnuncioContenido(anuncioContenido);
                    }
                }

                if (anuncioParaModificar.AnunciosPaises != null && anuncioParaModificar.AnunciosPaises.Count > 0)
                {
                    AnunciosPaises anuncioPaisParaBorrar = new AnunciosPaises
                    {
                        CodigoAnuncio = anuncioParaModificar.Consecutivo
                    };

                    anuncianteRepo.EliminarMultiplesAnuncioPais(anuncioPaisParaBorrar);
                    anuncianteRepo.CrearAnunciosPaises(anuncioParaModificar.AnunciosPaises);
                }

                if (anuncioParaModificar.CategoriasAnuncios != null && anuncioParaModificar.CategoriasAnuncios.Count > 0)
                {
                    CategoriasRepository categoriasRepo             = new CategoriasRepository(context);
                    CategoriasAnuncios   categoriaAnuncioParaBorrar = new CategoriasAnuncios
                    {
                        CodigoAnuncio = anuncioParaModificar.Consecutivo
                    };

                    categoriasRepo.EliminarMultiplesCategoriasAnuncios(categoriaAnuncioParaBorrar);
                    categoriasRepo.CrearListaCategoriaAnuncios(anuncioParaModificar.CategoriasAnuncios);
                }

                WrapperSimpleTypesDTO wrapperModificarAnuncio = new WrapperSimpleTypesDTO();

                wrapperModificarAnuncio.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (wrapperModificarAnuncio.NumeroRegistrosAfectados > 0)
                {
                    wrapperModificarAnuncio.Exitoso = true;
                }

                return(wrapperModificarAnuncio);
            }
        }
Exemplo n.º 11
0
        public async Task <int> CalcularDuracionPermitidaVideoParaUnAnuncio(int codigoAnuncio)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                AnunciantesRepository anuncianteRepo = new AnunciantesRepository(context);
                int?duracionVideoPermitida           = await anuncianteRepo.ConsultarDuracionVideoParaElPlanDeEsteAnuncio(codigoAnuncio);

                if (!duracionVideoPermitida.HasValue)
                {
                    throw new InvalidOperationException("No se encontro la duracion del video permitida del anunciante de este anuncio!.");
                }

                return(duracionVideoPermitida.Value);
            }
        }
Exemplo n.º 12
0
        public async Task <WrapperSimpleTypesDTO> EliminarAnuncioPais(AnunciosPaises anuncioPaisParaEliminar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                AnunciantesRepository anuncianteRepo = new AnunciantesRepository(context);
                anuncianteRepo.EliminarAnuncioPais(anuncioPaisParaEliminar);

                WrapperSimpleTypesDTO wrapperEliminarAnuncioPais = new WrapperSimpleTypesDTO();

                wrapperEliminarAnuncioPais.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (wrapperEliminarAnuncioPais.NumeroRegistrosAfectados > 0)
                {
                    wrapperEliminarAnuncioPais.Exitoso = true;
                }

                return(wrapperEliminarAnuncioPais);
            }
        }
Exemplo n.º 13
0
        public async Task <WrapperSimpleTypesDTO> ModificarAnuncioContenido(AnunciosContenidos anuncioContenidoParaModificar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                AnunciantesRepository anuncianteRepo            = new AnunciantesRepository(context);
                AnunciosContenidos    anuncioContenidoExistente = await anuncianteRepo.ModificarAnuncioContenido(anuncioContenidoParaModificar);

                WrapperSimpleTypesDTO wrapperModificarAnuncioContenido = new WrapperSimpleTypesDTO();

                wrapperModificarAnuncioContenido.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (wrapperModificarAnuncioContenido.NumeroRegistrosAfectados > 0)
                {
                    wrapperModificarAnuncioContenido.Exitoso = true;
                }

                return(wrapperModificarAnuncioContenido);
            }
        }
Exemplo n.º 14
0
        public async Task <WrapperSimpleTypesDTO> AumentarContadorClickDeUnAnuncio(Anuncios anuncioParaAumentar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                AnunciantesRepository anuncianteRepo = new AnunciantesRepository(context);
                Anuncios anuncioExistente            = await anuncianteRepo.AumentarContadorClickDeUnAnuncio(anuncioParaAumentar);

                WrapperSimpleTypesDTO wrapperAumentarContadorClickDeUnAnuncio = new WrapperSimpleTypesDTO();

                wrapperAumentarContadorClickDeUnAnuncio.NumeroRegistrosAfectados += await context.SaveChangesAsync();

                if (wrapperAumentarContadorClickDeUnAnuncio.NumeroRegistrosAfectados > 0)
                {
                    wrapperAumentarContadorClickDeUnAnuncio.Exitoso = true;
                }

                return(wrapperAumentarContadorClickDeUnAnuncio);
            }
        }
Exemplo n.º 15
0
        public async Task <Anuncios> BuscarAnuncioPorConsecutivo(Anuncios anuncioParaBuscar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                AnunciantesRepository anuncianteRepo = new AnunciantesRepository(context);
                Anuncios anuncioBuscado = await anuncianteRepo.BuscarAnuncioPorConsecutivo(anuncioParaBuscar);

                if (anuncioBuscado != null)
                {
                    DateTimeHelperNoPortable helper = new DateTimeHelperNoPortable();
                    anuncioBuscado.Creacion    = helper.ConvertDateTimeFromAnotherTimeZone(anuncioParaBuscar.ZonaHorariaGMTBase, helper.DifferenceBetweenGMTAndLocalTimeZone, anuncioBuscado.Creacion);
                    anuncioBuscado.FechaInicio = helper.ConvertDateTimeFromAnotherTimeZone(anuncioParaBuscar.ZonaHorariaGMTBase, helper.DifferenceBetweenGMTAndLocalTimeZone, anuncioBuscado.FechaInicio);

                    if (anuncioBuscado.Vencimiento.HasValue)
                    {
                        anuncioBuscado.Vencimiento = helper.ConvertDateTimeFromAnotherTimeZone(anuncioParaBuscar.ZonaHorariaGMTBase, helper.DifferenceBetweenGMTAndLocalTimeZone, anuncioBuscado.Vencimiento.Value);
                    }
                }

                return(anuncioBuscado);
            }
        }
Exemplo n.º 16
0
        public async Task <WrapperSimpleTypesDTO> CrearAnunciante(Anunciantes anuncianteParaCrear, string urlLogo, string urlBanner)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                PlanesRepository planRepo = new PlanesRepository(context);
                int?codigoPlanDefault     = await planRepo.BuscarCodigoPlanDefault(TipoPerfil.Anunciante);

                if (!codigoPlanDefault.HasValue)
                {
                    throw new InvalidOperationException("No existe un plan default para los anunciantes!.");
                }

                PlanesUsuarios planUsuarioDefault = new PlanesUsuarios
                {
                    CodigoPlan  = codigoPlanDefault.Value,
                    Adquisicion = DateTime.Now,
                    Vencimiento = DateTime.MaxValue
                };

                anuncianteParaCrear.Personas.Anunciantes       = null;
                anuncianteParaCrear.Personas.Usuarios.Personas = null;

                anuncianteParaCrear.Personas.Usuarios.CuentaActiva   = 0;
                anuncianteParaCrear.Personas.Usuarios.PlanesUsuarios = planUsuarioDefault;
                anuncianteParaCrear.Personas.Usuarios.TipoPerfil     = anuncianteParaCrear.Personas.TipoPerfil;

                anuncianteParaCrear.Personas.Candidatos        = null;
                anuncianteParaCrear.Personas.Paises            = null;
                anuncianteParaCrear.Personas.Idiomas           = null;
                anuncianteParaCrear.Personas.Anunciantes       = null;
                anuncianteParaCrear.Personas.Grupos            = null;
                anuncianteParaCrear.Personas.Representantes    = null;
                anuncianteParaCrear.Personas.Usuarios.Personas = null;

                AnunciantesRepository anuncianteRepo = new AnunciantesRepository(context);
                anuncianteRepo.CrearAnunciante(anuncianteParaCrear);

                WrapperSimpleTypesDTO wrapperCrearAnunciante = new WrapperSimpleTypesDTO();

                wrapperCrearAnunciante.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (wrapperCrearAnunciante.NumeroRegistrosAfectados > 0)
                {
                    wrapperCrearAnunciante.ConsecutivoCreado        = anuncianteParaCrear.Consecutivo;
                    wrapperCrearAnunciante.ConsecutivoPersonaCreado = anuncianteParaCrear.Personas.Consecutivo;
                    wrapperCrearAnunciante.ConsecutivoUsuarioCreado = anuncianteParaCrear.Personas.Usuarios.Consecutivo;

                    AuthenticateRepository authenticateRepo = new AuthenticateRepository(context);
                    string formatoEmail = await authenticateRepo.BuscarFormatoCorreoPorCodigoIdioma(anuncianteParaCrear.Personas.CodigoIdioma, TipoFormatosEnum.ConfirmacionCuenta);

                    if (!string.IsNullOrWhiteSpace(formatoEmail))
                    {
                        formatoEmail = formatoEmail.Replace(AppConstants.PlaceHolderNombre, anuncianteParaCrear.Personas.Nombres);
                        formatoEmail = formatoEmail.Replace(AppConstants.PlaceHolderImagenLogo, urlLogo);
                        formatoEmail = formatoEmail.Replace(AppConstants.PlaceHolderImagenBanner, urlBanner);
                        formatoEmail = formatoEmail.Replace(AppConstants.PlaceHolderUrlWeb, URL.UrlWeb);

                        string urlConfirmacionFormated = string.Format(URL.UrlWeb + @"Authenticate/ConfirmationOfRegistration?ID={0}&Language={1}", anuncianteParaCrear.Personas.Usuarios.Consecutivo, anuncianteParaCrear.Personas.CodigoIdioma);
                        formatoEmail = formatoEmail.Replace(AppConstants.PlaceHolderUrlPaginaConfirmacion, urlConfirmacionFormated);

                        string tema = string.Empty;
                        switch (anuncianteParaCrear.Personas.IdiomaDeLaPersona)
                        {
                        case Idioma.Español:
                            tema = "Confirmacion de registro";
                            break;

                        case Idioma.Ingles:
                            tema = "Confirmation of registration";
                            break;

                        case Idioma.Portugues:
                            tema = "Confirmação da inscrição";
                            break;
                        }

                        // Recordar configurar la cuenta Gmail en este caso para que permita el logeo de manera insegura y poder mandar correos
                        // https://myaccount.google.com/lesssecureapps?pli=1
                        CorreoHelper correoHelper = new CorreoHelper(anuncianteParaCrear.Personas.Usuarios.Email.Trim(), AppConstants.CorreoAplicacion, AppConstants.ClaveCorreoAplicacion);
                        wrapperCrearAnunciante.Exitoso = correoHelper.EnviarCorreoConHTML(formatoEmail, Correo.Gmail, tema, "SportsGo");
                    }
                    else
                    {
                        throw new InvalidOperationException("No hay formatos parametrizados para la confirmacion de la clave");
                    }
                }

                return(wrapperCrearAnunciante);
            }
        }