Example #1
0
        public int CalcularStock(int IdProducto)
        {
            AccesoDB conexion = null;

            try
            {
                int stock = 0;
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT IDPRODUCTO, UNIDADESE FROM LOTES " +
                                        "WHERE IDPRODUCTO = @idproducto AND ACTIVO = 1");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@idproducto", IdProducto);

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    stock += (int)conexion.Lector["UNIDADESE"];
                }
                return(stock);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
Example #2
0
        public Lote ObtenerLote(long IdLote)
        {
            Lote     aux      = new Lote();
            AccesoDB conexion = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT IDLOTE, UNIDADESE FROM LOTES " +
                                        "WHERE IDLOTE = @idlote AND ACTIVO = 1");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@idlote", IdLote);

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                if (conexion.Lector.Read())
                {
                    aux.IdLote    = (long)conexion.Lector["IDLOTE"];
                    aux.UnidadesE = (int)conexion.Lector["UNIDADESE"];
                }
                return(aux);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
        public bool ValidarUsuario(Empleado e)
        {
            AccesoDB conexion;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT IDEMPLEADO, TIPOPERFIL FROM EMPLEADOS WHERE USUARIO = @usuario AND PASS = @pass AND ACTIVO = 1");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@usuario", e.Usuario);
                conexion.Comando.Parameters.AddWithValue("@pass", GenerarMD5(e.Pass));
                conexion.AbrirConexion();
                conexion.EjecutarConsulta();
                if (conexion.Lector.Read())
                {
                    e.TipoPerfil = new TipoPerfil();
                    e.IdEmpleado = (int)conexion.Lector[0];
                    e.TipoPerfil.IdTipoPerfil = (int)conexion.Lector[1];
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #4
0
        public List <ProductoVendido> Listar(int IdVenta, int activo)
        {
            ProductoVendido        aux;
            List <ProductoVendido> lstProductosVendidos = new List <ProductoVendido>();
            AccesoDB conexion = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT PXV.IDPXV, PXV.IDPRODUCTO, PXV.CANTIDAD, P.DESCRIPCION, M.DESCRIPCION, TP.DESCRIPCION, P.STOCKMIN, P.IDMARCA, P.IDTIPOPRODUCTO, PXV.PRECIOPU FROM PRODUCTOS_X_VENTA AS PXV " +
                                        "INNER JOIN PRODUCTOS AS P ON PXV.IDPRODUCTO = P.IDPRODUCTO " +
                                        "INNER JOIN MARCAS AS M ON P.IDMARCA = M.IDMARCA " +
                                        "INNER JOIN TIPOSPRODUCTO AS TP ON P.IDTIPOPRODUCTO = TP.IDTIPOPRODUCTO " +
                                        "WHERE PXV.IDVENTA = @idventa AND PXV.ACTIVO = @activo");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@idventa", IdVenta);
                conexion.Comando.Parameters.AddWithValue("@activo", activo);
                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new ProductoVendido
                    {
                        IdPxv    = (long)conexion.Lector[0],
                        Producto = new Producto(),
                        Cantidad = (int)conexion.Lector[2]
                    };
                    aux.Producto.Marca                       = new Marca();
                    aux.Producto.TipoProducto                = new TipoProducto();
                    aux.Producto.IdProducto                  = (int)conexion.Lector[1];
                    aux.Producto.Descripcion                 = (string)conexion.Lector[3];
                    aux.Producto.Marca.Descripcion           = (string)conexion.Lector[4];
                    aux.Producto.Marca.IdMarca               = (int)conexion.Lector[7];
                    aux.Producto.StockMin                    = (int)conexion.Lector[6];
                    aux.Producto.TipoProducto.Descripcion    = (string)conexion.Lector[5];
                    aux.Producto.TipoProducto.IdTipoProducto = (int)conexion.Lector[8];
                    aux.PrecioU = (float)Convert.ToDouble(conexion.Lector[9]);
                    aux.PrecioT = (aux.PrecioU * aux.Cantidad);

                    lstProductosVendidos.Add(aux);
                }

                return(lstProductosVendidos);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
