public static List <Curso> searchCursos(Int64 pIdSucursal, string pText, Year pYear) { List <Curso> lista = new List <Curso>(); using (MySqlConnection _con = new Conexion().Conectar()) { try { _con.Open(); MySqlCommand comando = new MySqlCommand("select * from curso where IdSucursal=@pIdSucursal " + (pYear == null ? "" : " and IdYear=" + pYear.Id) + " and Upper(Nombre) like'%" + pText.ToUpper() + "%' and Estado ='A' order by Id desc", _con); comando.Parameters.AddWithValue("@pIdSucursal", pIdSucursal); MySqlDataReader _reader = comando.ExecuteReader(); while (_reader.Read()) { Curso item = new Curso( _reader.GetInt64(0), _reader.GetString(1), _reader.GetString(2), _reader.GetString(3), _reader.GetString(4), _reader.GetString(5), _reader.GetString(6), _reader.GetString(7), _reader.GetInt64(8), _reader.GetInt64(9), _reader.GetInt64(10), ContratoDAL.getContratoById(_reader.GetInt64(8)), YearDAL.getYearById(_reader.GetInt64(10)), DiasDAL.getDiasByIdCurso(_reader.GetInt64(0)), DetCursoDAL.getDetscursoByIdCurso(_reader.GetInt64(0)) ); lista.Add(item); } _reader.Close(); } catch (Exception ex) { _con.Close(); throw ex; } finally { _con.Close(); } } return(lista); }
public static Curso getCursoById(Int64 pId) { Curso item = null; using (MySqlConnection _con = new Conexion().Conectar()) { try { _con.Open(); MySqlCommand cmdGetItemById = new MySqlCommand("select * from curso where Id=@pId", _con); cmdGetItemById.Parameters.AddWithValue("@pId", pId); MySqlDataReader _reader = cmdGetItemById.ExecuteReader(); while (_reader.Read()) { item = new Curso( _reader.GetInt64(0), _reader.GetString(1), _reader.GetString(2), _reader.GetString(3), _reader.GetString(4), _reader.GetString(5), _reader.GetString(6), _reader.GetString(7), _reader.GetInt64(8), _reader.GetInt64(9), _reader.GetInt64(10), ContratoDAL.getContratoById(_reader.GetInt64(8)), YearDAL.getYearById(_reader.GetInt64(10)), DiasDAL.getDiasByIdCurso(_reader.GetInt64(0)), DetCursoDAL.getDetscursoByIdCurso(_reader.GetInt64(0)) ); } _reader.Close(); } catch (Exception ex) { _con.Close(); throw ex; } finally { _con.Close(); } } return(item); }
public static bool updateCurso(Curso item, Useremp pUser) { bool result = true; using (MySqlConnection _con = new Conexion().Conectar()) { _con.Open(); MySqlTransaction _trans = _con.BeginTransaction(); try { MySqlCommand cmdUpdateCurso = new MySqlCommand("Update curso set Nombre=@Nombre, Seccion=@Seccion, Publico=@Publico, Desde=@Desde, Hasta=@Hasta, Estado=@Estado, IdContrato=@IdContrato where Id=@Id;", _con, _trans); cmdUpdateCurso.Parameters.AddWithValue("@Id", item.Id); cmdUpdateCurso.Parameters.AddWithValue("@Nombre", item.Nombre); cmdUpdateCurso.Parameters.AddWithValue("@Seccion", item.Seccion); cmdUpdateCurso.Parameters.AddWithValue("@Publico", item.Publico); cmdUpdateCurso.Parameters.AddWithValue("@Desde", item.Desde); cmdUpdateCurso.Parameters.AddWithValue("@Hasta", item.Hasta); cmdUpdateCurso.Parameters.AddWithValue("@Estado", item.Estado); cmdUpdateCurso.Parameters.AddWithValue("@IdContrato", item.Contrato.Id); if (cmdUpdateCurso.ExecuteNonQuery() <= 0) { result = false; } if (result) { foreach (Dia dia in DiasDAL.getDiasByIdCurso(item.Id)) { if (item.Horario.Where(a => a.Id == dia.Id).FirstOrDefault() == null) { MySqlCommand cmdDeleteDia = new MySqlCommand("Delete from dias where Id=@Id", _con, _trans); cmdDeleteDia.Parameters.AddWithValue("@Id", dia.Id); if (cmdDeleteDia.ExecuteNonQuery() <= 0) { result = false; } } } foreach (Dia dia in item.Horario.Where(a => a.Id == 0).ToList()) { MySqlCommand cmdInsertDia = new MySqlCommand("Insert into dias (Nombre,HEntrada,HSalida,IdCurso) values (@Nombre,@HEntrada,@HSalida,@IdCurso)", _con, _trans); cmdInsertDia.Parameters.AddWithValue("@Nombre", dia.Nombre); cmdInsertDia.Parameters.AddWithValue("@HEntrada", dia.HEntrada); cmdInsertDia.Parameters.AddWithValue("@HSalida", dia.HSalida); cmdInsertDia.Parameters.AddWithValue("@IdCurso", item.Id); if (cmdInsertDia.ExecuteNonQuery() <= 0) { result = false; } } } if (result) { foreach (Detcurso detcurso in DetCursoDAL.getDetscursoByIdCurso(item.Id)) { if (item.Libros.Where(a => a.Id == detcurso.Id).FirstOrDefault() == null) { MySqlCommand cmdDeleteDetCurso = new MySqlCommand("update detcurso set Estado='E' where Id=@Id", _con, _trans); cmdDeleteDetCurso.Parameters.AddWithValue("@Id", detcurso.Id); if (cmdDeleteDetCurso.ExecuteNonQuery() <= 0) { result = false; } } } foreach (Detcurso detcurso in item.Libros.Where(a => a.Id == 0).ToList()) { MySqlCommand cmdInsertDia = new MySqlCommand("Insert into detcurso (IdLibro,IdCurso) values (@IdLibro,@IdCurso)", _con, _trans); cmdInsertDia.Parameters.AddWithValue("@IdLibro", detcurso.IdLibro); cmdInsertDia.Parameters.AddWithValue("@IdCurso", item.Id); if (cmdInsertDia.ExecuteNonQuery() <= 0) { result = false; } } } if (result) { MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans); cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Registro el curso \"" + item.Nombre + "\" con un total de " + item.Libros + " libros y selecciono a \"" + item.Contrato.Empleado.Persona.Nombre + "\" como encargado."); cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Registrar"); cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Curso"); cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id); if (cmdInsertAuditoria.ExecuteNonQuery() <= 0) { result = false; } } if (result) { _trans.Commit(); } else { _trans.Rollback(); } } catch (Exception ex) { _con.Close(); throw ex; } finally { _con.Close(); } } return(result); }