예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }