예제 #1
0
        public async Task <JsonResult> SaveAdvertiser(AnunciantesDTO advertiser)
        {
            Result <AnunciantesDTO> result = new Result <AnunciantesDTO>();

            try
            {
                AnunciantesServices advertiserService = new AnunciantesServices();
                advertiser.Personas.Usuarios     = UserLoggedIn();
                advertiser.Personas.TipoPerfil   = advertiser.Personas.Usuarios.TipoPerfil;
                advertiser.Personas.CodigoIdioma = advertiser.Personas.Usuarios.PersonaDelUsuario.CodigoIdioma;
                WrapperSimpleTypesDTO res = new WrapperSimpleTypesDTO();
                if (advertiser.Consecutivo != 0)
                {
                    PersonasServices personService = new PersonasServices();
                    res = await personService.ModificarPersona(advertiser.Personas);

                    if (res != null)
                    {
                        res = await advertiserService.ModificarInformacionAnunciante(advertiser);

                        result.obj = advertiser;
                    }
                }
                else
                {
                    advertiser.Anuncios = null;
                    advertiser.Personas.Usuarios.Personas          = null;
                    advertiser.Personas.Usuarios.PersonaDelUsuario = null;
                    res = await advertiserService.CrearAnunciante(advertiser);

                    if (res != null)
                    {
                        advertiser.Consecutivo            = (int)res.ConsecutivoCreado;
                        advertiser.CodigoPersona          = res.ConsecutivoPersonaCreado;
                        advertiser.Personas.CodigoUsuario = res.ConsecutivoUsuarioCreado;
                        result.obj = advertiser;
                        AuthenticateServices AuthenticateService = new AuthenticateServices();
                        var newUser = await AuthenticateService.VerificarUsuario(UserLoggedIn());

                        setUserLogin(newUser);
                    }
                }

                if (res == null)
                {
                    return(Json(Helper.returnErrorObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
                }

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(Helper.returnErrorObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
            }
        }
        public async Task <JsonResult> ChangeLanguage(PersonasDTO personToUpdate)
        {
            Result <WrapperSimpleTypesDTO> result = new Result <WrapperSimpleTypesDTO>();

            try
            {
                PersonasServices personService = new PersonasServices();
                PersonasDTO      myPerson      = await personService.BuscarPersona(UserLoggedIn().PersonaDelUsuario);

                myPerson.CodigoIdioma = personToUpdate.CodigoIdioma;
                result.obj            = await personService.ModificarPersona(myPerson);

                if (result.obj == null)
                {
                    return(Json(Helper.returnErrorSaveObj(personToUpdate.CodigoIdioma), JsonRequestBehavior.AllowGet));
                }
                UserLoggedIn().PersonaDelUsuario.CodigoIdioma = personToUpdate.CodigoIdioma;
                return(Json(Helper.returnSuccessObj(personToUpdate.CodigoIdioma), JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(Helper.returnErrorSaveObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
            }
        }
        public async Task <JsonResult> CreateAgent(RepresentantesDTO agent)
        {
            Result <WrapperSimpleTypesDTO> result = new Result <WrapperSimpleTypesDTO>();

            try
            {
                string newEmail = agent.Personas.Usuarios.Email;
                agent.Personas.CodigoUsuario  = UserLoggedIn().Consecutivo;
                agent.Personas.Usuarios       = UserLoggedIn();
                agent.Personas.Usuarios.Email = newEmail;

                RepresentantesServices agentService   = new RepresentantesServices();
                PersonasServices       personService  = new PersonasServices();
                AuthenticateServices   usuarioService = new AuthenticateServices();
                if (agent.Consecutivo != 0)
                {
                    agent.CategoriasRepresentantes = null;
                    result.obj = await personService.ModificarPersona(agent.Personas); // Update person

                    if (result.obj != null)
                    {
                        result.obj = await agentService.ModificarInformacionRepresentante(agent); // Update agent
                    }
                    if (result.obj != null)
                    {
                        result.obj = await usuarioService.ModificarEmailUsuario(agent.Personas.Usuarios); // Update email user
                    }
                    if (result.obj != null)
                    {
                        UserLoggedIn().PersonaDelUsuario.IdiomaDeLaPersona = agent.Personas.IdiomaDeLaPersona;
                    }
                }
                else
                {
                    agent.CategoriasRepresentantes.ToList().ForEach(c => c.Categorias = null);
                    result.obj = await agentService.CrearRepresentante(agent); // Create a new agent

                    if (result.obj != null)
                    {
                        AuthenticateServices service        = new AuthenticateServices();
                        UsuariosDTO          userToValidate = UserLoggedIn();
                        userToValidate.Personas       = null;
                        userToValidate.TiposPerfiles  = null;
                        userToValidate.PlanesUsuarios = null;
                        var userAgent = await service.VerificarUsuario(userToValidate);

                        if (userAgent != null)
                        {
                            setUserLogin(userAgent);
                        }
                    }
                }

                if (result.obj == null)
                {
                    return(Json(Helper.returnErrorObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
                }

                result.Message = "La información se ha guardado con éxito";
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(Helper.returnErrorSaveObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
            }
        }