Example #5
0
        public List <Lote> Listar(int IdCompra, int activo)
        {
            Lote        aux;
            List <Lote> lstLotes = new List <Lote>();
            AccesoDB    conexion = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT L.IDLOTE, L.IDCOMPRA, L.IDPRODUCTO, P.DESCRIPCION, L.UNIDADESP, L.UNIDADESE, L.COSTOPU FROM LOTES AS L " +
                                        "INNER JOIN PRODUCTOS AS P ON P.IDPRODUCTO = L.IDPRODUCTO " +
                                        "WHERE L.IDCOMPRA = @idcompra AND L.ACTIVO = @activo " +
                                        "ORDER BY P.DESCRIPCION ASC");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@idcompra", IdCompra);
                conexion.Comando.Parameters.AddWithValue("@activo", activo);

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new Lote
                    {
                        IdLote    = (long)conexion.Lector["IDLOTE"],
                        IdCompra  = (int)conexion.Lector["IDCOMPRA"],
                        Producto  = new Producto(),
                        UnidadesP = (int)conexion.Lector["UNIDADESP"],
                        UnidadesE = (int)conexion.Lector["UNIDADESE"],
                        CostoPU   = (float)Convert.ToDouble(conexion.Lector["COSTOPU"]),
                    };
                    aux.CostoT = aux.CostoPU * aux.UnidadesP;
                    aux.Producto.IdProducto  = (int)conexion.Lector["IDPRODUCTO"];
                    aux.Producto.Descripcion = (string)conexion.Lector[3];

                    lstLotes.Add(aux);
                }
                return(lstLotes);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
Example #6
0
        public List <Compra> Listar(int activo)
        {
            Compra        aux;
            List <Compra> lstCompras = new List <Compra>();
            AccesoDB      conexion   = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT C.IDCOMPRA, C.FECHACOMPRA, C.IDPROVEEDOR, C.FECHAREGISTRO, P.EMPRESA, P.CUIT FROM COMPRAS AS C " +
                                        "INNER JOIN PROVEEDORES AS P ON C.IDPROVEEDOR = P.IDPROVEEDOR " +
                                        "WHERE C.ACTIVO = @activo");

                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@activo", activo);

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new Compra
                    {
                        IdCompra      = (int)conexion.Lector["IDCOMPRA"],
                        Proveedor     = new Proveedor(),
                        FechaCompra   = (DateTime)conexion.Lector["FECHACOMPRA"],
                        FechaRegistro = (DateTime)conexion.Lector["FECHAREGISTRO"],
                    };
                    aux.Proveedor.IdProveedor = (int)conexion.Lector["IDPROVEEDOR"];
                    aux.Proveedor.Empresa     = (string)conexion.Lector["EMPRESA"];
                    aux.Proveedor.Cuit        = Convert.ToInt64(conexion.Lector["CUIT"]);

                    lstCompras.Add(aux);
                }

                return(lstCompras);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
Example #7
0
        public void RestaurarStock(long IdPxv)
        {
            List <LoteVendido> lotesv = new List <LoteVendido>();
            LoteVendido        lotev;
            LoteNegocio        negL = new LoteNegocio();
            Lote     lote;
            AccesoDB conexion = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT IDLOTE, CANTIDAD FROM LOTES_X_VENTA WHERE IDPXV = @idpxv");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@idpxv", IdPxv);

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    lotev = new LoteVendido
                    {
                        IdPxv    = IdPxv,
                        IdLote   = (long)conexion.Lector[0],
                        Cantidad = (int)conexion.Lector[1]
                    };
                    lotesv.Add(lotev);
                }

                foreach (LoteVendido lv in lotesv)
                {
                    lote            = negL.ObtenerLote(lv.IdLote);
                    lote.UnidadesE += lv.Cantidad;
                    negL.ModificarStock(lote.IdLote, lote.UnidadesE);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
Example #8
0
        public List <Domicilio> Listar(int IdRelacion)
        {
            Domicilio        aux;
            List <Domicilio> lstDomicilios = new List <Domicilio>();
            AccesoDB         conexion      = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT IDDOMICILIO, CALLE, ALTURA, DEPARTAMENTO, BARRIO, CIUDAD, PAIS, CP FROM DOMICILIOS WHERE IDRELACION = @idrelacion AND ACTIVO = 1");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@idrelacion", IdRelacion);
                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new Domicilio
                    {
                        IdDomicilio  = (int)conexion.Lector["IDDOMICILIO"],
                        IdRelacion   = IdRelacion,
                        Calle        = (string)conexion.Lector["Calle"],
                        Altura       = (int)conexion.Lector["Altura"],
                        Departamento = (string)conexion.Lector["DEPARTAMENTO"],
                        Barrio       = (string)conexion.Lector["BARRIO"],
                        Ciudad       = (string)conexion.Lector["CIUDAD"],
                        Pais         = (string)conexion.Lector["PAIS"],
                        Cp           = (int)conexion.Lector["CP"]
                    };

                    lstDomicilios.Add(aux);
                }
                return(lstDomicilios);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
