Пример #1
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (txtUser.Text != "")
            {
                sql.Open();

                String procedureName = ClaseSQL.tableName("sp_LOGIN");
                String[,] parametros = new String[2, 2];
                parametros[0, 0]     = "@USERNAME";
                parametros[0, 1]     = "@PASS";
                parametros[1, 0]     = txtUser.Text;
                parametros[1, 1]     = hasher.hash(txtPass.Text);

                SqlDataReader otroReader = sql.ejecutarStoredProcedure(procedureName, parametros);
                if (otroReader.Read())
                {
                    switch (otroReader[0].ToString())
                    {
                    case "USUARIO BLOQUEADO":
                        MessageBox.Show("USUARIO BLOQUEADO");
                        break;

                    case "CONTRASEÑA INVALIDA":
                        MessageBox.Show("CONTRASEÑA INVALIDA");
                        break;

                    case "NO EXISTE EN LA BASE":
                        MessageBox.Show("NO EXISTE EN LA BASE");
                        break;

                    default:
                        int i = 0;
                        do
                        {
                            funciones[i] = otroReader[0].ToString();
                            i++;
                            correcto = true;
                            username = txtUser.Text.ToLower();
                        } while (otroReader.Read());
                        break;
                    }
                }
                else
                {
                    correcto = true;
                    username = txtUser.Text.ToLower();
                }
                otroReader.Close();
                sql.Close();
            }
            else
            {
                MessageBox.Show("Campo Username Vacio");
            }
            //Si el Login es correcto cierra el formulario y continua con el Formulario Principal
            if (correcto)
            {
                this.Close();
            }
        }
Пример #2
0
        private void faltanteDeStock(ClaseSQL conexion)
        {
            byte   sucursal = ((Provincia)cSucursal.SelectedItem).codigo;
            String query    = "SELECT TOP 1 Producto, Dias FROM " + ClaseSQL.tableName("FaltantesDeStock") + " WHERE Anio = " + cAnio.Value + " AND " +
                              " Sucursal = " + sucursal + " ORDER BY Dias DESC";

            //Tratamos de estirar el timeout de la query
            conexion.Close();
            conexion.Open();
            SqlDataReader reader = conexion.busquedaSQLDataReader(query);

            if (!reader.Read())
            {
                tFaltanteDeStock.Text = "No se encontro producto con faltantes";
            }
            else
            {
                if (reader["dias"].ToString() != "0")
                {
                    tFaltanteDeStock.Text = reader["Producto"] + " por " + reader["Dias"] + " dias";
                }
                else
                {
                    tFaltanteDeStock.Text = "No se encontro producto con faltantes";
                }
            }
            reader.Close();
        }
Пример #3
0
        private String generateQuery()
        {
            String query = "SELECT us.nombre, emp.DNI, emp.Nombre, emp.Apellido, emp.Mail, emp.Telefono, emp.Direccion, emp.Provincia, emp.Tipo, emp.Sucursal, emp.Habilitado" +
                           " FROM " + ClaseSQL.tableName("Empleados") + " as emp left join " + ClaseSQL.tableName("Usuarios") + " as us on (dni = us.empleado)";

            String where = "";

            if (!buscarDeshabilitados)
            {
                where += " AND Habilitado = 1";
            }

            if (tBusqUser.Text.Length > 0)
            {
                where += " AND us.nombre LIKE '%" + tBusqUser.Text + "%'";
            }

            if (tBusqDNI.Text.Length > 0)
            {
                where += " AND DNI = '" + tBusqDNI.Text + "'";
            }

            if (tBusqNombre.Text.Length > 0)
            {
                where += " AND Nombre LIKE '%" + tBusqNombre.Text + "%'";
            }

            if (tBusqApellido.Text.Length > 0)
            {
                where += " AND Apellido LIKE '%" + tBusqApellido.Text + "%'";
            }

            if (cBusqProvincia.SelectedItem != null && cBusqProvincia.SelectedItem.ToString() != "")
            {
                where += " AND Provincia = " + cBusqProvincia.SelectedIndex;
            }

            if (cBusqSucursal.SelectedItem != null && cBusqSucursal.SelectedItem.ToString() != "")
            {
                where += " AND Sucursal = " + cBusqSucursal.SelectedIndex;
            }

            if (cBusqTipo.SelectedItem != null && (cBusqTipo.SelectedItem.ToString() != ""))
            {
                where += " AND Tipo = " + cBusqTipo.SelectedIndex;
            }


            if (where.Length > 0)
            {
                where  = where.Substring(5);
                query += " WHERE " + where;
            }

            return(query);
        }
