public HttpResponseMessage Get([FromUri] int id)
        {
            HttpResponseMessage httpResponse = new HttpResponseMessage();

            //validaciones antes de ejecutar la llamada.
            //este id corresponde al AusId
            if (id == 0)
            {
                httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Aus Id");
            }
            else
            {
                try
                {
                    int idBuscar = id;

                    VCFramework.Entidad.AutentificacionUsuario     aus = VCFramework.NegocioMySql.AutentificacionUsuario.ListarUsuariosPorId(idBuscar);
                    VCFramework.EntidadFuncional.UsuarioEnvoltorio usu = new VCFramework.EntidadFuncional.UsuarioEnvoltorio();
                    if (aus != null && aus.Id > 0)
                    {
                        VCFramework.Entidad.Roles   rol     = VCFramework.NegocioMySql.Roles.ListarRolesPorId(aus.RolId);
                        VCFramework.Entidad.Persona persona = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(aus.Id);

                        //data de retorno
                        usu.AutentificacionUsuario = new AutentificacionUsuario();
                        usu.AutentificacionUsuario = aus;
                        usu.Persona = new Persona();
                        usu.Persona = persona;
                        usu.Rol     = new Roles();
                        usu.Rol     = rol;
                        VCFramework.Entidad.EntidadContratante contratante = VCFramework.NegocioMySql.EntidadContratante.ListarEcolPorId(aus.EcolId);
                        usu.EntidadContratante = new EntidadContratante();
                        usu.EntidadContratante = contratante;
                        VCFramework.Entidad.ParametrosEcol parametros = VCFramework.NegocioMySql.ParametrosEcol.ListarPorEcolId(aus.EcolId);
                        usu.ParametrosEcol = new ParametrosEcol();
                        usu.ParametrosEcol = parametros;

                        httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, usu, EnumMensajes.Correcto);
                    }
                    else
                    {
                        httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Usuario_no_existe);
                    }
                }
                catch (Exception ex)
                {
                    VCFramework.NegocioMySQL.Utiles.NLogs(ex);
                    httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex);
                }
            }
            return(httpResponse);
        }
        public HttpResponseMessage Post(dynamic DynamicClass)
        {
            HttpResponseMessage httpResponse = new HttpResponseMessage();

            string Input = JsonConvert.SerializeObject(DynamicClass);

            dynamic data = JObject.Parse(Input);

            if (data.EcolId == "")
            {
                httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Ecol Id");
            }
            else if (data.RolId == "")
            {
                httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Rol Id");
            }
            else
            {
                try
                {
                    string ecolId = data.EcolId;
                    string rolId  = data.RolId;

                    //buscamos a los usuarios dependiendo de algunos factores
                    //si el rol es Super Administrador
                    List <VCFramework.EntidadFuncional.UsuarioEnvoltorio> usuarios = new List <VCFramework.EntidadFuncional.UsuarioEnvoltorio>();
                    if (int.Parse(rolId) == 1)
                    {
                        //si el valor de nodid = 0 es todos
                        if (int.Parse(ecolId) == 0)
                        {
                            List <VCFramework.Entidad.AutentificacionUsuario> aus = VCFramework.NegocioMySql.AutentificacionUsuario.Listar();
                            if (aus != null && aus.Count > 0)
                            {
                                foreach (VCFramework.Entidad.AutentificacionUsuario au in aus)
                                {
                                    VCFramework.EntidadFuncional.UsuarioEnvoltorio usuEnv = new VCFramework.EntidadFuncional.UsuarioEnvoltorio();
                                    usuEnv.AutentificacionUsuario = new AutentificacionUsuario();
                                    usuEnv.AutentificacionUsuario = au;
                                    usuEnv.Persona = new Persona();
                                    usuEnv.Persona = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(au.Id);
                                    usuEnv.Rol     = new Roles();
                                    usuEnv.Rol     = VCFramework.NegocioMySql.Roles.ListarRolesPorId(au.RolId);
                                    VCFramework.Entidad.EntidadContratante contratante = VCFramework.NegocioMySql.EntidadContratante.ListarEcolPorId(au.EcolId);
                                    usuEnv.EntidadContratante = new EntidadContratante();
                                    usuEnv.EntidadContratante = contratante;
                                    VCFramework.Entidad.ParametrosEcol parametros = VCFramework.NegocioMySql.ParametrosEcol.ListarPorEcolId(au.EcolId);
                                    usuEnv.ParametrosEcol = new ParametrosEcol();
                                    usuEnv.ParametrosEcol = parametros;
                                    usuarios.Add(usuEnv);
                                }
                            }
                        }
                        else
                        {
                            List <VCFramework.Entidad.AutentificacionUsuario> aus = VCFramework.NegocioMySql.AutentificacionUsuario.ListarUsuariosPorEcolId(int.Parse(ecolId));
                            if (aus != null && aus.Count > 0)
                            {
                                foreach (VCFramework.Entidad.AutentificacionUsuario au in aus)
                                {
                                    VCFramework.EntidadFuncional.UsuarioEnvoltorio usuEnv = new VCFramework.EntidadFuncional.UsuarioEnvoltorio();
                                    usuEnv.AutentificacionUsuario = new AutentificacionUsuario();
                                    usuEnv.AutentificacionUsuario = au;
                                    usuEnv.Persona = new Persona();
                                    usuEnv.Persona = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(au.Id);
                                    usuEnv.Rol     = new Roles();
                                    usuEnv.Rol     = VCFramework.NegocioMySql.Roles.ListarRolesPorId(au.RolId);
                                    VCFramework.Entidad.EntidadContratante contratante = VCFramework.NegocioMySql.EntidadContratante.ListarEcolPorId(au.EcolId);
                                    usuEnv.EntidadContratante = new EntidadContratante();
                                    usuEnv.EntidadContratante = contratante;
                                    VCFramework.Entidad.ParametrosEcol parametros = VCFramework.NegocioMySql.ParametrosEcol.ListarPorEcolId(au.EcolId);
                                    usuEnv.ParametrosEcol = new ParametrosEcol();
                                    usuEnv.ParametrosEcol = parametros;
                                    usuarios.Add(usuEnv);
                                }
                            }
                        }
                    }
                    else
                    {
                        List <VCFramework.Entidad.AutentificacionUsuario> aus = VCFramework.NegocioMySql.AutentificacionUsuario.ListarUsuariosPorEcolId(int.Parse(ecolId));
                        if (aus != null && aus.Count > 0)
                        {
                            foreach (VCFramework.Entidad.AutentificacionUsuario au in aus)
                            {
                                if (au.RolId != 1)
                                {
                                    VCFramework.EntidadFuncional.UsuarioEnvoltorio usuEnv = new VCFramework.EntidadFuncional.UsuarioEnvoltorio();
                                    usuEnv.AutentificacionUsuario = new AutentificacionUsuario();
                                    usuEnv.AutentificacionUsuario = au;
                                    usuEnv.Persona = new Persona();
                                    usuEnv.Persona = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(au.Id);
                                    usuEnv.Rol     = new Roles();
                                    usuEnv.Rol     = VCFramework.NegocioMySql.Roles.ListarRolesPorId(au.RolId);
                                    VCFramework.Entidad.EntidadContratante contratante = VCFramework.NegocioMySql.EntidadContratante.ListarEcolPorId(au.EcolId);
                                    usuEnv.EntidadContratante = new EntidadContratante();
                                    usuEnv.EntidadContratante = contratante;
                                    VCFramework.Entidad.ParametrosEcol parametros = VCFramework.NegocioMySql.ParametrosEcol.ListarPorEcolId(au.EcolId);
                                    usuEnv.ParametrosEcol = new ParametrosEcol();
                                    usuEnv.ParametrosEcol = parametros;
                                    usuarios.Add(usuEnv);
                                }
                            }
                        }
                    }

                    httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, usuarios);
                }
                catch (Exception ex)
                {
                    VCFramework.NegocioMySQL.Utiles.NLogs(ex);
                    httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex);
                }
            }

            return(httpResponse);
        }
예제 #3
0
        public HttpResponseMessage Post(dynamic DynamicClass)
        {
            HttpResponseMessage httpResponse = new HttpResponseMessage();

            string Input = JsonConvert.SerializeObject(DynamicClass);

            dynamic data = JObject.Parse(Input);

            //validaciones antes de ejecutar la llamada.
            if (data.usuario == "")
            {
                httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Nombre de Usuario");
            }
            else if (data.password == "")
            {
                httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Password");
            }
            else
            {
                try
                {
                    string usu  = data.usuario;
                    string pass = data.password;

                    string password = VCFramework.NegocioMySQL.Utiles.Encriptar(pass);

                    VCFramework.Entidad.AutentificacionUsuario     aus     = VCFramework.NegocioMySql.AutentificacionUsuario.ListarUsuariosPorNombreUsuario(usu);
                    VCFramework.EntidadFuncional.UsuarioEnvoltorio usuario = new VCFramework.EntidadFuncional.UsuarioEnvoltorio();
                    if (aus != null && aus.Id > 0)
                    {
                        //verificamos eliminado y activo
                        if (aus.Activo == 1 && aus.Eliminado == 0)
                        {
                            //ahora comparamos la clave
                            if (aus.Password == password)
                            {
                                //buscamos persona
                                VCFramework.Entidad.Persona persona = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(aus.Id);
                                if (persona != null && persona.Id > 0)
                                {
                                    //buscamos rol
                                    VCFramework.Entidad.Roles rol = VCFramework.NegocioMySql.Roles.ListarRolesPorId(aus.RolId);
                                    if (rol != null && rol.Id > 0)
                                    {
                                        //ahora esta todo ok y construimos la data respectiva
                                        usuario.AutentificacionUsuario = new AutentificacionUsuario();
                                        usuario.AutentificacionUsuario = aus;
                                        usuario.Persona = new Persona();
                                        usuario.Persona = persona;
                                        usuario.Rol     = new Roles();
                                        usuario.Rol     = rol;
                                        VCFramework.Entidad.EntidadContratante contratante = VCFramework.NegocioMySql.EntidadContratante.ListarEcolPorId(aus.EcolId);
                                        usuario.EntidadContratante = new EntidadContratante();
                                        usuario.EntidadContratante = contratante;
                                        VCFramework.Entidad.ParametrosEcol parametros = VCFramework.NegocioMySql.ParametrosEcol.ListarPorEcolId(aus.EcolId);
                                        usuario.ParametrosEcol = new ParametrosEcol();
                                        usuario.ParametrosEcol = parametros;

                                        httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, usuario);
                                    }
                                    else
                                    {
                                        httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Sin_Rol_asociado);
                                    }
                                }
                                else
                                {
                                    httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Sin_persona_asociada);
                                }
                            }
                            else
                            {
                                httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Clave_incorrecta);
                            }
                        }
                        else
                        {
                            //autentificacion inactiva o eliminada
                            httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Inactivo_o_Eliminado);
                        }
                    }
                    else
                    {
                        httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Usuario_no_existe);
                    }
                }
                catch (Exception ex)
                {
                    VCFramework.NegocioMySQL.Utiles.NLogs(ex);
                    httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex);
                }
            }
            return(httpResponse);
        }