public static List <AcsSucursal> getAcsSucursalesByIdUser(Int64 pId) { List <AcsSucursal> lista = new List <AcsSucursal>(); using (MySqlConnection _con = new Conexion().Conectar()) { try { _con.Open(); MySqlCommand comando = new MySqlCommand("select * from acssucursal where IdUserEmp=@pId order by Id asc", _con); comando.Parameters.AddWithValue("@pId", pId); MySqlDataReader _reader = comando.ExecuteReader(); while (_reader.Read()) { AcsSucursal item = new AcsSucursal( _reader.GetInt64(0), _reader.GetString(1), _reader.GetInt32(2), _reader.GetInt32(3), _reader.GetInt64(4), RolDAL.getRolById(_reader.GetInt32(3)), SucursalDAL.getSucursaloById(_reader.GetInt64(4)), LstPermisoDAL.getLstPermisosByIdAcs(_reader.GetInt64(0)) ); lista.Add(item); } _reader.Close(); } catch (Exception ex) { _con.Close(); throw ex; } finally { _con.Close(); } } return(lista); }
public static AcsSucursal getAcsSucursalById(Int64 pId) { AcsSucursal item = null; using (MySqlConnection _con = new Conexion().Conectar()) { try { _con.Open(); MySqlCommand cmdGetItemById = new MySqlCommand("select * from acssucursal where Id=@pId", _con); cmdGetItemById.Parameters.AddWithValue("@pId", pId); MySqlDataReader _reader = cmdGetItemById.ExecuteReader(); while (_reader.Read()) { item = new AcsSucursal( _reader.GetInt64(0), _reader.GetString(1), _reader.GetInt32(2), _reader.GetInt32(3), _reader.GetInt64(4), RolDAL.getRolById(_reader.GetInt32(3)), SucursalDAL.getSucursaloById(_reader.GetInt64(4)), LstPermisoDAL.getLstPermisosByIdAcs(_reader.GetInt64(0)) ); } _reader.Close(); } catch (Exception ex) { _con.Close(); throw ex; } finally { _con.Close(); } } return(item); }
public static bool UpdateUserEmp(Useremp item, string opc, Useremp pUser) { bool result = true; using (MySqlConnection _con = new Conexion().Conectar()) { _con.Open(); MySqlTransaction _trans = _con.BeginTransaction(); try { MySqlCommand cmdUpdateUserEmp = null; MySqlCommand cmdInsertAuditoria = null; switch (opc) { case "pwd": cmdUpdateUserEmp = new MySqlCommand("update useremp set Pass=md5(@Pass) where Id=@Id;", _con, _trans); cmdUpdateUserEmp.Parameters.AddWithValue("@Pass", item.Pass); cmdUpdateUserEmp.Parameters.AddWithValue("@Id", item.Id); if (cmdUpdateUserEmp.ExecuteNonQuery() <= 0) { result = false; } cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans); cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Actualizó la contraseña para el usuario con Id \"" + item.Id + "\", Login \"" + item.Login + "\"."); cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Actualización de contraseña"); cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Usuario"); cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id); if (cmdInsertAuditoria.ExecuteNonQuery() <= 0) { result = false; } break; case "all": if (item.Pass == "") { cmdUpdateUserEmp = new MySqlCommand("update useremp set Login=@Login,Estado=@Estado,IdContrato=@IdContrato where Id=@Id;", _con, _trans); cmdUpdateUserEmp.Parameters.AddWithValue("@Login", item.Login); cmdUpdateUserEmp.Parameters.AddWithValue("@IdContrato", item.IdContrato); cmdUpdateUserEmp.Parameters.AddWithValue("@Estado", item.Estado); cmdUpdateUserEmp.Parameters.AddWithValue("@Id", item.Id); if (cmdUpdateUserEmp.ExecuteNonQuery() <= 0) { result = false; } cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans); cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Actualizó la información para el usuario con Id \"" + item.Id + "\", Login \"" + item.Login + "\"."); cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Actualización de información"); cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Usuario"); cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id); if (cmdInsertAuditoria.ExecuteNonQuery() <= 0) { result = false; } } else { cmdUpdateUserEmp = new MySqlCommand("update useremp set Login=@Login,Estado=@Estado,IdContrato=@IdContrato,Pass=md5(@Pass) where Id=@Id;", _con, _trans); cmdUpdateUserEmp.Parameters.AddWithValue("@Login", item.Login); cmdUpdateUserEmp.Parameters.AddWithValue("@IdContrato", item.IdContrato); cmdUpdateUserEmp.Parameters.AddWithValue("@Pass", item.Pass); cmdUpdateUserEmp.Parameters.AddWithValue("@Estado", item.Estado); cmdUpdateUserEmp.Parameters.AddWithValue("@Id", item.Id); if (cmdUpdateUserEmp.ExecuteNonQuery() <= 0) { result = false; } cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans); cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Actualizó la información para el usuario con Id \"" + item.Id + "\", Login \"" + item.Login + "\"."); cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Actualización de información y contraseña"); cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Usuario"); cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id); if (cmdInsertAuditoria.ExecuteNonQuery() <= 0) { result = false; } } foreach (AcsSucursal suc in item.Sucursales) { foreach (LstPermiso obj in suc.Permisos) { if (obj.Id == 0) { cmdUpdateUserEmp = new MySqlCommand("insert into lstpermiso(null,null,@Otorgado,@IdPermiso,@IdAcsSucursal);", _con, _trans); cmdUpdateUserEmp.Parameters.AddWithValue("@Otorgado", obj.Otorgado ? 1 : 0); cmdUpdateUserEmp.Parameters.AddWithValue("@IdPermiso", obj.IdPermiso); cmdUpdateUserEmp.Parameters.AddWithValue("@IdAcsSucursal", suc.Id); if (cmdUpdateUserEmp.ExecuteNonQuery() <= 0) { result = false; } cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans); cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Se inserto un permiso con Id \"" + obj.Id + "\" descripción \"" + obj.Permiso.Nombre + "\" al Login \"" + item.Login + "\"."); cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Inserción de Permiso"); cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Permiso"); cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id); if (cmdInsertAuditoria.ExecuteNonQuery() <= 0) { result = false; } } else { cmdUpdateUserEmp = new MySqlCommand("update lstpermiso set Otorgado=@Otorgado where Id=@Id;", _con, _trans); cmdUpdateUserEmp.Parameters.AddWithValue("@Otorgado", obj.Otorgado ? 1 : 0); cmdUpdateUserEmp.Parameters.AddWithValue("@Id", obj.Id); if (cmdUpdateUserEmp.ExecuteNonQuery() <= 0) { result = false; } if (LstPermisoDAL.getLstPermisoById(obj.Id).Otorgado != obj.Otorgado) { cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans); cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Se actualizó el registro de lstpermiso con Id \"" + obj.Id + "\" del permiso con descripción \"" + obj.Permiso.Nombre + "\" al Login \"" + item.Login + "\" ."); cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Actualización de Permisos"); cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Permiso"); cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id); if (cmdInsertAuditoria.ExecuteNonQuery() <= 0) { result = false; } } } } } if (cmdUpdateUserEmp.ExecuteNonQuery() <= 0) { result = false; } break; default: break; } if (result) { _trans.Commit(); } else { _trans.Rollback(); } } catch (Exception ex) { _con.Close(); throw ex; } finally { _con.Close(); } } return(result); }