Example #9
0
        public void ActualizarStock(int IdProducto)
        {
            AccesoDB conexion = null;
            int      stock    = 0;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT UNIDADESE FROM LOTES " +
                                        "WHERE IDPRODUCTO = @idproducto AND ACTIVO = 1");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@idproducto", IdProducto);

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    stock += (int)conexion.Lector[0];
                }
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }

                conexion = new AccesoDB();
                conexion.SetearConsulta("UPDATE PRODUCTOS SET STOCK = @stock WHERE IDPRODUCTO = @idproducto");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@stock", stock);
                conexion.Comando.Parameters.AddWithValue("@idproducto", IdProducto);
                conexion.AbrirConexion();
                conexion.EjecutarAccion();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
        public List <Contacto> Listar(int id)
        {
            Contacto        aux;
            List <Contacto> lstContactos = new List <Contacto>();
            AccesoDB        conexion     = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT C.IDCONTACTO, C.NOMBRE, C.APELLIDO, C.DNI, C.EMAIL FROM CONTACTOS AS C " +
                                        "INNER JOIN CONTACTOS_X_RELACION AS CXR ON CXR.IDCONTACTO = C.IDCONTACTO " +
                                        "WHERE C.ACTIVO = 1 AND CXR.IDRELACION = @id");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@id", id);
                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new Contacto
                    {
                        IdContacto = (int)conexion.Lector["IDCONTACTO"],
                        Nombre     = (string)conexion.Lector["NOMBRE"],
                        Apellido   = (string)conexion.Lector["APELLIDO"],
                        Dni        = (int)conexion.Lector["DNI"],
                        Email      = (string)conexion.Lector["EMAIL"],
                    };
                    lstContactos.Add(aux);
                }
                return(lstContactos);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
        public List <ClienteP> Listar()
        {
            ClienteP        aux;
            List <ClienteP> lstClientesP = new List <ClienteP>();
            AccesoDB        conexion     = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT NOMBRE, APELLIDO, IDCLIENTE, DNICUIT, EMAIL FROM CLIENTES " +
                                        "WHERE ACTIVO = 1 AND TIPOCLIENTE = 'P'");

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new ClienteP
                    {
                        Nombre    = (string)conexion.Lector["NOMBRE"],
                        Apellido  = (string)conexion.Lector["APELLIDO"],
                        IdCliente = (int)conexion.Lector["IDCLIENTE"],
                        Dni       = (int)Convert.ToInt64(conexion.Lector["DNICUIT"]),
                        Email     = (string)conexion.Lector["EMAIL"]
                    };
                    aux.NombreCompleto = aux.Nombre + " " + aux.Apellido;

                    lstClientesP.Add(aux);
                }
                return(lstClientesP);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
Example #12
0
        public List <ClienteE> Listar()
        {
            ClienteE        aux;
            List <ClienteE> lstClientesE = new List <ClienteE>();
            AccesoDB        conexion     = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT NOMBRE, IDCLIENTE, DNICUIT FROM CLIENTES " +
                                        "WHERE ACTIVO = 1 AND TIPOCLIENTE = 'E'");

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new ClienteE
                    {
                        LstContactos = new List <Contacto>(),
                        Nombre       = (string)conexion.Lector["NOMBRE"],
                        IdCliente    = (int)conexion.Lector["IDCLIENTE"],
                        Cuit         = (long)conexion.Lector["DNICUIT"],
                    };
                    aux.NombreCompleto = aux.Nombre;

                    lstClientesE.Add(aux);
                }
                return(lstClientesE);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
        public List <Proveedor> Listar()
        {
            Proveedor        aux;
            List <Proveedor> lstProveedores = new List <Proveedor>();
            AccesoDB         conexion       = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT IDPROVEEDOR, EMPRESA, CUIT FROM PROVEEDORES WHERE ACTIVO = 1");

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new Proveedor
                    {
                        IdProveedor  = (int)conexion.Lector["IDPROVEEDOR"],
                        Empresa      = (string)conexion.Lector["EMPRESA"],
                        Cuit         = (long)conexion.Lector["CUIT"],
                        LstContactos = new List <Contacto>(),
                        LstProductos = new List <Producto>()
                    };

                    lstProveedores.Add(aux);
                }
                return(lstProveedores);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
        public List <Telefono> Listar(int IdRelacion)
        {
            Telefono        aux;
            List <Telefono> lstTelefonos = new List <Telefono>();
            AccesoDB        conexion     = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT IDTELEFONO, DESCRIPCION, NUMERO FROM TELEFONOS WHERE IDRELACION = @idrelacion AND ACTIVO = 1");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@idrelacion", IdRelacion);
                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new Telefono
                    {
                        IdTelefono  = (int)conexion.Lector["IDTELEFONO"],
                        IdRelacion  = IdRelacion,
                        Descripcion = (string)conexion.Lector["DESCRIPCION"],
                        Numero      = (int)conexion.Lector["NUMERO"]
                    };

                    lstTelefonos.Add(aux);
                }
                return(lstTelefonos);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
