public static List <Matricula> searchMatriculas(string Text, Int64 pIdSucursal, int pLimit, string opc)
        {
            List <Matricula> lista = new List <Matricula>();

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                try
                {
                    _con.Open();

                    MySqlCommand comando = new MySqlCommand("select m.* from matricula as m inner join curso as c on c.Id =m.IdCurso " +
                                                            "inner join year as y on y.Id=c.IdYear inner join estudiante as e on e.Id=m.IdEstudiante inner join persona as p " +
                                                            "on p.Id=e.IdPersona where( Upper(p.Nombre) like '%" + Text.ToUpper() + "%' or Upper(e.Telefono) like '%" + Text.ToUpper() +
                                                            "%' or Upper(e.TelEmergencia) like '%" + Text.ToUpper() + "%' or Upper(e.ParentEmergencia) like '%" + Text.ToUpper() +
                                                            "%') and (c.IdSucursal=@pIdSucursal) " + (opc != "ingreso" ? " and m.Estado='A' " : "") + " order by Id asc limit @pLimit", _con);

                    comando.Parameters.AddWithValue("@pLimit", pLimit);
                    comando.Parameters.AddWithValue("@pIdSucursal", pIdSucursal);

                    MySqlDataReader _reader = comando.ExecuteReader();
                    while (_reader.Read())
                    {
                        Matricula item = new Matricula(
                            _reader.GetInt64(0),
                            _reader.GetString(1),
                            _reader.GetString(2),
                            _reader.GetInt32(3),
                            _reader.GetString(4),
                            _reader.GetInt64(5),
                            _reader.GetInt64(6),
                            EstudianteDAL.getEstudianteById(_reader.GetInt64(6)),
                            CuotaDAL.getCuotasByIdMatricula(_reader.GetInt64(0), 50),
                            DetMatriculaDAL.getDetsmatriculaByIdMatricula(_reader.GetInt64(0), 2)
                            );

                        lista.Add(item);
                    }
                    _reader.Close();
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(lista);
        }
        public static Matricula verificarMatriculado(Int64 pIdCurso, Int64 IdEstudiante)
        {
            Matricula item = null;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                try
                {
                    _con.Open();
                    MySqlCommand cmdGetItemById = new MySqlCommand("select * from matricula where IdCurso=@pIdCurso and IdEstudiante=@IdEstudiante", _con);
                    cmdGetItemById.Parameters.AddWithValue("@pIdCurso", pIdCurso);
                    cmdGetItemById.Parameters.AddWithValue("@IdEstudiante", IdEstudiante);

                    MySqlDataReader _reader = cmdGetItemById.ExecuteReader();
                    while (_reader.Read())
                    {
                        item = new Matricula(
                            _reader.GetInt64(0),
                            _reader.GetString(1),
                            _reader.GetString(2),
                            _reader.GetInt32(3),
                            _reader.GetString(4),
                            _reader.GetInt64(5),
                            _reader.GetInt64(6),
                            EstudianteDAL.getEstudianteById(_reader.GetInt64(6)),
                            CuotaDAL.getCuotasByIdMatricula(_reader.GetInt64(0), 50),
                            DetMatriculaDAL.getDetsmatriculaByIdMatricula(_reader.GetInt64(0), 2)
                            );
                    }
                    _reader.Close();
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(item);
        }
Exemple #3
0
        public static Factura insertFactura(Factura item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdCorrelativoNfactura = new MySqlCommand("select CONCAT(DATE_FORMAT(CURRENT_DATE(), '%Y%m'),lpad(coalesce(max(FORMAT(CONVERT(SUBSTRING(NFactura,7),int),'####')+1),1),4,'0'))from factura where SUBSTRING(NFactura,1,6)=CONVERT(DATE_FORMAT(now(), '%Y%m'),char)", _con, _trans);
                    item.NFactura = Convert.ToString(cmdCorrelativoNfactura.ExecuteScalar());

                    MySqlCommand cmdInsertFactura = new MySqlCommand("Insert into factura (FhRegistro,Nfactura,Observacion,Total,Estado,IdPersona,IdSucursal) values (@FhRegistro,@Nfactura,@Observacion,@Total,@Estado,@IdPersona,@IdSucursal)", _con, _trans);
                    cmdInsertFactura.Parameters.AddWithValue("@FhRegistro", item.FhRegistro);
                    cmdInsertFactura.Parameters.AddWithValue("@Nfactura", item.NFactura);
                    cmdInsertFactura.Parameters.AddWithValue("@Observacion", item.Observacion);
                    cmdInsertFactura.Parameters.AddWithValue("@Total", item.Total);
                    cmdInsertFactura.Parameters.AddWithValue("@Estado", "C");
                    cmdInsertFactura.Parameters.AddWithValue("@IdPersona", item.IdPersona);
                    cmdInsertFactura.Parameters.AddWithValue("@IdSucursal", item.IdSucursal);

                    if (cmdInsertFactura.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction = _trans;
                        item.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                    }
                    foreach (Detfactura det in item.DetsFactura)
                    {
                        if (det.Tipo == "M")
                        {
                            Cuota cuota = CuotaDAL.getCuotaById(det.Matricdetfac.IdCuota);

                            MySqlCommand cmdInsertDetFactura = new MySqlCommand("Insert into detfactura (Concepto,Total,Descuento,Tipo,IdFactura,IdProducto) values (@Concepto,@Total,@Descuento,@Tipo,@IdFactura,@IdProducto)", _con, _trans);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Concepto", det.Producto.Nombre);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Total", det.Total);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Descuento", det.Descuento);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Tipo", det.Tipo);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdFactura", item.Id);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdProducto", det.IdProducto);

                            if (cmdInsertDetFactura.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            else
                            {
                                MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                cmdUltimoId.Transaction = _trans;
                                det.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                            }

                            MySqlCommand cmdInsertMatricDetFact = new MySqlCommand("Insert into matricdetfact (IdDetFactura,IdCuota) values (@IdDetFactura,@IdCuota)", _con, _trans);
                            cmdInsertMatricDetFact.Parameters.AddWithValue("@IdDetFactura", det.Id);
                            cmdInsertMatricDetFact.Parameters.AddWithValue("@IdCuota", det.Matricdetfac.IdCuota);

                            if (cmdInsertMatricDetFact.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            else
                            {
                                MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                cmdUltimoId.Transaction       = _trans;
                                det.Matricdetfac.Id           = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                                det.Matricdetfac.IdDetFactura = det.Id;
                            }
                            MySqlCommand cmdUpdateCuota = new MySqlCommand("update cuota set Total=@pTotal where Id=@Id", _con, _trans);
                            cmdUpdateCuota.Parameters.AddWithValue("@Id", det.Matricdetfac.IdCuota);
                            cmdUpdateCuota.Parameters.AddWithValue("@pTotal", det.Total + cuota.Total);
                            if (cmdUpdateCuota.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                        }
                        if (det.Tipo == "F")
                        {
                            MySqlCommand cmdInsertDetFactura = new MySqlCommand("Insert into detfactura (Concepto,Total,Descuento,Tipo,IdFactura,IdProducto) values (@Concepto,@Total,@Descuento,@Tipo,@IdFactura,@IdProducto)", _con, _trans);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Concepto", det.Producto.Nombre);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Total", det.Total);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Descuento", det.Descuento);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Tipo", det.Tipo);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdFactura", item.Id);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdProducto", det.IdProducto);

                            if (cmdInsertDetFactura.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            else
                            {
                                MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                cmdUltimoId.Transaction = _trans;
                                det.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                            }
                        }
                        if (det.Tipo == "R")
                        {
                            MySqlCommand cmdInsertDetFactura = new MySqlCommand("Insert into detfactura (Concepto,Total,Descuento,Tipo,RefNFactura,IdFactura,IdProducto) values (@Concepto,@Total,@Descuento,@Tipo,@RefNFactura,@IdFactura,@IdProducto)", _con, _trans);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Concepto", det.Producto.Nombre);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Total", det.Total);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Descuento", det.Descuento);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Tipo", det.Tipo);
                            cmdInsertDetFactura.Parameters.AddWithValue("@RefNFactura", item.NFactura);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdFactura", item.Id);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdProducto", det.IdProducto);

                            if (cmdInsertDetFactura.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            else
                            {
                                MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                cmdUltimoId.Transaction = _trans;
                                det.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                            }
                        }
                        if (det.Tipo == "C")
                        {
                            MySqlCommand cmdInsertDetFactura = new MySqlCommand("Insert into detfactura (Concepto,Total,Descuento,Tipo,RefNFactura,IdFactura,IdProducto) values (@Concepto,@Total,@Descuento,@Tipo,@RefNFactura,@IdFactura,@IdProducto)", _con, _trans);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Concepto", det.Producto.Nombre);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Total", det.Total);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Descuento", det.Descuento);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Tipo", det.Tipo);
                            cmdInsertDetFactura.Parameters.AddWithValue("@RefNFactura", det.RefNFactura);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdFactura", item.Id);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdProducto", det.IdProducto);

                            if (cmdInsertDetFactura.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            else
                            {
                                MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                cmdUltimoId.Transaction = _trans;
                                det.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                            }
                        }
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        item             = new Factura();
                        item.DetsFactura = new List <Detfactura>();
                    }
                }
                catch (Exception ex)
                {
                    item             = new Factura();
                    item.DetsFactura = new List <Detfactura>();
                    result           = false;
                    _trans.Rollback();
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(item);
        }