Пример #4
0
        public int stock(Producto producto, Sucursal sucursal)
        {
            ClaseSQL conexion = ClaseSQL.getInstance();
            String   query    = "SELECT Cantidad FROM " + ClaseSQL.tableName("Stocks") +
                                " WHERE Producto = " + producto.codigo + " AND Sucursal = " + sucursal.provincia;

            conexion.Open();
            int stock = (int)conexion.scalarQuery(query);

            conexion.Close();
            return(stock);
        }
Пример #5
0
        public void nuevoMovimiento(Producto producto, Empleado auditor, byte codigoSucursal, decimal cantidad)
        {
            ClaseSQL conexion = ClaseSQL.getInstance();
            String   query    = "INSERT INTO " + ClaseSQL.tableName("MovimientosStock") + " (Producto, Auditor, Sucursal, Cantidad, Fecha) " +
                                " VALUES (" + producto.codigo + ", " + auditor.dni + ", " + codigoSucursal + ", " + cantidad + ", @Date)";
            SqlCommand command = new SqlCommand(query);

            command.Parameters.AddWithValue("@Date", DateTime.Now);
            conexion.Open();
            conexion.nonQuery(command);
            conexion.Close();
        }
Пример #6
0
        public void inhabilitar(int codigo)
        {
            String query = "UPDATE " + ClaseSQL.tableName("Productos") + " SET Habilitado = 0 WHERE" +
                           " Codigo = " + codigo;
            ClaseSQL conexion = ClaseSQL.getInstance();

            conexion.Open();
            if (conexion.nonQuery(query) != 0)
            {
                System.Windows.Forms.MessageBox.Show("Baja Correcta");
            }
            conexion.Close();
        }
Пример #7
0
        private String generateQuery()
        {
            String query = "SELECT DNI, Nombre, Apellido, Mail, Telefono, Direccion, Provincia, Tipo, Sucursal, Habilitado" +
                           " FROM " + ClaseSQL.tableName("Empleados");

            String where = "";

            if (!buscarDeshabilitados)
            {
                where += " AND Habilitado = 1";
            }

            if (tBusqDNI.Text.Length > 0)
            {
                where += " AND DNI = '" + tBusqDNI.Text + "'";
            }

            if (tBusqNombre.Text.Length > 0)
            {
                where += " AND Nombre LIKE '%" + tBusqNombre.Text + "%'";
            }

            if (tBusqApellido.Text.Length > 0)
            {
                where += " AND Apellido LIKE '%" + tBusqApellido.Text + "%'";
            }

            if (cBusqProvincia.SelectedItem != null && cBusqProvincia.SelectedItem.ToString() != "")
            {
                where += " AND Provincia = " + cBusqProvincia.SelectedIndex;
            }

            if (cBusqSucursal.SelectedItem != null && cBusqSucursal.SelectedItem.ToString() != "")
            {
                where += " AND Sucursal = " + cBusqSucursal.SelectedIndex;
            }

            if (cBusqTipo.SelectedItem != null && (cBusqTipo.SelectedItem.ToString() != ""))
            {
                where += " AND Tipo = " + cBusqTipo.SelectedIndex;
            }


            if (where.Length > 0)
            {
                where  = where.Substring(5);
                query += " WHERE " + where;
            }

            return(query);
        }
Пример #8
0
        public Categoria categoria(int codigo)
        {
            String   query    = "SELECT Codigo, Nombre, Padre FROM " + ClaseSQL.tableName("Categorias") + " WHERE Codigo = " + codigo;
            ClaseSQL conexion = ClaseSQL.getInstance();

            conexion.Open();
            SqlDataReader reader = conexion.busquedaSQLDataReader(query);

            if (!reader.HasRows)
            {
                throw new Exception("No existe categoria con codigo " + codigo);
            }
            reader.Read();
            Categoria categoria = new Categoria((int)reader["Codigo"], (String)reader["Nombre"], (int)reader["Padre"]);

            conexion.Close();
            return(categoria);
        }
