コード例 #1
0
        public static bool ConsultarListado(ref List <Usuario> usuarios, string campoCriterio = "", string datoCriterio = "")
        {
            try
            {
                MySqlConnection conn            = ConexionBaseDeDatos.ConseguirConexion();
                ConsultaBuilder consultaBuilder = new ConsultaBuilder("usuarios");
                consultaBuilder.AgregarOrderBy("NOMBRE");

                DynamicParameters parametros = null;

                if (campoCriterio.Length > 0 && datoCriterio.Length > 0)
                {
                    parametros = new DynamicParameters();
                    parametros.Add("@DATO", $"%{datoCriterio}%", System.Data.DbType.String);
                    consultaBuilder.AgregarCriterio($"{campoCriterio} LIKE @DATO");
                }

                usuarios = conn.Query <Usuario>(consultaBuilder.ToString(), parametros).ToList();
            }
            catch
            {
                return(false);
            }
            return(true);
        }
コード例 #2
0
        public static bool Guardar(ref Usuario usuario)
        {
            var conn = ConexionBaseDeDatos.ConseguirConexion();

            try
            {
                conn.Open();
                if (usuario.Id == 0)
                {
                    usuario.Id = conn.Insert(usuario);
                }
                else
                {
                    conn.Update(usuario);
                }
            }
            catch
            {
                return(false);
            }
            finally
            {
                conn.Close();
            }
            return(true);
        }
コード例 #3
0
        public static bool ConsultarListado(ref List <Factura> facturas, string campoCriterio = "", string datoCriterio = "", bool soloActivas = false)
        {
            try
            {
                MySqlConnection conn            = ConexionBaseDeDatos.ConseguirConexion();
                ConsultaBuilder consultaBuilder = new ConsultaBuilder("facturas");
                if (soloActivas == true)
                {
                    consultaBuilder.AgregarCriterio("ESTADO = 'A'");
                }
                DynamicParameters parametros = null;

                if (campoCriterio.Length > 0 && datoCriterio.Length > 0)
                {
                    parametros = new DynamicParameters();
                    parametros.Add("@DATO", $"%{datoCriterio}%", System.Data.DbType.String);
                    consultaBuilder.AgregarCriterio($"{campoCriterio} LIKE @DATO");
                }

                facturas = conn.Query <Factura>(consultaBuilder.ToString(), parametros).ToList();
            }
            catch
            {
                return(false);
            }
            return(true);
        }
コード例 #4
0
        public static bool Consultar(ref Venta venta)
        {
            try
            {
                MySqlConnection conn = ConexionBaseDeDatos.ConseguirConexion();

                ConsultaBuilder consultaBuilder = new ConsultaBuilder("ventas v");
                consultaBuilder.AgregarCampo("v.*, d.*, p.ID, p.NOMBRE");
                consultaBuilder.AgregarJoin("INNER JOIN ventasdetalles d ON d.IDVENTA = v.ID");
                consultaBuilder.AgregarJoin("INNER JOIN productos p ON p.ID = d.IDPRODUCTO");
                consultaBuilder.AgregarCriterio("v.ID=@ID");

                Venta ventaConsulta = null;

                venta = conn.Query <Venta, VentaDetalle, Producto, Venta>(consultaBuilder.ToString(),
                                                                          (ventasel, detalle, Producto) => {
                    if (ventaConsulta == null)
                    {
                        ventaConsulta          = ventasel;
                        ventaConsulta.Detalles = new List <VentaDetalle>();
                    }
                    detalle.Producto = Producto;
                    ventaConsulta.Detalles.Add(detalle);
                    return(ventaConsulta);
                }, new { ID = venta.Id }).FirstOrDefault();
            }
            catch (Exception ex)
            {
                ConexionBaseDeDatos.Error = ex.Message;
                return(false);
            }
            return(true);
        }
コード例 #5
0
        public static bool Guardar(ref Venta venta)
        {
            try
            {
                MySqlConnection conn = ConexionBaseDeDatos.ConseguirConexion();
                venta.FechaCancelacion = DateTime.Now;
                venta.Estado           = 'A';

                venta.Id = conn.Insert(venta);

                for (int i = 0; i < venta.Detalles.Count; i++)
                {
                    venta.Detalles[i].IdVenta = venta.Id;
                    conn.Insert(venta.Detalles[i]);

                    if (!Producto.RestarInventario(venta.Detalles[i].IdProducto, venta.Detalles[i].Cantidad))
                    {
                        throw new Exception(ConexionBaseDeDatos.Error);
                    }
                }
            }
            catch (Exception ex)
            {
                ConexionBaseDeDatos.Error = ex.Message;
                return(false);
            }
            return(true);
        }
コード例 #6
0
        public static bool Consultar(ref Compra compra)
        {
            try
            {
                MySqlConnection conn = ConexionBaseDeDatos.ConseguirConexion();

                ConsultaBuilder consultaBuilder = new ConsultaBuilder("compras c");
                consultaBuilder.AgregarCampo("c.*, d.*");
                consultaBuilder.AgregarJoin("INNER JOIN comprasdetalles d ON d.IDCOMPRA = c.ID");
                consultaBuilder.AgregarCriterio("c.ID=@ID");

                Compra compraConsulta = null;

                compra = conn.Query <Compra, CompraDetalle, Compra>(consultaBuilder.ToString(),
                                                                    (comprasel, detalle) => {
                    if (compraConsulta == null)
                    {
                        compraConsulta          = comprasel;
                        compraConsulta.Detalles = new List <CompraDetalle>();
                    }
                    compraConsulta.Detalles.Add(detalle);
                    return(compraConsulta);
                }, new { ID = compra.Id }).FirstOrDefault();
            }
            catch (Exception ex)
            {
                ConexionBaseDeDatos.Error = ex.Message;
                return(false);
            }
            return(true);
        }
コード例 #7
0
        public static bool Ingresar(ref Usuario usuario)
        {
            try
            {
                MySqlConnection conn            = ConexionBaseDeDatos.ConseguirConexion();
                ConsultaBuilder consultaBuilder = new ConsultaBuilder("usuarios");

                consultaBuilder.AgregarCriterio("NOMBREUSUARIO=@NOMBREUSUARIO");
                consultaBuilder.AgregarCriterio("PASSWORD=@PASSWORD");

                usuario = conn.Query <Usuario>(consultaBuilder.ToString(),
                                               new { NOMBREUSUARIO = usuario.NombreUsuario, PASSWORD = usuario.Password }).FirstOrDefault();
                if (usuario == null)
                {
                    ConexionBaseDeDatos.Error = "Nombre de Usuario o Contraseña incorrecto";
                    return(false);
                }
            }
            catch (Exception ex)
            {
                ConexionBaseDeDatos.Error = ex.Message;
                return(false);
            }
            return(true);
        }
コード例 #8
0
        public static void sp(SqlParametros parametros, ref DataSet resultados, object modelo)
        {
            ConexionBaseDeDatos conexionBaseDeDatos = new ConexionBaseDeDatos(cadenaDeConexion());
            string  nombre  = formularNombreSp(modelo) /*nombreSp(modelo, "")*/;
            DataSet dataSet = conexionBaseDeDatos.ejecutarSpDataSet(nombre, parametros);

            resultados = dataSet;
        }
コード例 #9
0
 public static bool ConsultarSiguienteID(ref long id)
 {
     try
     {
         MySqlConnection conn = ConexionBaseDeDatos.ConseguirConexion();
         id = (long)conn.ExecuteScalar("SELECT IFNULL(MAX(ID),0) + 1 FROM FACTURAS");
     }
     catch
     {
         return(false);
     }
     return(true);
 }
コード例 #10
0
 public static bool ConsultarPDF(long id, ref byte[] datos)
 {
     try
     {
         MySqlConnection conn = ConexionBaseDeDatos.ConseguirConexion();
         datos = (byte[])conn.ExecuteScalar("SELECT ARCHIVOPDF FROM facturas WHERE ID=@ID", new { ID = id });
     }
     catch (Exception ex)
     {
         ConexionBaseDeDatos.Error = ex.Message;
         return(false);
     }
     return(true);
 }
コード例 #11
0
 public static bool Consultar(ref Producto producto)
 {
     try
     {
         MySqlConnection conn = ConexionBaseDeDatos.ConseguirConexion();
         producto = conn.Get <Producto>(producto.Id);
     }
     catch (Exception ex)
     {
         ConexionBaseDeDatos.Error = ex.Message;
         return(false);
     }
     return(true);
 }
コード例 #12
0
 public static bool Eliminar(long id)
 {
     try
     {
         MySqlConnection conn = ConexionBaseDeDatos.ConseguirConexion();
         conn.Execute("UPDATE productos SET ESTADO='E' WHERE ID=@ID", new { ID = id });
     }
     catch (Exception ex)
     {
         ConexionBaseDeDatos.Error = ex.Message;
         return(false);
     }
     return(true);
 }
コード例 #13
0
 public static bool Consultar(ref Usuario usuario)
 {
     try
     {
         MySqlConnection conn = ConexionBaseDeDatos.ConseguirConexion();
         usuario = conn.Get <Usuario>(usuario.Id);
     }
     catch (Exception ex)
     {
         ConexionBaseDeDatos.Error = ex.Message;
         return(false);
     }
     return(true);
 }
コード例 #14
0
 public static bool Cancelar(long id)
 {
     try
     {
         MySqlConnection conn = ConexionBaseDeDatos.ConseguirConexion();
         string          sql  = "UPDATE ventas SET ESTADO='C' WHERE ID=@ID";
         conn.Execute(sql, new { ID = id });
     }
     catch (Exception ex)
     {
         ConexionBaseDeDatos.Error = ex.Message;
         return(false);
     }
     return(true);
 }
コード例 #15
0
 public static bool Guardar(ref Factura factura)
 {
     try
     {
         MySqlConnection conn = ConexionBaseDeDatos.ConseguirConexion();
         factura.Estado = 'A';
         factura.Id     = conn.Insert(factura);
     }
     catch (Exception ex)
     {
         ConexionBaseDeDatos.Error = ex.Message;
         return(false);
     }
     return(true);
 }
コード例 #16
0
        public static bool ConsultarReporte(ref List <Venta> ventas, DateTime fechaDel, DateTime fechaAl)
        {
            try
            {
                MySqlConnection conn            = ConexionBaseDeDatos.ConseguirConexion();
                ConsultaBuilder consultaBuilder = new ConsultaBuilder("ventas");
                consultaBuilder.AgregarCriterio($"FECHA BETWEEN '{fechaDel.ToString("yyyy-MM-dd")}' AND '{fechaAl.ToString("yyyy-MM-dd")}'");

                ventas = conn.Query <Venta>(consultaBuilder.ToString(), new { FECHADEL = fechaDel.ToShortDateString(), FECHAAL = fechaAl.ToShortDateString() }).ToList();
            }
            catch
            {
                return(false);
            }
            return(true);
        }
コード例 #17
0
 public static bool ConsultarReporte(ref List <Producto> productos)
 {
     try
     {
         MySqlConnection conn            = ConexionBaseDeDatos.ConseguirConexion();
         ConsultaBuilder consultaBuilder = new ConsultaBuilder("productos");
         consultaBuilder.AgregarCriterio("ESTADO='A'");
         consultaBuilder.AgregarOrderBy("NOMBRE");
         productos = conn.Query <Producto>(consultaBuilder.ToString()).ToList();
     }
     catch
     {
         return(false);
     }
     return(true);
 }
コード例 #18
0
 public static bool Eliminar(long id)
 {
     try
     {
         MySqlConnection conn = ConexionBaseDeDatos.ConseguirConexion();
         conn.Delete(new Usuario {
             Id = id
         });
     }
     catch (Exception ex)
     {
         ConexionBaseDeDatos.Error = ex.Message;
         return(false);
     }
     return(true);
 }
コード例 #19
0
        public static bool ConsultarReporte(ref List <Factura> facturas, DateTime fechaDel, DateTime fechaAl)
        {
            try
            {
                MySqlConnection conn = ConexionBaseDeDatos.ConseguirConexion();

                ConsultaBuilder consultaBuilder = new ConsultaBuilder("facturas");
                consultaBuilder.AgregarCriterio($"FECHA BETWEEN '{fechaDel.ToString("yyyy-MM-dd")}' AND '{fechaAl.ToString("yyyy-MM-dd")}'");

                facturas = conn.Query <Factura>(consultaBuilder.ToString()).ToList();
            }
            catch (Exception ex)
            {
                ConexionBaseDeDatos.Error = ex.Message;
                return(false);
            }
            return(true);
        }
コード例 #20
0
        public static bool Eliminar(ref Usuario usuario)
        {
            var conn = ConexionBaseDeDatos.ConseguirConexion();

            try
            {
                conn.Open();
                conn.Delete(usuario);
            }
            catch
            {
                return(false);
            }
            finally
            {
                conn.Close();
            }
            return(true);
        }
コード例 #21
0
 public static bool Guardar(ref Usuario usuario)
 {
     try
     {
         MySqlConnection conn = ConexionBaseDeDatos.ConseguirConexion();
         if (usuario.Id == 0)
         {
             usuario.Id = conn.Insert(usuario);
         }
         else
         {
             conn.Update(usuario);
         }
     }
     catch (Exception ex)
     {
         ConexionBaseDeDatos.Error = ex.Message;
         return(false);
     }
     return(true);
 }
コード例 #22
0
 public static bool ValidarExistencia(long id, int cantidad)
 {
     try
     {
         MySqlConnection conn            = ConexionBaseDeDatos.ConseguirConexion();
         ConsultaBuilder consultaBuilder = new ConsultaBuilder("productos");
         consultaBuilder.AgregarCampo("(CANTIDAD - @CANTIDAD) AS CANTIDAD");
         consultaBuilder.AgregarCriterio("ID=@ID");
         int cant = Convert.ToInt32(conn.ExecuteScalar(consultaBuilder.ToString(), new { ID = id, CANTIDAD = cantidad }));
         if (cant < 0)
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         ConexionBaseDeDatos.Error = ex.Message;
         return(false);
     }
     return(true);
 }
コード例 #23
0
        public static bool RestarInventario(long id, int cantidad)
        {
            try
            {
                MySqlConnection conn            = ConexionBaseDeDatos.ConseguirConexion();
                ConsultaBuilder consultaBuilder = new ConsultaBuilder("productos");
                consultaBuilder.AgregarCampo("CANTIDAD");
                consultaBuilder.AgregarCriterio("ID=@ID");

                string sql = "UPDATE productos SET CANTIDAD=@CANTIDAD WHERE ID=@ID";

                int cantidadActual = (int)conn.ExecuteScalar(consultaBuilder.ToString(), new { ID = id });

                conn.Execute(sql, new { ID = id, CANTIDAD = cantidadActual - cantidad });
            }
            catch (Exception ex)
            {
                ConexionBaseDeDatos.Error = ex.Message;
                return(false);
            }
            return(true);
        }
コード例 #24
0
        /*
         * Ejemplos de acceso a base de datos
         * La palabra ref es para pasarlo como referencia
         */
        public static bool ConsultarUnRegistro(ref Usuario usuario)
        {
            var conn = ConexionBaseDeDatos.ConseguirConexion();

            try
            {
                conn.Open();
                usuario = conn.Query <Usuario>("SELECT * FROM usuarios WHERE ID=1 LIMIT 1").FirstOrDefault();
                if (usuario == null)
                {
                    return(false);
                }
            }
            catch
            {
                return(false);
            }
            finally
            {
                conn.Close();
            }
            return(true);
        }
コード例 #25
0
        public static bool ConsultarMuchosRegistros(ref List <Usuario> usuarios)
        {
            var conn = ConexionBaseDeDatos.ConseguirConexion();

            try
            {
                conn.Open();
                usuarios = conn.Query <Usuario>("SELECT * FROM usuarios").ToList();
                if (usuarios.Count == 0)
                {
                    return(false);
                }
            }
            catch
            {
                return(false);
            }
            finally
            {
                conn.Close();
            }
            return(true);
        }