public bool eliminarPersonalUsuario(int idPersonal, int idUsuario, int idRolAnterior) { bool respuesta = false; ConvertJsonToDataset cj = new ConvertJsonToDataset(); SqlConnection connection = null; int existePersonal = 0; try { using (connection = Conexion.ObtieneConexion("ConexionBD")) { connection.Open(); //Parametros de entrada para la eliminacion de PersonalUsuario var parametrosPersonalUsuarioElimina = new[] { ParametroAcceso.CrearParametro("@idPersonal", SqlDbType.Int, idPersonal, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idUsuario", SqlDbType.Int, idUsuario, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idRol", SqlDbType.Int, idRolAnterior, ParameterDirection.Input) }; //Ejecuta el sp de eliminacion de PersonalUsuario DataTable regresaPersona = Ejecuta.EjecutarConsulta(connection, parametrosPersonalUsuarioElimina, "[dbo].[Usp_CnfPersonalUsuariosTEliminar]"); //Itera el datatable donde el primer registro que regresa indica si existe otro usuario en la tabla foreach (DataRow row in regresaPersona.Rows) { existePersonal = Convert.ToInt32(row["existePersonal"].ToString()); } connection.Close(); connection.Open(); //Parametros de entrada para la eliminacion de usuario var parametrosUsuario = new[] { ParametroAcceso.CrearParametro("@idUsuario", SqlDbType.Int, idUsuario, ParameterDirection.Input), }; //Ejecuta el sp de eliminacion de usuario Ejecuta.ProcedimientoAlmacenado(connection, "[dbo].[Usp_CnfUsuariosTEliminar]", parametrosUsuario); connection.Close(); //Si no existen mas usuarios en la tabla de personal usuario, se elimina la persona de la tabla de personal if (existePersonal == 0) { connection.Open(); //Parametros de entrada para la eliminacion de personal var parametrosPersonal = new[] { ParametroAcceso.CrearParametro("@idPersonal", SqlDbType.Int, idPersonal, ParameterDirection.Input), }; //Ejecuta el sp de eliminacion de personal Ejecuta.ProcedimientoAlmacenado(connection, "[dbo].[Usp_CnfPersonalEliminar]", parametrosPersonal); connection.Close(); } respuesta = true; } } catch (Exception ex) { Console.WriteLine(ex); } return(respuesta); }
public bool insertaUsuario(string personaC, string idRol, string usuario, string pwd, int[] privilegios) { bool respuesta = false; ConvertJsonToDataset cj = new ConvertJsonToDataset(); int idPersonal = Convert.ToInt32(personaC); int idUsuario = 0; int idUsuarioEncontrado = 0; SqlConnection connection = null; try { using (connection = Conexion.ObtieneConexion("ConexionBD")) { connection.Open(); //Parametros de entrada para buscar un usuario var parametrosBuscaUsuario = new[] { ParametroAcceso.CrearParametro("@nombreUsuario", SqlDbType.VarChar, usuario, ParameterDirection.Input), }; //Ejecuta el sp de busqueda de usuario y regresa un id en el datatable DataTable regresaIdUsuarioBuscado = Ejecuta.EjecutarConsulta(connection, parametrosBuscaUsuario, "[dbo].[Usp_CnfUsuariosTConsultarUsuario]"); //Itera el datatable donde el primer registro que regresa es el id de usuario foreach (DataRow row in regresaIdUsuarioBuscado.Rows) { idUsuarioEncontrado = Convert.ToInt32(row["idUsuario"].ToString()); } connection.Close(); if (idUsuarioEncontrado == 0) { connection.Open(); //Parametros de entrada para la insercion en usuario var parametrosUsuario = new[] { ParametroAcceso.CrearParametro("@nombreUsuario", SqlDbType.VarChar, usuario, ParameterDirection.Input), ParametroAcceso.CrearParametro("@contrasena", SqlDbType.VarChar, pwd, ParameterDirection.Input), }; //Ejecuta el sp de insercion de usuario y regresa un id en el datatable DataTable regresaIdUsuario = Ejecuta.EjecutarConsulta(connection, parametrosUsuario, "[dbo].[Usp_CnfUsuariosTInsertar]"); //Itera el datatable donde el primer registro que regresa es el id de usuario foreach (DataRow row in regresaIdUsuario.Rows) { idUsuario = Convert.ToInt32(row["idUsuario"].ToString()); } //Recorrer el arreglo de privilegios foreach (int i in privilegios) { //Parametros de entrada para la insercion en PersonalUsuario var parametrosPersonalUsuario = new[] { ParametroAcceso.CrearParametro("@idPersonal", SqlDbType.VarChar, idPersonal, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idUsuario", SqlDbType.VarChar, idUsuario, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idRol", SqlDbType.VarChar, idRol, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idPrivilegio", SqlDbType.VarChar, i, ParameterDirection.Input), }; //Ejecuta el sp de insercion de usuario y regresa un id en el datatable Ejecuta.EjecutarConsulta(connection, parametrosPersonalUsuario, "[dbo].[Usp_CnfPersonalUsuariosTInsertar]"); } connection.Close(); respuesta = true; } else { respuesta = false; } } } catch (Exception ex) { Console.WriteLine(ex); } return(respuesta); }
public bool modificarPersonalUsuario(string nombre, string apPaterno, string apMaterno, string rfc, string estadoC, string cpC, string idPuesto, string email, string idRol, string usuario, string pwd, string accesarSistema, int[] privilegios, int idPersonal, int idUsuario, int idRolAnterior) { bool respuesta = false; ConvertJsonToDataset cj = new ConvertJsonToDataset(); SqlConnection connection = null; int idUsuarioEncontrado = 0; try { using (connection = Conexion.ObtieneConexion("ConexionBD")) { connection.Open(); //Parametros de entrada para buscar un usuario var parametrosBuscaUsuario = new[] { ParametroAcceso.CrearParametro("@nombreUsuario", SqlDbType.VarChar, usuario, ParameterDirection.Input), }; //Ejecuta el sp de busqueda de usuario y regresa un id en el datatable DataTable regresaIdUsuario = Ejecuta.EjecutarConsulta(connection, parametrosBuscaUsuario, "[dbo].[Usp_CnfUsuariosTConsultarUsuario]"); //Itera el datatable donde el primer registro que regresa es el id de usuario foreach (DataRow row in regresaIdUsuario.Rows) { idUsuarioEncontrado = Convert.ToInt32(row["idUsuario"].ToString()); } connection.Close(); if (idUsuarioEncontrado == 0 || idUsuarioEncontrado == idUsuario) { connection.Open(); //Parametros de entrada para la modificacion de Personal var parametros = new[] { ParametroAcceso.CrearParametro("@nombre", SqlDbType.VarChar, nombre, ParameterDirection.Input), ParametroAcceso.CrearParametro("@apPaterno", SqlDbType.VarChar, apPaterno, ParameterDirection.Input), ParametroAcceso.CrearParametro("@apMaterno", SqlDbType.VarChar, apMaterno, ParameterDirection.Input), ParametroAcceso.CrearParametro("@RFC", SqlDbType.VarChar, rfc, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idPuesto", SqlDbType.Int, idPuesto, ParameterDirection.Input), ParametroAcceso.CrearParametro("@c_CP", SqlDbType.Int, cpC, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idEstado", SqlDbType.Int, estadoC, ParameterDirection.Input), ParametroAcceso.CrearParametro("@email", SqlDbType.VarChar, email, ParameterDirection.Input), ParametroAcceso.CrearParametro("@acceso_a_sistemas", SqlDbType.VarChar, accesarSistema, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idPersonal", SqlDbType.Int, idPersonal, ParameterDirection.Input), }; //Ejecuta el sp de modificacion de personal Ejecuta.ProcedimientoAlmacenado(connection, "[dbo].[Usp_CnfPersonalModificar]", parametros); connection.Close(); connection.Open(); //Parametros de entrada para la modificacion de Usuario var parametrosUsuario = new[] { ParametroAcceso.CrearParametro("@nombreUsuario", SqlDbType.VarChar, usuario, ParameterDirection.Input), ParametroAcceso.CrearParametro("@contrasena", SqlDbType.VarChar, pwd, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idUsuario", SqlDbType.Int, idUsuario, ParameterDirection.Input), }; //Ejecuta el sp de modificacion de Usuario Ejecuta.ProcedimientoAlmacenado(connection, "[dbo].[Usp_CnfUsuariosTModificar]", parametrosUsuario); connection.Close(); connection.Open(); //Parametros de entrada para la eliminacion de PersonalUsuario var parametrosPersonalUsuarioElimina = new[] { ParametroAcceso.CrearParametro("@idPersonal", SqlDbType.Int, idPersonal, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idUsuario", SqlDbType.Int, idUsuario, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idRol", SqlDbType.Int, idRolAnterior, ParameterDirection.Input) }; //Ejecuta el sp de eliminacion de PersonalUsuario Ejecuta.ProcedimientoAlmacenado(connection, "[dbo].[Usp_CnfPersonalUsuariosTEliminar]", parametrosPersonalUsuarioElimina); connection.Close(); //Recorrer el arreglo de privilegios foreach (int i in privilegios) { //Parametros de entrada para la insercion en PersonalUsuario connection.Open(); var parametrosPersonalUsuario = new[] { ParametroAcceso.CrearParametro("@idPersonal", SqlDbType.VarChar, idPersonal, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idUsuario", SqlDbType.VarChar, idUsuario, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idRol", SqlDbType.VarChar, idRol, ParameterDirection.Input), ParametroAcceso.CrearParametro("@idPrivilegio", SqlDbType.VarChar, i, ParameterDirection.Input), }; //Ejecuta el sp de insercion de usuario y regresa un id en el datatable Ejecuta.ProcedimientoAlmacenado(connection, "[dbo].[Usp_CnfPersonalUsuariosTInsertar]", parametrosPersonalUsuario); connection.Close(); } respuesta = true; } else { respuesta = false; } } } catch (Exception ex) { Console.WriteLine(ex); } return(respuesta); }
public Entidades.Usuario Validausuario(string nameUser, string password) { DataTable dt = new DataTable(); SqlConnection connection = null; Entidades.Usuario usuario = new Entidades.Usuario(); DataSet DSCampos = new DataSet(); DataTable DTCampos = new DataTable(); using (connection = Conexion.ObtieneConexion("ConexionBD")) { SqlDataReader consulta; connection.Open(); consulta = Ejecuta.ConsultaConRetorno(connection, "SELECT u.idUsuario , nombreUsuario, contrasena, u.idTipoTransaccion, VCT.idTransaccion,R.nombreRol, camposTransaccion" + " FROM Configuracion.USUARIOS U, Configuracion.MAETransacciones MAE, Configuracion.ValoresCamposTransacciones VCT, Seguridad.UsuariosRoles UR, Seguridad.Roles R" + " WHERE R.idRol = UR.idRol" + " and u.idUsuario = UR.idUsuario" + " and MAE.idTransaccion = VCT.idTransaccion" + " and MAE.idTipoTransaccion = u.idTipoTransaccion" + " and u.estatus = 1 and nombreUsuario = '" + nameUser + "' " + " and contrasena = '" + password + "'"); dt.Load(consulta); connection.Close(); } if (dt.Rows.Count != 0) { ConvertJsonToDataset CONVERT = new ConvertJsonToDataset(); int idUsuario = 0; string nombreRol = ""; foreach (DataRow row in dt.Rows) { idUsuario = Convert.ToInt32(row["idUsuario"]); nombreRol = row["nombreRol"].ToString(); DSCampos = CONVERT.ConvertJsonStringToDataSet(row["camposTransaccion"].ToString()); } DTCampos = DSCampos.Tables["Cabecera"]; var query1 = from product in DTCampos.AsEnumerable() where product.Field <string>("idPersonal") == idUsuario.ToString() select new { idPersonal = product.Field <string>("idPersonal"), nombreRol1 = nombreRol, nombre = product.Field <string>("nombre"), apPaterno = product.Field <string>("apPaterno"), apMaterno = product.Field <string>("apMaterno"), RFC = product.Field <string>("RFC"), idPerfil = product.Field <string>("idPerfil"), idPuesto = product.Field <string>("idPuesto"), idArea = product.Field <string>("idArea"), CP = product.Field <string>("CP"), idEstado = product.Field <string>("idEstado"), email = product.Field <string>("email"), fechaAlta = product.Field <string>("fechaAlta"), fechaModificacion = product.Field <string>("fechaModificacion"), idEstatus = product.Field <string>("idEstatus"), activo = product.Field <string>("activo") }; foreach (var item in query1) { usuario.idPersonal = Convert.ToInt32(item.idPersonal); usuario.nombre = item.nombre; usuario.apPaterno = item.apPaterno; usuario.apMaterno = item.apMaterno; usuario.RFC = item.RFC; usuario.idPerfil = Convert.ToInt32(item.idPerfil); usuario.idPuesto = Convert.ToInt32(item.idPuesto); usuario.idArea = Convert.ToInt32(item.idArea); usuario.CP = item.CP; usuario.idEstado = Convert.ToInt32(item.idEstado); usuario.email = item.email; usuario.fechaAlta = item.fechaAlta; usuario.fechaModificacion = item.fechaModificacion; usuario.nombreRol = item.nombreRol1; } } else { usuario = null; } return(usuario); }