Пример #9
0
        private void productoDelAnio(ClaseSQL conexion)
        {
            String query = "SELECT TOP 1 Producto FROM " + ClaseSQL.tableName("ProductosPorAnio") + " WHERE Sucursal = " + ((Provincia)cSucursal.SelectedItem).codigo +
                           " AND Anio = " + cAnio.Value + " ORDER BY Vendidos DESC";
            Object idObject = conexion.scalarQuery(query);

            if (idObject != null)
            {
                conexion.Close();
                Producto  productoDelAnio  = Productos.getInstance().producto(int.Parse(idObject.ToString()));
                Categoria categoriaDelAnio = Categorias.getInstance().categoria(productoDelAnio.categoria);
                conexion.Open();
                tProductoDelAnio.Text = productoDelAnio.codigo + " - " + productoDelAnio.nombre + " (" + categoriaDelAnio.nombre + " - " + categoriaDelAnio.codigo + ")";
            }
            else
            {
                tVendedorDelAnio.Text = "No se efectuaron ventas";
            }
        }
Пример #10
0
        public Dictionary <int, Rol> roles()
        {
            Dictionary <int, Rol> roles = new Dictionary <int, Rol>();
            String   query    = "SELECT Codigo, Nombre, Habilitado FROM " + ClaseSQL.tableName("Roles");
            ClaseSQL conexion = ClaseSQL.getInstance();

            conexion.Open();
            SqlDataReader reader = conexion.busquedaSQLDataReader(query);

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    roles[reader.GetInt32(0)] = new Rol(reader.GetInt32(0), reader.GetString(1), reader.GetByte(2) > 0);
                }
            }
            conexion.Close();
            return(roles);
        }
Пример #11
0
 public void actualizar(string codigo, string nombre, string descripcion, decimal precio, int marca, bool habilitado)
 {
     try
     {
         String query = "UPDATE " + ClaseSQL.tableName("Productos") + " SET Nombre = '" + nombre + "', Descripcion = '" +
                        descripcion + "', Precio = " + precio.ToString() + ", Marca = " + marca + ", Habilitado = " + (habilitado ? 1 : 0) +
                        " WHERE Codigo = " + codigo;
         ClaseSQL conexion = ClaseSQL.getInstance();
         conexion.Open();
         if (conexion.nonQuery(query) != 0)
         {
             System.Windows.Forms.MessageBox.Show("Modificacion Correcta");
         }
         conexion.Close();
     }
     catch (Exception exception)
     {
         throw new Exception("No se pudo modificar el Producto con codigo " + codigo + ":\n\n" + exception.Message);
     }
 }
Пример #12
0
        private void mayorDeudor(ClaseSQL conexion)
        {
            String query = "SELECT TOP 1 Cliente FROM " + ClaseSQL.tableName("DeudasPorAnio") + " WHERE Sucursal = " + ((Provincia)cSucursal.SelectedItem).codigo +
                           " AND Anio = " + cAnio.Value + " ORDER BY DeudaTotal DESC";
            Object idObject = conexion.scalarQuery(query);

            if (idObject != null)
            {
                Decimal idCliente = (Decimal)idObject;
                query = "SELECT Apellido, Nombre, DNI FROM " + ClaseSQL.tableName("Clientes") + " WHERE DNI = " + idCliente;
                SqlDataReader reader = conexion.busquedaSQLDataReader(query);
                reader.Read();
                tMayorDeudor.Text = ((String)reader[0]).ToUpper() + ", " + (String)reader[1] + " (DNI " + (decimal)reader[2] + ")";
                reader.Close();
            }
            else
            {
                tMayorDeudor.Text = "Ninguno";
            }
        }
Пример #13
0
        public Rol rol(int codigo)
        {
            String query = "SELECT Codigo, Nombre, Habilitado FROM " + ClaseSQL.tableName("Roles") +
                           " WHERE Codigo = " + codigo;

            ClaseSQL conexion = ClaseSQL.getInstance();

            conexion.Open();
            SqlDataReader reader = conexion.busquedaSQLDataReader(query);

            if (!reader.HasRows)
            {
                throw new Exception("No se encontro ningun rol con codigo " + codigo);
            }
            reader.Read();
            Rol rol = new Rol(reader.GetInt32(0), reader.GetString(1), reader.GetBoolean(2));

            conexion.Close();
            return(rol);
        }
Пример #14
0
        private void vendedorDelAnio(ClaseSQL conexion)
        {
            String query = "SELECT TOP 1 Vendedor FROM " + ClaseSQL.tableName("VendedoresPorAnio") + " WHERE Sucursal = " + ((Provincia)cSucursal.SelectedItem).codigo +
                           " AND Anio = " + cAnio.Value + " ORDER BY VentaTotal DESC";
            Object idObject = conexion.scalarQuery(query);

            if (idObject != null)
            {
                Decimal idVendedor = (Decimal)idObject;
                query = "SELECT Apellido, Nombre, DNI FROM " + ClaseSQL.tableName("Empleados") + " WHERE DNI = " + idVendedor;
                SqlDataReader reader = conexion.busquedaSQLDataReader(query);
                reader.Read();
                tVendedorDelAnio.Text = ((String)reader[0]).ToUpper() + ", " + (String)reader[1] + " (DNI " + (decimal)reader[2] + ")";
                reader.Close();
            }
            else
            {
                tVendedorDelAnio.Text = "No se efectuaron ventas";
            }
        }
Пример #15
0
 public void insertar(string codigo, string nombre, string descripcion, decimal precio, int marca, String categoria, bool habilitado)
 {
     try
     {
         String query = "INSERT INTO " + ClaseSQL.tableName("Productos") + " (Nombre, Descripcion, Precio, Marca," +
                        " Categoria, Habilitado) VALUES ('" + nombre + "', '" + descripcion + "', " + precio + ", " + marca +
                        ", " + categoria + ", " + (habilitado ? 1 : 0) + ")";
         ClaseSQL conexion = ClaseSQL.getInstance();
         conexion.Open();
         if (conexion.nonQuery(query) != 0)
         {
             System.Windows.Forms.MessageBox.Show("Alta Correcta");
         }
         conexion.Close();
     }
     catch (Exception exception)
     {
         throw new Exception("No se pudo dar de alta el Producto con codigo " + codigo + ":\n\n" + exception.Message);
     }
 }
Пример #16
0
 protected override String listQuery()
 {
     return("SELECT Provincia, Tipo, Direccion, Telefono FROM " + ClaseSQL.tableName("Sucursales"));
 }
Пример #17
0
        private DataTable table()
        {
            String query = "SELECT Codigo, Nombre, Padre FROM " + ClaseSQL.tableName("Categorias");

            return(ClaseSQL.getInstance().selectDataTable(query));
        }
Пример #18
0
 private String fromFacturas()
 {
     return(" FROM " + ClaseSQL.tableName("FacturasCompletas") + " WHERE Sucursal = " + ((Provincia)cSucursal.SelectedItem).codigo + " AND YEAR(Fecha) = " + cAnio.Value);
 }
Пример #19
0
 protected override String listQuery()
 {
     return("SELECT Codigo, Descripcion FROM " + ClaseSQL.tableName("Funcionalidades"));
 }
Пример #20
0
        public Producto producto(int codigo)
        {
            String query = "SELECT Codigo, Nombre, Descripcion, Categoria, Precio, Habilitado, Marca FROM " + ClaseSQL.tableName("Productos") +
                           " WHERE Codigo = " + codigo;

            ClaseSQL conexion = ClaseSQL.getInstance();

            conexion.Open();
            SqlDataReader reader = conexion.busquedaSQLDataReader(query);

            if (!reader.HasRows)
            {
                throw new Exception("No se encontro ningun producto con codigo " + codigo);
            }
            reader.Read();
            Producto producto = new Producto();

            producto.codigo      = reader.GetInt32(0);
            producto.nombre      = reader.GetString(1);
            producto.descripcion = reader.GetString(2);
            producto.categoria   = reader.GetInt32(3);
            producto.precio      = reader.GetDouble(4);
            producto.habilitado  = reader.GetByte(5) > 0;
            producto.marca       = reader.GetInt32(6);
            conexion.Close();
            return(producto);
        }
Пример #21
0
        public DataTable table(String codigo, String nombre, String marca, String categoria, decimal precioMinimo, decimal precioMaximo, Boolean buscarDeshabilitados)
        {
            String query = "SELECT Codigo, Nombre, Descripcion, CodigoCategoria, Categoria, Precio, CodigoMarca, Marca, Habilitado FROM " + ClaseSQL.tableName("ProductosCompletos");

            String where = "";

            if (codigo.Length > 0)
            {
                where += " AND Codigo = " + codigo;
            }

            if (nombre.Length > 0)
            {
                where += " AND Nombre LIKE '%" + nombre + "%'";
            }

            if (marca.Length > 0)
            {
                where += " AND CodigoMarca = " + marca;
            }

            if (categoria.Length > 0)
            {
                where += " AND CodigoCategoria = " + categoria;
            }

            if (precioMinimo > 0)
            {
                where += " AND Precio >= " + precioMinimo;
            }

            if (precioMaximo > 0)
            {
                where += " AND Precio <= " + precioMaximo;
            }

            if (!buscarDeshabilitados)
            {
                where += " AND Habilitado = 1";
            }

            if (where.Length > 0)
            {
                query += " WHERE " + where.Substring(5);
            }

            ClaseSQL conexion = ClaseSQL.getInstance();

            return(conexion.selectDataTable(query));
        }
Пример #22
0
 protected override String listQuery()
 {
     return("SELECT Codigo, Nombre FROM " + ClaseSQL.tableName("Marcas"));
 }
Пример #23
0
 protected override String listQuery()
 {
     return("SELECT Codigo, Descripcion FROM " + ClaseSQL.tableName("TiposEmpleado"));
 }
Пример #24
0
        private void bAgregar_Click(object sender, EventArgs e)
        {
            if (cRoles.Text != "")
            {
                conexion.Open();
                if (cRoles.SelectedIndex < 0)
                {
                    string query = "insert into mayusculas_sin_espacios.roles(nombre,habilitado) values ('" + cRoles.Text + "'," + (cHabilitado.Checked ? 1 : 0) + ")";
                    if (conexion.nonQuery(query) < 1)
                    {
                        MessageBox.Show("No se pudo agregar el rol con nombre " + cRoles.Text, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        conexion.Close();
                        return;
                    }
                    conexion.Close();
                    this.rellenarComboBoxRoles();
                    foreach (Rol rol in cRoles.Items)
                    {
                        if (rol.nombre.Equals(cRoles.Text))
                        {
                            cRoles.SelectedItem = rol;
                            break;
                        }
                    }
                    conexion.Open();
                }
                else if (cHabilitado.Checked != ((Rol)cRoles.SelectedItem).habilitado)
                {
                    String query = "UPDATE " + ClaseSQL.tableName("Roles") + " SET Habilitado = " + (cHabilitado.Checked ? 1 : 0) + " WHERE Codigo = " + ((Rol)cRoles.SelectedItem).codigo;
                    if (conexion.nonQuery(query) < 1)
                    {
                        MessageBox.Show("No se pudo cambiar la habilitacion del rol " + cRoles.Text, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        conexion.Close();
                        return;
                    }
                    conexion.Close();
                    this.rellenarComboBoxRoles();
                    conexion.Open();
                }

                if (cFunciones.SelectedIndex > 0) // el indice 0 esta vacio
                {
                    if (lFunciones.FindItemWithText(cFunciones.Text) != null)
                    { //ya tiene asignada esa funcionalidad
                        MessageBox.Show("El rol " + cRoles.Text + " ya tiene asignada la funcionalidad " + cFunciones.Text, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        conexion.Close();
                        return;
                    }
                    string query = "insert into mayusculas_sin_espacios.funcionalidadesRol(rol,funcionalidad) values (" + ((Rol)cRoles.SelectedItem).codigo + "," + ((Funcionalidad)cFunciones.Items[cFunciones.SelectedIndex]).codigo + ")";
                    if (conexion.nonQuery(query) == 0)
                    {
                        MessageBox.Show("No se pudo asignar la funcionalidad " + cFunciones.Text + " al rol " + cRoles.Text + ".", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        conexion.Close();
                        return;
                    }
                    rellenarListFunciones();
                }

                conexion.Close();
            }
            else
            {
                MessageBox.Show("El campo Nombre es Obligatorio");
            }
        }