Example #15
0
        public bool ControlarStock(ProductoVendido pv)
        {
            bool     stocked    = false;
            int      stockTotal = 0;
            AccesoDB conexion   = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT L.IDLOTE, L.UNIDADESE FROM LOTES AS L " +
                                        "INNER JOIN COMPRAS AS C ON C.IDCOMPRA = L.IDCOMPRA " +
                                        "WHERE L.IDPRODUCTO = @idproducto AND L.ACTIVO = 1 " +
                                        "ORDER BY C.FECHACOMPRA DESC");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@idproducto", pv.Producto.IdProducto);

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    stockTotal += (int)conexion.Lector[1];
                }
                if (stockTotal >= pv.Cantidad)
                {
                    stocked = true;
                }
                return(stocked);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
Example #16
0
        public float CalcularPrecio(int IdProducto)
        {
            float    precio   = 0;
            AccesoDB conexion = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT TOP 1 L.COSTOPU, P.GANANCIA FROM LOTES AS L " +
                                        "INNER JOIN COMPRAS AS C ON C.IDCOMPRA = L.IDCOMPRA " +
                                        "INNER JOIN PRODUCTOS AS P ON P.IDPRODUCTO = L.IDPRODUCTO " +
                                        "WHERE L.IDPRODUCTO = @idproducto AND L.ACTIVO = 1 " +
                                        "ORDER BY C.FECHACOMPRA ASC");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@idproducto", IdProducto);

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                if (conexion.Lector.Read())
                {
                    precio = (float)Math.Round(Convert.ToDouble(conexion.Lector[0]) * ((Convert.ToDouble(conexion.Lector[1]) / 100) + 1), 3);
                }

                return(precio);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
Example #17
0
        public List <Marca> Listar()
        {
            Marca        aux;
            List <Marca> lstMarcas = new List <Marca>();
            AccesoDB     conexion  = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT IDMARCA, DESCRIPCION FROM MARCAS WHERE ACTIVO = 1 ORDER BY DESCRIPCION ASC");
                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new Marca
                    {
                        IdMarca     = (int)conexion.Lector["IDMARCA"],
                        Descripcion = (string)conexion.Lector["DESCRIPCION"]
                    };

                    lstMarcas.Add(aux);
                }

                return(lstMarcas);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
        public List <TipoProducto> Listar()
        {
            TipoProducto        aux;
            List <TipoProducto> lstTiposProducto = new List <TipoProducto>();
            AccesoDB            conexion         = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT IDTIPOPRODUCTO, DESCRIPCION FROM TIPOSPRODUCTO WHERE ACTIVO = 1 ORDER BY DESCRIPCION ASC");
                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new TipoProducto
                    {
                        IdTipoProducto = (int)conexion.Lector["IDTIPOPRODUCTO"],
                        Descripcion    = (string)conexion.Lector["DESCRIPCION"]
                    };

                    lstTiposProducto.Add(aux);
                }
                return(lstTiposProducto);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
        public List <Empleado> Listar()
        {
            Empleado        aux;
            List <Empleado> lstEmpleados = new List <Empleado>();
            AccesoDB        conexion     = null;

            try
            {
                conexion = new AccesoDB();

                conexion.SetearConsulta("SELECT NOMBRE, APELLIDO, IDEMPLEADO, DNI, FECHANAC, TIPOPERFIL, EMAIL FROM EMPLEADOS WHERE ACTIVO = 1");

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new Empleado
                    {
                        Nombre     = (string)conexion.Lector["NOMBRE"],
                        Apellido   = (string)conexion.Lector["APELLIDO"],
                        IdEmpleado = (int)conexion.Lector["IDEMPLEADO"],
                        Dni        = (int)conexion.Lector["DNI"],
                        FechaNac   = (DateTime)conexion.Lector["FECHANAC"],
                        TipoPerfil = new TipoPerfil(),
                        Email      = (string)conexion.Lector["EMAIL"]
                    };
                    aux.TipoPerfil.IdTipoPerfil = (int)conexion.Lector[5];
                    aux.NombreCompleto          = aux.Nombre + " " + aux.Apellido;
                    switch (aux.TipoPerfil.IdTipoPerfil)
                    {
                    case 1:
                        aux.TipoPerfilS = "Administrador";
                        break;

                    case 2:
                        aux.TipoPerfilS = "Supervisor";
                        break;

                    case 3:
                    default:
                        aux.TipoPerfilS = "Vendedor";
                        break;
                    }

                    lstEmpleados.Add(aux);
                }
                return(lstEmpleados);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
        public List <Producto> Listar(int Id)
        {
            Producto        aux;
            LoteNegocio     negL         = new LoteNegocio();
            List <Producto> lstProductos = new List <Producto>();
            AccesoDB        conexion     = null;

            try
            {
                conexion = new AccesoDB();
                if (Id == 0)
                {
                    conexion.SetearConsulta("SELECT P.IDPRODUCTO, P.DESCRIPCION, M.DESCRIPCION, TP.DESCRIPCION, P.STOCKMIN, P.GANANCIA, P.IDMARCA, P.IDTIPOPRODUCTO, P.STOCK FROM PRODUCTOS AS P " +
                                            "INNER JOIN MARCAS AS M ON P.IDMARCA = M.IDMARCA " +
                                            "INNER JOIN TIPOSPRODUCTO AS TP ON P.IDTIPOPRODUCTO = TP.IDTIPOPRODUCTO " +
                                            "WHERE P.ACTIVO = 1 " +
                                            "ORDER BY P.DESCRIPCION ASC");
                }
                else
                {
                    conexion.SetearConsulta("SELECT P.IDPRODUCTO, P.DESCRIPCION, M.DESCRIPCION, TP.DESCRIPCION, P.STOCKMIN, P.GANANCIA, P.IDMARCA, P.IDTIPOPRODUCTO, P.STOCK FROM PRODUCTOS AS P " +
                                            "INNER JOIN PRODUCTOS_X_PROVEEDOR AS PXP ON PXP.IDPRODUCTO = P.IDPRODUCTO " +
                                            "INNER JOIN MARCAS AS M ON P.IDMARCA = M.IDMARCA " +
                                            "INNER JOIN TIPOSPRODUCTO AS TP ON P.IDTIPOPRODUCTO = TP.IDTIPOPRODUCTO " +
                                            "WHERE P.ACTIVO = 1 AND PXP.IDPROVEEDOR = @id " +
                                            "ORDER BY P.DESCRIPCION ASC");
                    conexion.Comando.Parameters.Clear();
                    conexion.Comando.Parameters.AddWithValue("@id", Id);
                }

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new Producto
                    {
                        IdProducto   = (int)conexion.Lector["IDPRODUCTO"],
                        Marca        = new Marca(),
                        TipoProducto = new TipoProducto(),
                        Descripcion  = (string)conexion.Lector["DESCRIPCION"],
                        StockMin     = (int)conexion.Lector["STOCKMIN"],
                        Ganancia     = (float)Convert.ToDouble(conexion.Lector["GANANCIA"]),
                        Stock        = (int)conexion.Lector["STOCK"]
                    };
                    aux.Marca.IdMarca               = (int)conexion.Lector["IDMARCA"];
                    aux.Marca.Descripcion           = (string)conexion.Lector[2];
                    aux.TipoProducto.IdTipoProducto = (int)conexion.Lector["IDTIPOPRODUCTO"];
                    aux.TipoProducto.Descripcion    = (string)conexion.Lector[3];

                    lstProductos.Add(aux);
                }

                return(lstProductos);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
Example #21
0
        public void DescontarStock(ProductoVendido pv)
        {
            Lote        lote;
            int         stockTotal = 0, cantidad;
            LoteNegocio negL     = new LoteNegocio();
            List <Lote> lstLotes = new List <Lote>();
            AccesoDB    conexion = null;

            try
            {
                conexion = new AccesoDB();
                conexion.SetearConsulta("SELECT L.IDLOTE, L.UNIDADESE FROM LOTES AS L " +
                                        "INNER JOIN COMPRAS AS C ON C.IDCOMPRA = L.IDCOMPRA " +
                                        "WHERE L.IDPRODUCTO = @idproducto AND L.ACTIVO = 1 " +
                                        "ORDER BY C.FECHACOMPRA DESC");
                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@idproducto", pv.Producto.IdProducto);

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    lote = new Lote
                    {
                        IdLote    = (long)conexion.Lector[0],
                        UnidadesE = (int)conexion.Lector[1]
                    };
                    stockTotal += lote.UnidadesE;
                    lstLotes.Add(lote);
                }

                if (stockTotal >= pv.Cantidad)
                {
                    int cantV = pv.Cantidad, i = 0;
                    while (cantV > 0)
                    {
                        if (cantV <= lstLotes[i].UnidadesE)
                        {
                            cantidad = cantV;
                            lstLotes[i].UnidadesE -= cantV;
                            cantV = 0;
                        }
                        else
                        {
                            cantidad = lstLotes[i].UnidadesE;
                            cantV   -= lstLotes[i].UnidadesE;
                            lstLotes[i].UnidadesE = 0;
                        }
                        ActualizarStock(lstLotes[i]);
                        negL.ActualizarStock(pv.Producto.IdProducto);
                        RegistrarMovimiento(pv.IdPxv, lstLotes[i].IdLote, cantidad);
                        i++;
                    }
                }
                return;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
Example #22
0
        public List <Venta> Listar(int activo, string b)
        {
            Venta        aux;
            List <Venta> lstVentas = new List <Venta>();
            AccesoDB     conexion  = null;

            try
            {
                conexion = new AccesoDB();

                conexion.SetearConsulta("SELECT V.IDVENTA, E.NOMBRE, E.APELLIDO, V.IDEMPLEADO, C.NOMBRE, C.APELLIDO, V.IDCLIENTE, V.FECHAVENTA, V.FECHAREGISTRO FROM VENTAS AS V " +
                                        "INNER JOIN EMPLEADOS AS E ON V.IDEMPLEADO = E.IDEMPLEADO " +
                                        "INNER JOIN CLIENTES AS C ON C.IDCLIENTE = V.IDCLIENTE " +
                                        "WHERE V.ACTIVO = @activo");

                conexion.Comando.Parameters.Clear();
                conexion.Comando.Parameters.AddWithValue("@activo", activo);

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new Venta()
                    {
                        IdVenta       = (int)conexion.Lector[0],
                        Empleado      = new Empleado(),
                        FechaRegistro = (DateTime)conexion.Lector[8],
                        FechaVenta    = (DateTime)conexion.Lector[7]
                    };
                    aux.Empleado.Nombre         = (string)conexion.Lector[1];
                    aux.Empleado.Apellido       = (string)conexion.Lector[2];
                    aux.Empleado.NombreCompleto = aux.Empleado.Nombre + " " + aux.Empleado.Apellido;
                    aux.Empleado.IdEmpleado     = (int)conexion.Lector[3];
                    aux.Empleado.IdContacto     = aux.Empleado.IdEmpleado;
                    if (conexion.Lector.IsDBNull(5))
                    {
                        ClienteE auxC = new ClienteE
                        {
                            Nombre = (string)conexion.Lector[4]
                        };
                        auxC.NombreCompleto = auxC.Nombre;
                        aux.Cliente         = auxC;
                    }
                    else
                    {
                        ClienteP auxC = new ClienteP
                        {
                            Nombre   = (string)conexion.Lector[4],
                            Apellido = (string)conexion.Lector[5]
                        };
                        auxC.NombreCompleto = auxC.Nombre + " " + auxC.Apellido;
                        aux.Cliente         = auxC;
                    }
                    aux.Cliente.IdCliente = (int)conexion.Lector[6];
                    aux.Monto             = (float)Math.Round(CalcularMonto(aux.IdVenta), 3);

                    if (aux.IdVenta.ToString().Contains(b))
                    {
                        lstVentas.Add(aux);
                    }
                }
                return(lstVentas);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }