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); }
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); }