public async Task <IHttpActionResult> CrearAnunciante(Anunciantes anuncianteParaCrear)
        {
            if (anuncianteParaCrear == null || anuncianteParaCrear.Personas == null || anuncianteParaCrear.Personas.Usuarios == null)
            {
                return(BadRequest("anuncianteParaCrear vacio y/o invalido!."));
            }
            else if (string.IsNullOrWhiteSpace(anuncianteParaCrear.Personas.Nombres) || anuncianteParaCrear.Personas.CodigoPais <= 0 || anuncianteParaCrear.Personas.TipoPerfil == TipoPerfil.SinTipoPerfil ||
                     anuncianteParaCrear.Personas.CodigoIdioma <= 0 || string.IsNullOrWhiteSpace(anuncianteParaCrear.Personas.Telefono) || string.IsNullOrWhiteSpace(anuncianteParaCrear.Personas.CiudadResidencia))
            {
                return(BadRequest("Persona de anuncianteParaCrear vacio y/o invalido!."));
            }
            else if (string.IsNullOrWhiteSpace(anuncianteParaCrear.Personas.Usuarios.Usuario) || string.IsNullOrWhiteSpace(anuncianteParaCrear.Personas.Usuarios.Clave) ||
                     string.IsNullOrWhiteSpace(anuncianteParaCrear.Personas.Usuarios.Email))
            {
                return(BadRequest("Usuario de anuncianteParaCrear vacio y/o invalido!."));
            }

            try
            {
                string urlLogo   = Url.Content("~/Content/Images/LogoSportsGo.png");
                string urlBanner = Url.Content("~/Content/Images/BannerSportsGo.png");

                WrapperSimpleTypesDTO wrapperCrearAnunciante = await _anuncianteBusiness.CrearAnunciante(anuncianteParaCrear, urlLogo, urlBanner);

                return(Ok(wrapperCrearAnunciante));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Exemplo n.º 2
0
        public async Task <Anunciantes> ModificarInformacionAnunciante(Anunciantes anuncianteParaModificar)
        {
            Anunciantes anuncianteExistente = await _context.Anunciantes.Where(x => x.Consecutivo == anuncianteParaModificar.Consecutivo).FirstOrDefaultAsync();

            anuncianteExistente.Empresa = !string.IsNullOrWhiteSpace(anuncianteParaModificar.Empresa) ? anuncianteParaModificar.Empresa.Trim() : string.Empty;
            anuncianteExistente.NumeroIdentificacion = !string.IsNullOrWhiteSpace(anuncianteParaModificar.NumeroIdentificacion) ? anuncianteParaModificar.NumeroIdentificacion.Trim() : string.Empty;

            return(anuncianteExistente);
        }
Exemplo n.º 3
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.º 4
0
        public async Task <Anunciantes> BuscarAnunciantePorCodigoPersona(Anunciantes anuncianteParaBuscar)
        {
            Anunciantes anuncianteBuscado = await(from anunciante in _context.Anunciantes
                                                  where anunciante.CodigoPersona == anuncianteParaBuscar.CodigoPersona
                                                  select anunciante).Include(x => x.Personas)
                                            .AsNoTracking()
                                            .FirstOrDefaultAsync();


            return(anuncianteBuscado);
        }
Exemplo n.º 5
0
        public async Task AnunciantesBusiness_CrearAnunciante_ShouldCreate()
        {
            AnunciantesBusiness anuncianteBusiness = new AnunciantesBusiness();

            SecureMessagesHelper secure = new SecureMessagesHelper();

            // No funca ese json encriptado cambiar
            Anunciantes anuncios = await secure.DecryptMessageToEntity <Anunciantes>(@"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");

            WrapperSimpleTypesDTO wrapper = await anuncianteBusiness.CrearAnunciante(anuncios, null, null);

            Assert.IsNotNull(wrapper);
        }
Exemplo n.º 6
0
        public void CrearAnunciante(Anunciantes anuncianteParaCrear)
        {
            anuncianteParaCrear.Empresa = !string.IsNullOrWhiteSpace(anuncianteParaCrear.Empresa) ? anuncianteParaCrear.Empresa.Trim() : string.Empty;
            anuncianteParaCrear.NumeroIdentificacion = !string.IsNullOrWhiteSpace(anuncianteParaCrear.NumeroIdentificacion) ? anuncianteParaCrear.NumeroIdentificacion.Trim() : string.Empty;

            anuncianteParaCrear.Personas.Nombres          = anuncianteParaCrear.Personas.Nombres.Trim();
            anuncianteParaCrear.Personas.CiudadResidencia = anuncianteParaCrear.Personas.CiudadResidencia.Trim();
            anuncianteParaCrear.Personas.Telefono         = anuncianteParaCrear.Personas.Telefono.Trim();
            anuncianteParaCrear.Personas.Skype            = !string.IsNullOrWhiteSpace(anuncianteParaCrear.Personas.Skype) ? anuncianteParaCrear.Personas.Skype.Trim() : string.Empty;

            anuncianteParaCrear.Personas.Usuarios.Usuario  = anuncianteParaCrear.Personas.Usuarios.Usuario.Trim();
            anuncianteParaCrear.Personas.Usuarios.Clave    = anuncianteParaCrear.Personas.Usuarios.Clave.Trim();
            anuncianteParaCrear.Personas.Usuarios.Email    = anuncianteParaCrear.Personas.Usuarios.Email.Trim();
            anuncianteParaCrear.Personas.Usuarios.Creacion = DateTime.Now;

            _context.Anunciantes.Add(anuncianteParaCrear);
        }
        public async Task <IHttpActionResult> ModificarInformacionAnunciante(Anunciantes anuncianteParaModificar)
        {
            if (anuncianteParaModificar == null || anuncianteParaModificar.Consecutivo <= 0)
            {
                return(BadRequest("anuncianteParaModificar vacio y/o invalido!."));
            }

            try
            {
                WrapperSimpleTypesDTO wrapperModificarAnunciante = await _anuncianteBusiness.ModificarInformacionAnunciante(anuncianteParaModificar);

                return(Ok(wrapperModificarAnunciante));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
        public async Task <IHttpActionResult> BuscarAnunciantePorCodigoPersona(Anunciantes anuncianteParaBuscar)
        {
            if (anuncianteParaBuscar == null || anuncianteParaBuscar.CodigoPersona <= 0)
            {
                return(BadRequest("anuncianteParaBuscar vacio y/o invalido!."));
            }

            try
            {
                Anunciantes anuncianteBuscado = await _anuncianteBusiness.BuscarAnunciantePorCodigoPersona(anuncianteParaBuscar);

                return(Ok(anuncianteBuscado));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Exemplo n.º 9
0
        public async Task <WrapperSimpleTypesDTO> ModificarInformacionAnunciante(Anunciantes anuncianteParaModificar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                AnunciantesRepository anuncianteRepo      = new AnunciantesRepository(context);
                Anunciantes           anuncianteExistente = await anuncianteRepo.ModificarInformacionAnunciante(anuncianteParaModificar);

                WrapperSimpleTypesDTO wrapperModificarAnunciante = new WrapperSimpleTypesDTO();

                wrapperModificarAnunciante.NumeroRegistrosAfectados = await context.SaveChangesAsync();

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

                return(wrapperModificarAnunciante);
            }
        }
Exemplo n.º 10
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);
            }
        }