示例#1
0
        //public dynamic reporteFactura(int clienteID, DateTime fechaInicio, DateTime fechaFin)
        //{
        //    LecturaArchivos lectura = new LecturaArchivos();
        //    SqlConnection conexion = new SqlConnection(lectura.leerServer());

        //    DataClasses1DataContext dc = new DataClasses1DataContext(conexion);

        //    var facturas = from factura in dc.Factura
        //                   where factura.Cedula_Fk == clienteID
        //                   where factura.FechaFactura >= fechaInicio
        //                   where factura.FechaFactura <= fechaFin
        //                   select factura;
        //    return facturas;
        //}


        public List <int> codigosFacturas(int clienteID, DateTime fechaInicio, DateTime fechaFin)
        {
            List <int> codigoFactura = new List <int>();

            reporteFinal = "";

            LecturaArchivos lectura  = new LecturaArchivos();
            SqlConnection   conexion = new SqlConnection(lectura.leerServer());

            DataClasses1DataContext dc = new DataClasses1DataContext(conexion);

            var facturas = from factura in dc.Factura
                           where factura.Cedula_Fk == clienteID
                           where factura.FechaFactura >= fechaInicio
                           where factura.FechaFactura <= fechaFin
                           select factura;

            foreach (var factura in facturas)
            {
                codigoFactura.Add(factura.CodigoFactura);
                reporteFinal += "Factura ID: " + factura.CodigoFactura + "\r\n" +
                                "Fecha De La Factura: " + factura.FechaFactura.ToString() + "\r\n";
            }

            return(codigoFactura);
        }
