Exemple #1
0
        public async Task <WrapperSimpleTypesDTO> CrearRepresentante(RepresentantesDTO representanteParaCrear)
        {
            if (representanteParaCrear == null || representanteParaCrear.Personas == null || representanteParaCrear.Personas.Usuarios == null || representanteParaCrear.CategoriasRepresentantes == null)
            {
                throw new ArgumentNullException("No puedes crear un representante si representanteParaCrear, la persona, las categorias o el usuario del representante es nulo!.");
            }
            else if (string.IsNullOrWhiteSpace(representanteParaCrear.Personas.Nombres) || representanteParaCrear.Personas.CodigoPais <= 0 || representanteParaCrear.Personas.TipoPerfil == TipoPerfil.SinTipoPerfil ||
                     representanteParaCrear.Personas.CodigoIdioma <= 0 || string.IsNullOrWhiteSpace(representanteParaCrear.Personas.Telefono) || string.IsNullOrWhiteSpace(representanteParaCrear.Personas.CiudadResidencia))
            {
                throw new ArgumentException("Persona de representanteParaCrear vacio y/o invalido!.");
            }
            else if (string.IsNullOrWhiteSpace(representanteParaCrear.Personas.Usuarios.Usuario) || string.IsNullOrWhiteSpace(representanteParaCrear.Personas.Usuarios.Clave) ||
                     string.IsNullOrWhiteSpace(representanteParaCrear.Personas.Usuarios.Email))
            {
                throw new ArgumentException("Usuario de representanteParaCrear vacio y/o invalido!.");
            }
            else if (representanteParaCrear.CategoriasRepresentantes.Count <= 0 || !representanteParaCrear.CategoriasRepresentantes.All(x => x.CodigoCategoria > 0))
            {
                throw new ArgumentException("Categorias de representanteParaCrear vacio y/o invalido!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            WrapperSimpleTypesDTO wrapperCrearRepresentante = await client.PostAsync <RepresentantesDTO, WrapperSimpleTypesDTO>("Representantes/CrearRepresentante", representanteParaCrear);

            return(wrapperCrearRepresentante);
        }
Exemple #2
0
        public async Task <List <int> > ListarCodigoCategoriasDeUnRepresentante(int codigoPersona)
        {
            RepresentantesDTO representante = await _context.Representantes.Where(x => x.CodigoPersona == codigoPersona)
                                              .Select(x => new RepresentantesDTO
            {
                CategoriasRepresentantes = x.CategoriasRepresentantes.Where(z => z.CodigoRepresentante == x.Consecutivo)
                                           .Select(z => new CategoriasRepresentantesDTO
                {
                    CodigoCategoria = z.CodigoCategoria,
                }).ToList(),
            })
                                              .FirstOrDefaultAsync();

            return(representante.CategoriasRepresentantes.Select(x => x.CodigoCategoria).ToList());
        }
Exemple #3
0
        async Task <WrapperSimpleTypesDTO> CrearRepresentante()
        {
            RepresentantesDTO representanteParaCrear = Persona.RepresentanteDeLaPersona;

            representanteParaCrear.Personas = Persona;

            RepresentantesServices representanteServices = new RepresentantesServices();

            if (IsNotConnected)
            {
                return(null);
            }
            WrapperSimpleTypesDTO wrapper = await representanteServices.CrearRepresentante(representanteParaCrear);

            return(wrapper);
        }
Exemple #4
0
        public async Task <WrapperSimpleTypesDTO> ModificarInformacionRepresentante(RepresentantesDTO representanteParaModificar)
        {
            if (representanteParaModificar == null)
            {
                throw new ArgumentNullException("No puedes modificar un representante si representanteParaModificar es nulo!.");
            }
            if (representanteParaModificar.Consecutivo <= 0)
            {
                throw new ArgumentException("representanteParaModificar vacio y/o invalido!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            WrapperSimpleTypesDTO wrapperModificarRepresentante = await client.PostAsync <RepresentantesDTO, WrapperSimpleTypesDTO>("Representantes/ModificarInformacionRepresentante", representanteParaModificar);

            return(wrapperModificarRepresentante);
        }
Exemple #5
0
        public async Task <List <RepresentantesDTO> > ListarRepresentantes(RepresentantesDTO representanteParaListar)
        {
            if (representanteParaListar == null)
            {
                throw new ArgumentNullException("No puedes buscar un representante si representanteParaListar es nulo!.");
            }
            if (representanteParaListar.SkipIndexBase < 0 || representanteParaListar.TakeIndexBase <= 0)
            {
                throw new ArgumentException("representanteParaListar vacio y/o invalido!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            List <RepresentantesDTO> listaInformacionRepresentante = await client.PostAsync <RepresentantesDTO, List <RepresentantesDTO> >("Representantes/ListarRepresentantes", representanteParaListar);

            return(listaInformacionRepresentante);
        }
Exemple #6
0
        public async Task <RepresentantesDTO> BuscarGrupoPorCodigoGrupo(RepresentantesDTO representanteParaBuscar)
        {
            if (representanteParaBuscar == null)
            {
                throw new ArgumentNullException("No puedes buscar un representante si representanteParaBuscar es nulo!.");
            }
            if (representanteParaBuscar.Consecutivo <= 0)
            {
                throw new ArgumentException("representanteParaBuscar vacio y/o invalido!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            RepresentantesDTO representanteBuscado = await client.PostAsync("Representantes/BuscarRepresentantePorCodigoRepresentante", representanteParaBuscar);

            return(representanteBuscado);
        }
        public async Task <JsonResult> UpdatePerson(PersonasDTO person)
        {
            Result <WrapperSimpleTypesDTO> result = new Result <WrapperSimpleTypesDTO>();

            try
            {
                switch (person.TipoPerfil)
                {
                case TipoPerfil.Candidato:
                    CandidatosDTO candidateToUpdate = new CandidatosDTO();
                    candidateToUpdate           = person.CandidatoDeLaPersona;
                    person.CandidatoDeLaPersona = null;
                    candidateToUpdate.Personas  = person;
                    return(await CreateCandidate(candidateToUpdate));

                case TipoPerfil.Grupo:
                    GruposDTO groupToUpdate = new GruposDTO();
                    groupToUpdate           = person.GrupoDeLaPersona;
                    person.GrupoDeLaPersona = null;
                    groupToUpdate.Personas  = person;
                    return(await CreateGroup(groupToUpdate));

                case TipoPerfil.Representante:
                    RepresentantesDTO agentToUpdate = new RepresentantesDTO();
                    agentToUpdate = person.RepresentanteDeLaPersona;
                    person.RepresentanteDeLaPersona = null;
                    agentToUpdate.Personas          = person;
                    return(await CreateAgent(agentToUpdate));

                default:
                    result.Success = false;
                    result.Message = "No es un perfíl válido";
                    return(Json(result, 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));
            }
        }