示例#2
0
        public void InsertarProducto(int codigo, string desc, decimal precio, int cantidad)
        {
            LecturaArchivos         lectura     = new LecturaArchivos();
            DataTable               MiDataTable = new DataTable();
            SqlConnection           conexion    = new SqlConnection(lectura.leerServer());
            DataClasses1DataContext dc          = new DataClasses1DataContext(conexion);
            Producto tempProduct = ComprobarExistenciaProductoNoError(codigo);

            try
            {
                if (tempProduct != null)
                {
                    Producto producto = new Producto();
                    producto.CodigoProducto      = codigo;
                    producto.Descripcion         = desc;
                    producto.Precio              = precio;
                    producto.CantidadInventario  = cantidad;
                    producto.indicActivoProducto = 1;
                    dc.Producto.InsertOnSubmit(producto);
                    dc.SubmitChanges();
                    MessageBox.Show("Se insertó exitosamente");
                    dc.Connection.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Este Producto ya Existe");
                dc.Connection.Close();
            }
        }
示例#3
0
        public void actualizarClienteSolo(Cliente cliente1)
        {
            LecturaArchivos         lectura  = new LecturaArchivos();
            SqlConnection           conexion = new SqlConnection(lectura.leerServer());
            DataClasses1DataContext dc       = new DataClasses1DataContext(conexion);

            try
            {
                if (cliente1.Cedula > 0 && esNumero(cliente1.Cedula) != false)
                {
                    Cliente cliente = dc.Cliente.First(clie => clie.Cedula.Equals(cliente1.Cedula));
                    if (cliente1.Nombre != null && cliente1.Nombre != "")
                    {
                        cliente.Nombre = cliente1.Nombre;
                    }
                    else
                    {
                        throw new Exception("Error: El nombre no es válido.");
                    }
                    if (cliente.Apellido != null && cliente.Apellido != "")
                    {
                        cliente.Apellido = cliente1.Apellido;
                    }
                    else
                    {
                        throw new Exception("Error: El apellido no es válido.");
                    }
                    if (comprobarCorreo(cliente1.Correo) == true)
                    {
                        cliente.Correo = cliente1.Correo;
                    }
                    else
                    {
                        throw new Exception("Error: Correo no válido.");
                    }
                    if (esNumero(cliente1.NumeroTelefono) != false)
                    {
                        cliente.NumeroTelefono = cliente1.NumeroTelefono;
                    }
                    else
                    {
                        throw new Exception("Error: Número de teléfono no válido.");
                    }
                    cliente.indicActivoCliente = 1;
                    dc.SubmitChanges();
                    //MessageBox.Show("Se actualizó correctamente");
                    dc.Connection.Close();
                }
                else
                {
                    throw new Exception("Error: La cedula no es válida");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Fallo: " + ex.Message);
            }
        }
示例#4
0
        public dynamic consultaCliente()
        {
            LecturaArchivos         lectura  = new LecturaArchivos();
            SqlConnection           conexion = new SqlConnection(lectura.leerServer());
            DataClasses1DataContext dc       = new DataClasses1DataContext(conexion);
            var clientes = from cliente in dc.Cliente
                           where cliente.indicActivoCliente == 1
                           select cliente;

            return(clientes);
        }
示例#5
0
        public Factura GetLastIdFactura()
        {
            LecturaArchivos lectura     = new LecturaArchivos();
            DataTable       MiDataTable = new DataTable();
            SqlConnection   conexion    = new SqlConnection(lectura.leerServer());

            using (DataClasses1DataContext dc = new DataClasses1DataContext(conexion))
            {
                var dQuery = dc.ExecuteQuery <Factura>("SELECT TOP 1 CodigoFactura FROM dbo.Factura ORDER BY Factura.CodigoFactura DESC");
                return(dQuery.AsEnumerable().First());
            }
        }
示例#6
0
        public Producto GetProducto(int codigo)
        {
            LecturaArchivos         lectura     = new LecturaArchivos();
            DataTable               MiDataTable = new DataTable();
            SqlConnection           conexion    = new SqlConnection(lectura.leerServer());
            Producto                producto    = new Producto();
            DataClasses1DataContext dc          = new DataClasses1DataContext(conexion);

            producto = dc.Producto.First(clie => clie.CodigoProducto.Equals(codigo));

            return(producto);
        }
示例#7
0
        public DateTime GetDateTime()
        {
            LecturaArchivos lectura     = new LecturaArchivos();
            DataTable       MiDataTable = new DataTable();
            SqlConnection   conexion    = new SqlConnection(lectura.leerServer());

            using (DataClasses1DataContext dc = new DataClasses1DataContext(conexion))
            {
                var dQuery = dc.ExecuteQuery <DateTime>("SELECT getdate()");
                return(dQuery.AsEnumerable().First());
            }
        }
示例#8
0
        public dynamic consultaProducto()
        {
            LecturaArchivos lectura  = new LecturaArchivos();
            SqlConnection   conexion = new SqlConnection(lectura.leerServer());

            DataClasses1DataContext dc = new DataClasses1DataContext(conexion);

            var productos = from producto in dc.Producto
                            where producto.indicActivoProducto == 1
                            select producto;

            return(productos);
        }
示例#9
0
        public dynamic GetLastIdFactura2()
        {
            LecturaArchivos lectura  = new LecturaArchivos();
            SqlConnection   conexion = new SqlConnection(lectura.leerServer());

            DataClasses1DataContext dc = new DataClasses1DataContext(conexion);

            var fact = from factura in dc.Factura
                       orderby factura.CodigoFactura descending
                       select factura;

            return(fact.First());
        }
示例#10
0
        public void insertarFactura(int codigoFactura, int cedula)
        {
            LecturaArchivos         lectura     = new LecturaArchivos();
            DataTable               MiDataTable = new DataTable();
            SqlConnection           conexion    = new SqlConnection(lectura.leerServer());
            DataClasses1DataContext dc          = new DataClasses1DataContext(conexion);
            Factura factura = new Factura();

            factura.CodigoFactura = codigoFactura;
            factura.Cedula_Fk     = cedula;
            factura.FechaFactura  = GetDateTime();
            dc.Factura.InsertOnSubmit(factura);
            dc.SubmitChanges();
            dc.Connection.Close();
        }
示例#11
0
        public void insertarFacturaPorProducto(int cantidadProducto, int codigoProducto, int codigoFactura)
        {
            LecturaArchivos         lectura            = new LecturaArchivos();
            DataTable               MiDataTable        = new DataTable();
            SqlConnection           conexion           = new SqlConnection(lectura.leerServer());
            DataClasses1DataContext dc                 = new DataClasses1DataContext(conexion);
            FacturaPorProducto      factura_x_Producto = new FacturaPorProducto();

            factura_x_Producto.CantidadProducto  = cantidadProducto;
            factura_x_Producto.CodigoProducto_Fk = codigoProducto;
            factura_x_Producto.CodigoFactura_Fk  = codigoFactura;
            dc.FacturaPorProducto.InsertOnSubmit(factura_x_Producto);
            dc.SubmitChanges();
            MessageBox.Show("Se ha agregado el producto exitosamente");
            dc.Connection.Close();
        }
示例#12
0
        private Boolean verificarCliente(int cedula)
        {
            LecturaArchivos         lectura  = new LecturaArchivos();
            SqlConnection           conexion = new SqlConnection(lectura.leerServer());
            DataClasses1DataContext dc       = new DataClasses1DataContext(conexion);

            try
            {
                Cliente cliente = dc.Cliente.First(clie => clie.Cedula.Equals(cedula));
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
示例#13
0
        public Cliente ComprobarExistenciaCliente(int cedula)
        {
            LecturaArchivos lectura  = new LecturaArchivos();
            SqlConnection   conexion = new SqlConnection(lectura.leerServer());
            Cliente         cliente  = new Cliente();

            try
            {
                DataClasses1DataContext dc = new DataClasses1DataContext(conexion);
                cliente = dc.Cliente.First(clie => clie.Cedula.Equals(cedula));
            }
            catch (Exception ex)
            {
                //MessageBox.Show("Ocurrió un error: Cliente no Existe");
            }
            return(cliente);
        }
示例#14
0
        public Cliente verCliente(int cedula)
        {
            string cliente;

            if (verificarCliente(cedula) is true)
            {
                LecturaArchivos         lectura  = new LecturaArchivos();
                SqlConnection           conexion = new SqlConnection(lectura.leerServer());
                DataClasses1DataContext dc       = new DataClasses1DataContext(conexion);
                Cliente cliente1 = dc.Cliente.First(clie => clie.Cedula.Equals(cedula));
                return(cliente1);
            }
            else
            {
                return(null);
            }
        }
示例#15
0
        public string reporteFactura(int clienteID, DateTime fechaInicio, DateTime fechaFin)
        {
            int             dato;
            LecturaArchivos lectura  = new LecturaArchivos();
            SqlConnection   conexion = new SqlConnection(lectura.leerServer());

            DataClasses1DataContext dc = new DataClasses1DataContext(conexion);

            List <int> codigoFacturas             = codigosFacturas(clienteID, fechaInicio, fechaFin);
            List <FacturaPorProducto> intermedios = new List <FacturaPorProducto>();
            List <Producto>           productos   = new List <Producto>();

            foreach (var codigo in codigoFacturas)
            {
                //FacturaPorProducto fpp = dc.FacturaPorProducto.First(clie => clie.CodigoFactura_Fk.Equals(codigo));
                //foreach (var fpp in fpp)
                //{
                //    intermedios.Add(fpp.)
                //}

                var fpp = from facturaPorProducto in dc.FacturaPorProducto
                          where facturaPorProducto.CodigoFactura_Fk == codigo
                          select facturaPorProducto;
                foreach (var fpps in fpp)
                {
                    dato = fpps.CodigoProducto_Fk;
                    intermedios.Add(fpps);
                }
            }

            int     cantidad = 0;
            decimal precio   = 0;
            decimal total    = 0;

            foreach (var intermedio in intermedios)
            {
                Producto producto = dc.Producto.First(clie => clie.CodigoProducto.Equals(intermedio.CodigoProducto_Fk));
                productos.Add(producto);
                cantidad = intermedio.CantidadProducto;
                precio   = producto.Precio;
                total   += (cantidad * precio);
            }
            reporteFinal += "Total Facturado: " + total;

            return(reporteFinal);
        }
示例#16
0
        public Producto ComprobarExistenciaProductoNoError(int codigo)
        {
            LecturaArchivos lectura     = new LecturaArchivos();
            DataTable       MiDataTable = new DataTable();
            SqlConnection   conexion    = new SqlConnection(lectura.leerServer());
            Producto        producto    = new Producto();

            try
            {
                DataClasses1DataContext dc = new DataClasses1DataContext(conexion);
                producto = dc.Producto.First(clie => clie.CodigoProducto.Equals(codigo));
            }
            catch (Exception ex)
            {
                //MessageBox.Show("Producto no existe");
            }
            return(producto);
        }
示例#17
0
        //////////////////////////////////////////////////////////Producto
        ///

        public void actualizarProducto(int codigo, string desc, decimal precio, int cantidad, Boolean isAddProduct)
        {
            LecturaArchivos         lectura     = new LecturaArchivos();
            DataTable               MiDataTable = new DataTable();
            SqlConnection           conexion    = new SqlConnection(lectura.leerServer());
            DataClasses1DataContext dc          = new DataClasses1DataContext(conexion);
            Producto producto = dc.Producto.First(clie => clie.CodigoProducto.Equals(codigo));

            try
            {
                if (cantidad == 0)
                {
                    producto.indicActivoProducto = 0;
                }
                else
                {
                    producto.indicActivoProducto = 1;
                }

                if (isAddProduct)
                {
                    producto.Descripcion        = desc;
                    producto.Precio             = precio;
                    producto.CantidadInventario = cantidad;
                    dc.SubmitChanges();
                    dc.Connection.Close();
                }
                else
                {
                    producto.Descripcion        = desc;
                    producto.Precio             = precio;
                    producto.CantidadInventario = cantidad;
                    dc.SubmitChanges();
                    MessageBox.Show("Se actualizó correctamente");
                    dc.Connection.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocurrió un error: " + ex.Message);
                dc.Connection.Close();
            }
        }
示例#18
0
        public void eliminarCliente(int cedula)
        {
            LecturaArchivos         lectura  = new LecturaArchivos();
            SqlConnection           conexion = new SqlConnection(lectura.leerServer());
            DataClasses1DataContext dc       = new DataClasses1DataContext(conexion);
            Cliente cliente = dc.Cliente.First(clie => clie.Cedula.Equals(cedula));

            try
            {
                cliente.indicActivoCliente = 0;
                dc.SubmitChanges();
                MessageBox.Show("El cliente se eliminó correctamente");
                dc.Connection.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocurrió un error: " + ex.Message);
                dc.Connection.Close();
            }
        }
示例#19
0
        public void eliminarProducto(int codigo)
        {
            LecturaArchivos         lectura     = new LecturaArchivos();
            DataTable               MiDataTable = new DataTable();
            SqlConnection           conexion    = new SqlConnection(lectura.leerServer());
            DataClasses1DataContext dc          = new DataClasses1DataContext(conexion);
            Producto producto = dc.Producto.First(clie => clie.CodigoProducto.Equals(codigo));

            try
            {
                producto.indicActivoProducto = 0;
                dc.SubmitChanges();
                MessageBox.Show("Se elimino correctamente");
                dc.Connection.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("El Producto no Existe");
                dc.Connection.Close();
            }
        }
示例#20
0
        public void InsertarCliente(string apellido, int cedula, string correo, string nombre, string numeroTelefono)
        {
            try
            {
                LecturaArchivos         lectura  = new LecturaArchivos();
                SqlConnection           conexion = new SqlConnection(lectura.leerServer());
                DataClasses1DataContext dc       = new DataClasses1DataContext(conexion);
                Cliente cliente = new Cliente();
                if (apellido != null && apellido != "")
                {
                    cliente.Apellido = apellido;
                }
                else
                {
                    throw new Exception("El apellido no puede estar vacío");
                }
                if (cedula > 0 && esNumero(cedula) != false)
                {
                    cliente.Cedula = cedula;
                }
                else
                {
                    throw new Exception("Digite una cédula válida");
                }
                if (comprobarCorreo(correo) == true)
                {
                    cliente.Correo = correo;
                }
                else
                {
                    throw new Exception("Digite un correo válido");
                }
                if (nombre != null && nombre != "")
                {
                    cliente.Nombre = nombre;
                }
                else
                {
                    throw new Exception("Digite un nombre válido");
                }
                if (numeroTelefono != null && numeroTelefono != "" && esNumero(numeroTelefono) != false)
                {
                    cliente.NumeroTelefono = numeroTelefono;
                }
                else
                {
                    throw new Exception("Digite un número de teléfono válido");
                }


                Cliente cliente1 = ComprobarExistenciaCliente(cedula);
                if (cliente1.indicActivoCliente == null)
                {
                    cliente.indicActivoCliente = 1;
                    dc.Cliente.InsertOnSubmit(cliente);
                    dc.SubmitChanges();
                    MessageBox.Show("Se insertó exitosamente");
                    dc.Connection.Close();
                }
                else if (cliente1.indicActivoCliente == 1)
                {
                    throw new Exception("Este cliente ya existe, no se puede insertar.");
                }
                else if (cliente1.indicActivoCliente == 0)
                {
                    cliente.indicActivoCliente = 1;
                    actualizarClienteSolo(cliente);
                    MessageBox.Show("Se Actualizo exitosamente");
                    dc.Connection.Close();
                }
            }
            catch (IOException ex)
            {
                MessageBox.Show("Ocurrió un error, verifique la ruta de acceso a la base de datos.");
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }