Exemple #1
0
        private void Main_Load(object sender, EventArgs e)
        {
            this.funcionalidades.Items.Clear();
            this.sesion = (Session)AppContext.getObject(typeof(Session));

            bienvenida.Text = "Bienvenido: " + sesion.username;

            SQLResponse r = dbManager.executeQuery("SELECT f.id_funcionalidad,descripcion FROM GESTION_DE_PATOS.Funcionalidades f,GESTION_DE_PATOS.Funcion_por_rol fpr WHERE f.id_funcionalidad = fpr.id_funcionalidad AND fpr.nombre_rol =\'" + sesion.rol + "\'");

            foreach (DataRow row in r.result.Rows)
            {
                this.funcionalidades.Items.Add(row[1]);
            }

            this.funcionalidades.SelectedIndex = 0;

            if (!sesion.rol.Equals("Administrador General"))
            {
                //esto es para que cualquier rol que no sea administrador pueda cambiar la
                //pass y darse de baja. Para los administradores, esta funcionalidad se realiza
                //en los ABM correspondientes

                cambiarPass.Visible = true;
                DarDeBaja.Visible   = true;
            }
            else
            {
                this.funcionalidades.Items.Add("ABM Administrador");
            }

            this.actualizarSaldo();
            Fecha.Text = ((String)AppContext.getObject(typeof(String)));
            AppContext.setObject(typeof(Main), this);
        }
        private void ModificacionRol_Load(object sender, EventArgs e)
        {
            SqlCommand query = new SqlCommand("SELECT * FROM GESTION_DE_PATOS.FuncionalidadesDelRol(@rol)");

            query.Parameters.AddWithValue("rol", this.nombre);
            SQLResponse respuesta = manager.executeQuery(query);

            String funcionalidad = "";

            foreach (DataRow r in respuesta.result.Rows)
            {
                funcionalidad = r[0].ToString() + ": " + r[1].ToString();
                ListaFuncionalidades.Items.Add(funcionalidad, (r[2].ToString() == "1") ? true : false);
            }

            respuesta = manager.executeQuery("SELECT id_estado, nombre_estado, " +
                                             "(SELECT 1 FROM GESTION_DE_PATOS.Roles roles WHERE roles.estado = e.id_estado AND " +
                                             " roles.nombre = '" + this.nombre + "') FROM GESTION_DE_PATOS.Estados e");
            foreach (DataRow r in respuesta.result.Rows)
            {
                this.Estado.Items.Add(r[0] + ": " + r[1]);
                if (r[2].ToString() == "1")
                {
                    Estado.SelectedIndex = this.Estado.Items.Count - 1;
                }
            }

            this.NombreRol.Text = this.nombre;
        }
Exemple #3
0
        private void Listar_Click(object sender, EventArgs e)
        {
            if (FechaDesde.Text == "" || FechaHasta.Text == "")
            {
                MessageBox.Show("Faltan datos");
                return;
            }

            if (esMenor(FechaDesde.Text, FechaHasta.Text) > 0)
            {
                MessageBox.Show("La fecha desde no puede ser posterior a la fecha hasta");
                return;
            }

            DBManager   dbManager = (DBManager)AppContext.getObject(typeof(DBManager));
            Session     s         = (Session)AppContext.getObject(typeof(Session));
            String      cliente   = s.username;
            SQLResponse r         = dbManager.executeQuery("SELECT v.id_cupon, c.id_promocion, v.promocion, v.fecha_compra,isnull(convert(varchar,can.fecha_canje,103),'-') fecha_canje, isnull(convert(varchar,d.fecha_devolucion,103),'-') fecha_devolucion, v.estado FROM GESTION_DE_PATOS.viewcupones v join GESTION_DE_PATOS.Cupones c on c.id_cupon = v.id_cupon left join GESTION_DE_PATOS.Canjes can on can.id_cupon = v.id_cupon left join GESTION_DE_PATOS.Devoluciones d on d.id_cupon = v.id_cupon WHERE v.cliente = '" + cliente + "' AND v.fecha_compra between " + "\'" + this.FechaDesde.Text + "\'" + " and " + "\'" + this.FechaHasta.Text + "\' ORDER BY 4");

            this.SetDataGridView(r.result);
            this.Cupones.Columns[2].Width = 250;
            if (r.result.Rows.Count == 0)
            {
                MessageBox.Show("No hay cupones en su historial en esas fechas", "Historial cupones");
            }
        }
        private void RegistroUsuario_Load(object sender, EventArgs e)
        {
            DBManager manager = (DBManager)AppContext.getObject(typeof(DBManager));

            try
            {
                SQLResponse response = manager.executeQuery("SELECT localidad from GESTION_DE_PATOS.Localidades");

                foreach (DataRow r in response.result.Rows)
                {
                    ListaZonas.Items.Add(r[0]);
                    ciudadP.Items.Add(r[0]);
                    ciudadCliente.Items.Add(r[0]);
                }

                response = manager.executeQuery("SELECT descripcion from GESTION_DE_PATOS.Rubros");
                foreach (DataRow r in response.result.Rows)
                {
                    RubroP.Items.Add(r[0]);
                }
                RubroP.Items.Add("Otro");
            }
            catch (Exception)
            {
            }
        }
Exemple #5
0
        private void setDataGridView()
        {
            String proveedor   = Proveedores.SelectedItem.ToString();
            String fechaActual = (String)AppContext.getObject(typeof(String));

            if (proveedor == "")
            {
                this.cupones.Columns.Clear();
                //todos los proveedores

                r = dbManager.executeQuery("select  id_promocion, p.cuit, descripcion from GESTION_DE_PATOS.Promociones pm JOIN GESTION_DE_PATOS.Proveedores p ON pm.proveedor = p.username where GESTION_DE_PATOS.NombreEstadoPromocion(estado) = 'A publicar' and fecha_vencimiento_oferta >= '" + fechaActual + "' and fecha_publicacion = '" + fechaActual + "'");
                cupones.DataSource       = r.result;
                cupones.Columns[2].Width = 300;
            }
            else
            {
                //un proveedor en particular
                this.cupones.Columns.Clear();

                r = dbManager.executeQuery("select  id_promocion, p.cuit, descripcion from GESTION_DE_PATOS.Promociones pm JOIN GESTION_DE_PATOS.Proveedores p ON pm.proveedor = p.username where GESTION_DE_PATOS.NombreEstadoPromocion(estado) = 'A publicar' and p.cuit = '" + proveedor + "'" + "and fecha_vencimiento_oferta >= '" + fechaActual + "' and fecha_publicacion <= '" + fechaActual + "'");
                cupones.DataSource       = r.result;
                cupones.Columns[2].Width = 300;
            }


            DataGridViewButtonColumn boton = new DataGridViewButtonColumn();

            boton.HeaderText = "Publicar";
            boton.Name       = "Publicar";
            cupones.Columns.Add(boton);

            this.cupones.Columns["Publicar"].ReadOnly = false;
        }
Exemple #6
0
        private void Datos_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            // Si el índice es 3, quiere borrar el registro.
            if (e.ColumnIndex == 3)
            {
                DialogResult ret = MessageBox.Show(null, "Desea borrar el Rol?", "Confirmación", MessageBoxButtons.OKCancel);
                if (ret.Equals(DialogResult.Cancel))
                {
                    return;
                }

                SQLResponse resp = m.executeQuery("select id_estado from GESTION_DE_PATOS.Estados where nombre_estado = 'Eliminado'");


                DataGridViewCellCollection celdas = this.Datos.Rows[e.RowIndex].Cells;
                ParamSet builder = new ParamSet("GESTION_DE_PATOS.EstablecerEstadoDelRol");
                builder.AddParameter("nombre_rol", celdas[0].Value.ToString());
                builder.AddParameter("estado", resp.result.Rows[0][0]);
                builder.executeNoReturn();
                MessageBox.Show("Baja de rol exitosa", "Baja rol");
                Datos.DataSource = m.executeQuery("SELECT * from GESTION_DE_PATOS.viewroles").result;
            }
            // Índice 2 es modificar columna.
            else if (e.ColumnIndex == 2)
            {
                new ModificacionRol(this.Datos.Rows[e.RowIndex].Cells[0].Value.ToString()).ShowDialog();
                Datos.DataSource = m.executeQuery("SELECT * from GESTION_DE_PATOS.viewroles").result;
            }
        }
Exemple #7
0
        private object montoFactura()
        {
            object monto = null;

            r     = dbManager.executeQuery("SELECT SUM(g.precio_real) FROM GESTION_DE_PATOS.Cupones c, GESTION_DE_PATOS.Promociones g, GESTION_DE_PATOS.Proveedores p,GESTION_DE_PATOS.Canjes ca WHERE c.id_cupon = ca.id_cupon AND c.id_promocion = g.id_promocion AND g.proveedor = p.username AND p.cuit = \'" + this.proveedores.SelectedItem.ToString() + "\' AND ca.fecha_canje between " + "\'" + this.FechaDesde.Text + "\'" + " and " + "\'" + this.FechaHasta.Text + "\' and c.id_cupon not in (select id_cupon from GESTION_DE_PATOS.Cupones_por_factura)");
            monto = r.result.Rows[0][0];

            return(monto);
        }
Exemple #8
0
        private void ArmarCupon_Load(object sender, EventArgs e)
        {
            DBManager   manager  = (DBManager)AppContext.getObject(typeof(DBManager));
            SQLResponse response = manager.executeQuery("SELECT localidad from GESTION_DE_PATOS.Localidades");

            foreach (DataRow r in response.result.Rows)
            {
                ListaZonas.Items.Add(r[0]);
            }
        }
Exemple #9
0
        private void ComprarGirftcard_Load(object sender, EventArgs e)
        {
            DBManager   db  = (DBManager)AppContext.getObject(typeof(DBManager));
            SQLResponse res = db.executeQuery("select monto from GESTION_DE_PATOS.Montos_Giftcard");

            foreach (DataRow r in res.result.Rows)
            {
                this.monto.Items.Add(r[0].ToString());
            }
        }
Exemple #10
0
        private void Facturar_Click(object sender, EventArgs e)
        {
            if (FechaDesde.Text == "" || FechaHasta.Text == "" || this.proveedores.Text == "")
            {
                MessageBox.Show("Faltan datos");
                return;
            }

            if (this.dataGridCupones.RowCount == 0)
            {
                MessageBox.Show("No hay cupones para facturar para el intervalo de fechas seleccionado");
                return;
            }

            ParamSet ps = new ParamSet("GESTION_DE_PATOS.FacturarProveedor");

            float monto = float.Parse(montoFactura().ToString());

            r = dbManager.executeQuery("SELECT username FROM GESTION_DE_PATOS.Proveedores where cuit = '" + proveedores.SelectedItem.ToString() + "'");
            ps.AddParameter("@proveedor", r.result.Rows[0][0].ToString());
            ps.AddParameter("@fecha_desde", FechaDesde.Text);
            ps.AddParameter("@fecha_hasta", FechaHasta.Text);
            ps.AddParameter("@monto", monto * 0.5);

            SqlParameter retval = ps.execSP();

            String ret = retval.Value.ToString();

            switch (ret)
            {
            case "1": MessageBox.Show("Ya hay cupones facturados para el intervalo ingresado.");
                return;

            default:

                String elMonto = (monto * 0.5).ToString();
                if (elMonto.Contains(","))
                {
                    int decimales = elMonto.Substring(elMonto.IndexOf(","), elMonto.Length - elMonto.IndexOf(",")).Length;
                    if (decimales < 3)
                    {
                        elMonto = elMonto.Substring(0, elMonto.IndexOf(",") + decimales);
                    }
                    else
                    {
                        elMonto = elMonto.Substring(0, elMonto.IndexOf(",") + 3);
                    }
                }
                MessageBox.Show("Facturación finalizada con éxito. \n Nro de factura: " + ret + ".\n Monto: $" + elMonto);
                r = dbManager.executeQuery("SELECT c.id_cupon, c.cliente, c.id_promocion, c.fecha_compra, ca.fecha_canje FROM GESTION_DE_PATOS.Cupones c, GESTION_DE_PATOS.Promociones g, GESTION_DE_PATOS.Proveedores p , GESTION_DE_PATOS.Canjes ca WHERE ca.id_cupon = c.id_cupon AND c.id_promocion = g.id_promocion AND g.proveedor = p.username AND p.cuit = \'" + this.proveedores.SelectedItem.ToString() + "\' AND ca.fecha_canje between " + "\'" + this.FechaDesde.Text + "\'" + " and " + "\'" + this.FechaHasta.Text + "\' and not exists (select * from GESTION_DE_PATOS.Cupones_por_factura cpf where cpf.id_cupon = c.id_cupon)");
                this.SetDataGridView(r.result);
                return;
            }
        }
Exemple #11
0
        private void HandleResult(string directory, string jsonData, SQLResponse response)
        {
            dynamic jsonObject = JsonConvert.DeserializeObject(jsonData);

            jsonObject.data[0].testName      = CurrentTest.TestName;
            jsonObject.data[0].executionTime = response.ExecutionTime;
            jsonObject = JsonConvert.SerializeObject(jsonObject);

            //Console.WriteLine("Writing report now...");
            File.WriteAllText(@".\SqlTests\reports\" + directory + "\\" + CurrentTest.TestName + ".json", jsonObject);
        }
Exemple #12
0
        /**
         * Método que debe ser llamado cuando alguna acción requiera que se actualice el
         * saldo del cliente que está usando la aplicación.
         **/
        public void actualizarFuncionalidades()
        {
            SQLResponse r = dbManager.executeQuery("SELECT f.id_funcionalidad,descripcion FROM GESTION_DE_PATOS.Funcionalidades f,GESTION_DE_PATOS.Funcion_por_rol fpr WHERE f.id_funcionalidad = fpr.id_funcionalidad AND fpr.nombre_rol =\'" + sesion.rol + "\'");

            this.funcionalidades.Items.Clear();
            foreach (DataRow row in r.result.Rows)
            {
                this.funcionalidades.Items.Add(row[1]);
            }
            this.funcionalidades.SelectedIndex = 0;
        }
        private void CambiarRol_Load(object sender, EventArgs e)
        {
            SQLResponse re = db.executeQuery("select nombre from GESTION_DE_PATOS.Roles where estado = gestion_de_patos.idEstado('Habilitado')");

            foreach (DataRow r in re.result.Rows)
            {
                Rol.Items.Add(r[0]);
            }
            Session s = (Session)AppContext.getObject(typeof(Session));

            Rol.Items.Remove("Administrador General");
        }
        private void ModificacionCliente_Load(object sender, EventArgs e)
        {
            UsernameCliente.Text = cliente.getDato("usernameDataGridViewTextBoxColumn").ToString();

            NombreCliente.Text   = cliente.getDato("nombreDataGridViewTextBoxColumn").ToString();
            ApellidoCliente.Text = cliente.getDato("apellidoDataGridViewTextBoxColumn").ToString();
            MailCliente.Text     = cliente.getDato("mailDataGridViewTextBoxColumn").ToString();
            DNICliente.Text      = cliente.getDato("dniDataGridViewTextBoxColumn").ToString();

            SQLResponse response = dbManager.executeQuery("SELECT fecha_nacimiento, telefono, direccion, codigo_postal, GESTION_DE_PATOS.localidad(ciudad) FROM GESTION_DE_PATOS.Clientes WHERE username = '******'");

            FchNacimientoCliente.Text = response.result.Rows[0][0].ToString();
            TelefonoCliente.Text      = response.result.Rows[0][1].ToString();
            DireccionC.Text           = response.result.Rows[0][2].ToString();
            CodigoPostal.Text         = response.result.Rows[0][3].ToString();

            SQLResponse ciudades = dbManager.executeQuery("SELECT localidad FROM GESTION_DE_PATOS.Localidades");

            foreach (DataRow row in ciudades.result.Rows)
            {
                this.ciudadCliente.Items.Add(row[0]);
            }

            ciudadCliente.SelectedItem = response.result.Rows[0][4].ToString();

            response = dbManager.executeQuery("SELECT e.nombre_estado FROM GESTION_DE_PATOS.Usuarios u JOIN GESTION_DE_PATOS.Estados e ON u.estado = e.id_estado WHERE u.username = '******'");

            Estado.Items.Add("Habilitado");
            Estado.Items.Add("Deshabilitado");

            String estado_actual = response.result.Rows[0][0].ToString();

            if (!Estado.Items.Contains(estado_actual))
            {
                Estado.Items.Add(estado_actual);
            }

            Estado.SelectedItem = estado_actual;

            response = dbManager.executeQuery("SELECT GESTION_DE_PATOS.localidad(id_localidad) AS 'localidad' FROM GESTION_DE_PATOS.Localidad_por_usuario WHERE username = '******'");

            foreach (DataRow row in ciudades.result.Rows)
            {
                this.ListaZonas.Items.Add(row[0]);
            }

            foreach (DataRow r in response.result.Rows)
            {
                ListaZonas.SetItemChecked(ListaZonas.Items.IndexOf(r[0]), true);
            }
        }
        private void Seleccionar_Click(object sender, EventArgs e)
        {
            String      query = "SELECT c.id_cupon, p.proveedor, c.id_promocion, GESTION_DE_PATOS.promocion(c.id_promocion) AS 'promocion', c.fecha_compra AS 'fecha_compra' FROM GESTION_DE_PATOS.Cupones c LEFT JOIN GESTION_DE_PATOS.Devoluciones d ON c.id_cupon = d.id_cupon LEFT JOIN GESTION_DE_PATOS.Canjes cj ON c.id_cupon = cj.id_cupon JOIN GESTION_DE_PATOS.Promociones p ON p.id_promocion = c.id_promocion WHERE fecha_devolucion is null AND fecha_canje is null AND cliente = '" + sesion.username + "' AND p.fecha_vencimiento_canje >= '" + (String)AppContext.getObject(typeof(String)) + "'";
            SQLResponse r     = dbManager.executeQuery(query);

            if (r.rowsAffected == 0)
            {
                MessageBox.Show("No tiene cupones que pueda devolver", "Pedir devolución");
            }
            else
            {
                Cupones cp = new Cupones(Cupon);
                cp.Show();
            }
        }
Exemple #16
0
        private void FacturacionProveedor_Load(object sender, EventArgs e)
        {
            this.proveedores.Items.Clear();
            Session s = (Session)AppContext.getObject(typeof(Session));

            SQLResponse r = dbManager.executeQuery("SELECT p.CUIT FROM GESTION_DE_PATOS.Proveedores p JOIN GESTION_DE_PATOS.Usuarios u on p.username = u.username and u.rol = 'Proveedor'");

            foreach (DataRow row in r.result.Rows)
            {
                this.proveedores.Items.Add(row[0]);
            }
            this.proveedores.SelectedIndex = 0;

            this.dataGridCupones.AllowUserToAddRows = false;
        }
Exemple #17
0
        private void ModificacionProveedor_Load(object sender, EventArgs e)
        {
            UsernameP.Text = proveedor.getDato("usernameDataGridViewTextBoxColumn").ToString();
            CUIT.Text      = proveedor.getDato("cuitDataGridViewTextBoxColumn").ToString();

            SQLResponse response = dbManager.executeQuery("SELECT telefono, GESTION_DE_PATOS.localidad(ciudad) AS 'ciudad', direccion, codigo_postal FROM GESTION_DE_PATOS.Proveedores WHERE username = '******' AND cuit = '" + CUIT.Text + "'");

            RazonSocial.Text    = proveedor.getDato("razonsocialDataGridViewTextBoxColumn").ToString();
            MailP.Text          = proveedor.getDato("mailDataGridViewTextBoxColumn").ToString();
            TelefonoP.Text      = response.result.Rows[0][0].ToString();
            NombreContacto.Text = proveedor.getDato("nombrecontactoDataGridViewTextBoxColumn").ToString();
            Direccion.Text      = response.result.Rows[0][2].ToString();
            CodigoPostalP.Text  = response.result.Rows[0][3].ToString();

            SQLResponse rubros = dbManager.executeQuery("SELECT descripcion FROM GESTION_DE_PATOS.Rubros");

            foreach (DataRow row in rubros.result.Rows)
            {
                this.RubroP.Items.Add(row[0]);
            }

            RubroP.SelectedItem = proveedor.getDato("rubroDataGridViewTextBoxColumn").ToString();

            SQLResponse ciudades = dbManager.executeQuery("SELECT localidad FROM GESTION_DE_PATOS.Localidades");

            foreach (DataRow row in ciudades.result.Rows)
            {
                this.ciudadP.Items.Add(row[0]);
            }

            ciudadP.SelectedItem = response.result.Rows[0][1].ToString();

            response = dbManager.executeQuery("SELECT e.nombre_estado FROM GESTION_DE_PATOS.Usuarios u JOIN GESTION_DE_PATOS.Estados e ON u.estado = e.id_estado WHERE u.username = '******'");

            Estado.Items.Add("Habilitado");
            Estado.Items.Add("Deshabilitado");

            String estado_actual = response.result.Rows[0][0].ToString();

            if (!Estado.Items.Contains(estado_actual))
            {
                Estado.Items.Add(estado_actual);
            }

            Estado.SelectedItem = estado_actual;

            response = dbManager.executeQuery("SELECT nombre FROM GESTION_DE_PATOS.Roles");
        }
        private void AltaRol_Load(object sender, EventArgs e)
        {
            DBManager manager = (DBManager)AppContext.getObject(typeof(DBManager));

            try
            {
                SQLResponse response = manager.executeQuery("SELECT id_funcionalidad, descripcion from GESTION_DE_PATOS.Funcionalidades");

                foreach (DataRow r in response.result.Rows)
                {
                    ListaFuncionalidades.Items.Add(r[0] + ": " + r[1]);
                }
            }
            catch (Exception)
            {
            }
        }
        private void GridCupones_Load(object sender, EventArgs e)
        {
            this.dataGridCupones.ReadOnly = true;
            DBManager   db     = (DBManager)AppContext.getObject(typeof(DBManager));
            SQLResponse result = db.executeQuery("select c.id_cupon, c.id_promocion, p.descripcion from GESTION_DE_PATOS.Cupones c  join GESTION_DE_PATOS.Promociones p on p.id_promocion = c.id_promocion where cliente = '" + this.username + "' and p.proveedor = '" + s.username + "' and not exists (select * from GESTION_DE_PATOS.Canjes ca where ca.id_cupon = c.id_cupon) and not exists (select * from GESTION_DE_PATOS.Devoluciones d where d.id_cupon = c.id_cupon)");

            this.dataGridCupones.DataSource = result.result;

            DataGridViewButtonColumn seleccionar = new DataGridViewButtonColumn();

            seleccionar.Name       = "Seleccionar";
            seleccionar.HeaderText = "Seleccionar";
            this.dataGridCupones.Columns.Add(seleccionar);

            this.dataGridCupones.ReadOnly = true;
            this.dataGridCupones.Columns["Seleccionar"].ReadOnly = false;
            this.dataGridCupones.AllowUserToAddRows = false;
        }
        private void AltaProveedor_Load(object sender, EventArgs e)
        {
            DBManager manager = (DBManager)AppContext.getObject(typeof(DBManager));

            SQLResponse response = manager.executeQuery("SELECT localidad from GESTION_DE_PATOS.Localidades");

            foreach (DataRow r in response.result.Rows)
            {
                ciudadP.Items.Add(r[0]);
            }

            response = manager.executeQuery("SELECT descripcion from GESTION_DE_PATOS.Rubros");
            foreach (DataRow r in response.result.Rows)
            {
                RubroP.Items.Add(r[0]);
            }
            RubroP.Items.Add("Otro");
        }
Exemple #21
0
        private void PublicarCupon_Load(object sender, EventArgs e)
        {
            this.fecha.Text += " " + ((String)AppContext.getObject(typeof(String)));

            this.Proveedores.Items.Clear();
            this.Proveedores.Items.Add("");


            r = dbManager.executeQuery("SELECT p.cuit FROM GESTION_DE_PATOS.Proveedores p JOIN GESTION_DE_PATOS.Usuarios u on p.username = u.username and u.rol = 'Proveedor'");
            foreach (DataRow row in r.result.Rows)
            {
                this.Proveedores.Items.Add(row[0]);
            }
            this.Proveedores.SelectedIndex = 0;

            this.cupones.ReadOnly = true;

            this.cupones.AllowUserToAddRows = false;
        }
    void SQLProcessingThread()
    {
        while (true)
        {
            if (sqlConnection == null)
            {
                OpenConnection();
            }

            if (sqlConnection.State == ConnectionState.Broken ||
                sqlConnection.State == ConnectionState.Closed)
            {
                OpenConnection();
                Thread.Sleep(50);
                continue;
            }

            if (sqlConnection.State == ConnectionState.Connecting ||
                sqlConnection.State == ConnectionState.Executing ||
                sqlConnection.State == ConnectionState.Fetching)
            {
                Thread.Sleep(50);
                continue;
            }

            if (requestQueue.Count == 0)
            {
                Thread.Sleep(50);
                continue;
            }

            SQLResponse response = null;
            lock (requestQueue)
                response = MakeQuery(requestQueue.Dequeue());


            lock (responseQueue)
                responseQueue.Enqueue(response);

            Thread.Sleep(50);
        }
    }
Exemple #23
0
        public void actualizarSaldo()
        {
            if (this.Saldo.Visible)
            {
                DBManager dbManager = (DBManager)AppContext.getObject(typeof(DBManager));

                SQLResponse r = dbManager.executeQuery(
                    "SELECT c.saldo FROM GESTION_DE_PATOS.Clientes c WHERE c.username = \'" + this.sesion.username + "\'");

                if (r.rowsAffected == 0)
                {
                    this.Saldo.Visible      = false;
                    this.LabelSaldo.Visible = false;
                }
                else
                {
                    this.Saldo.Text = "$ " + r.result.Rows[0][0];
                }
            }
        }
Exemple #24
0
        private void CompraCupon_Load(object sender, EventArgs e)
        {
            String query = "select distinct gc.id_promocion Promoción, gc.descripcion Descripción, gc.precio_real Precio, gc.fecha_vencimiento_oferta 'Vencimiento Oferta', gc.fecha_vencimiento_canje 'Vencimiento Canje', pr.CUIT Proveedor from GESTION_DE_PATOS.Promociones gc join GESTION_DE_PATOS.Localidad_por_promocion lpg on lpg.id_promocion = gc.id_promocion join GESTION_DE_PATOS.Localidad_por_usuario lpu on lpu.id_localidad = lpg.id_localidad join GESTION_DE_PATOS.Proveedores pr on pr.username = gc.proveedor where GESTION_DE_PATOS.NombreEstadoPromocion(gc.estado) = 'Publicado' and lpu.username = '******' and gc.fecha_vencimiento_oferta >= '" + (String)AppContext.getObject(typeof(String)) + "'";

            r = dbManager.executeQuery(query);

            this.cuponesDisponibles.DataSource = r.result;

            this.cuponesDisponibles.ReadOnly = true;
            this.cuponesDisponibles.Columns["Vencimiento Oferta"].Width = 120;
            this.cuponesDisponibles.Columns["Vencimiento Canje"].Width  = 120;


            DataGridViewButtonColumn comprar = new DataGridViewButtonColumn();

            comprar.Name       = "comprar";
            comprar.HeaderText = "Comprar";
            this.cuponesDisponibles.Columns.Add(comprar);
            this.cuponesDisponibles.Columns["comprar"].ReadOnly = false;

            this.cuponesDisponibles.AllowUserToAddRows = false;
        }
    private void Update()
    {
        lock (responseQueue)
        {
            while (responseQueue.Count != 0)
            {
                SQLResponse response = responseQueue.Dequeue();
                if (response == null)
                {
                    continue;
                }

                response.callback?.Invoke(response.result);
                //处理完一定要关闭掉,一个Connection只能给一个Result
                if (response.result != null)
                {
                    response.result.Close();
                    response.result.Dispose();
                }
            }
        }
    }
Exemple #26
0
        private void Listar_Click(object sender, EventArgs e)
        {
            if (FechaDesde.Text == "" || FechaHasta.Text == "")
            {
                MessageBox.Show("Faltan datos");
                return;
            }

            if (esMenor(FechaDesde.Text, FechaHasta.Text) > 0)
            {
                MessageBox.Show("La fecha desde no puede ser posterior a la fecha hasta");
                return;
            }

            if (esMenor(FechaHasta.Text, (String)AppContext.getObject(typeof(String))) > 0)
            {
                MessageBox.Show("La fecha hasta de la facturación no puede superar la fecha actual");
                return;
            }
            SQLResponse r;

            r = dbManager.executeQuery("SELECT c.id_cupon, c.cliente, c.id_promocion, c.fecha_compra, ca.fecha_canje FROM GESTION_DE_PATOS.Cupones c, GESTION_DE_PATOS.Promociones g, GESTION_DE_PATOS.Proveedores p , GESTION_DE_PATOS.Canjes ca WHERE ca.id_cupon = c.id_cupon AND c.id_promocion = g.id_promocion AND g.proveedor = p.username AND p.cuit = \'" + this.proveedores.SelectedItem.ToString() + "\' AND ca.fecha_canje between " + "\'" + this.FechaDesde.Text + "\'" + " and " + "\'" + this.FechaHasta.Text + "\' and not exists (select * from GESTION_DE_PATOS.Cupones_por_factura cpf where cpf.id_cupon = c.id_cupon)");
            this.SetDataGridView(r.result);
        }
Exemple #27
0
        public void RunNextTest(string directory)
        {
            CurrentTest = TestQueue.Dequeue();
            NetworkStream stream = clientSocket.GetStream();

            Console.WriteLine("Running " + CurrentTest.TestName + " ...");
            SocketUtil.SendMessage(stream, "start;" + CurrentTest.TestName);
            SQLResponse response = RunQuerySync(CurrentTest.Query);

            if (response == null)
            {
                Console.WriteLine("Test " + CurrentTest.TestName + " failed :(");
                SocketUtil.SendMessage(stream, "reset;failed");
            }
            else
            {
                Console.WriteLine("Test " + CurrentTest.TestName + " Passed! Execution Time: " + response.ExecutionTime + " ms");

                SocketUtil.SendMessage(stream, "reset");

                string jsonData = GetOrderedResult(stream);
                HandleResult(directory, jsonData, response);
            }
        }
Exemple #28
0
        private void Buscar_Click(object sender, EventArgs e)
        {
            this.dataGridClientes.Enabled = true;
            if (Nombre.Text == "" && Apellido.Text == "" && DNI.Text == "")
            {
                //todos los clientes que tuvieron actividad con el proveedor logueado
                SQLResponse r = db.executeQuery("select distinct c.username, c.nombre, c.apellido, c.dni from GESTION_DE_PATOS.Clientes c join GESTION_DE_PATOS.Cupones cu on cu.cliente = c.username join GESTION_DE_PATOS.Promociones p on p.id_promocion = cu.id_promocion and p.proveedor = '" + s.username + "'");
                this.dataGridClientes.DataSource = r.result;
                this.dataGridClientes.ReadOnly   = true;
            }

            else
            {
                //Clausula WHERE para filtrar la búsqueda
                String where = "WHERE";
                bool es_primero = true;

                if (validarTextBox(Nombre))
                {
                    where      = where + " nombre like '%" + Nombre.Text.ToString() + "%'";
                    es_primero = false;
                }

                if (validarTextBox(Apellido))
                {
                    if (es_primero)
                    {
                        where      = where + " apellido like '%" + Apellido.Text.ToString() + "%'";
                        es_primero = false;
                    }
                    else
                    {
                        where = where + " AND apellido like '%" + Apellido.Text.ToString() + "%'";
                    }
                }

                if (validarTextBox(DNI))
                {
                    if (es_primero)
                    {
                        where      = where + " dni = '" + DNI.Text.ToString() + "'";
                        es_primero = false;
                    }
                    else
                    {
                        where = where + " AND dni = '" + DNI.Text.ToString() + "'";
                    }
                }

                try
                {
                    //Formación de query final
                    String query = "SELECT distinct c.username, c.nombre, c.apellido, c.dni FROM GESTION_DE_PATOS.Clientes c join GESTION_DE_PATOS.Cupones cu on cu.cliente = c.username join GESTION_DE_PATOS.Promociones prom on prom.id_promocion = cu.id_promocion and prom.proveedor = '" + s.username + "'";
                    if (!string.Equals(where, "WHERE"))
                    {
                        query = query + where;
                    }

                    this.dataGridClientes.Enabled = true;
                    new Listado(dataGridClientes, query).actualizar_datagridview();

                    if (!dataGridClientes.Columns.Contains("Seleccionar"))
                    {
                        DataGridViewButtonColumn seleccionar = new DataGridViewButtonColumn();
                        seleccionar.Name       = "Seleccionar";
                        seleccionar.HeaderText = "Seleccionar";
                        this.dataGridClientes.Columns.Add(seleccionar);

                        this.dataGridClientes.ReadOnly = true;
                        this.dataGridClientes.Columns["Seleccionar"].ReadOnly = false;
                    }
                }
                catch (SqlException)
                {
                    MessageBox.Show("Ingrese datos correctos", "Listado Cliente");
                    return;
                }
            }
        }
Exemple #29
0
        private void confirmarLogin_Click(object sender, EventArgs e)
        {
            DBManager manager = (DBManager)AppContext.getObject(typeof(DBManager));

            try
            {
                if (usuario.Text == "" || password.Text == "")
                {
                    MessageBox.Show("Faltan datos");
                    return;
                }

                ParamSet ps = new ParamSet("GESTION_DE_PATOS.Loguearse");
                ps.AddParameter("@user", usuario.Text);
                ps.AddParameter("@pass", password.Text);

                SqlParameter retval = ps.execSP();

                switch (retval.Value.ToString())
                {
                case "0":
                    SqlCommand consulta = new SqlCommand("SELECT rol FROM GESTION_DE_PATOS.Usuarios WHERE username=@username AND passwd=GESTION_DE_PATOS.SHA256(@passwd)");
                    consulta.Parameters.AddWithValue("username", usuario.Text);
                    consulta.Parameters.AddWithValue("passwd", password.Text);
                    SQLResponse r = manager.executeQuery(consulta);
                    Session     s = new Session();
                    s.username = usuario.Text;
                    s.rol      = (String)r.result.Rows[0][0];
                    AppContext.setObject(typeof(Session), s);
                    this.Hide();
                    break;

                case "1": MessageBox.Show("La contraseña no es válida");
                    break;

                case "2": MessageBox.Show("Se ha inhabilitado al usuario por intentos fallidos");
                    break;

                case "3": MessageBox.Show("Usuario incorrecto");
                    break;

                case "4":
                    if (MessageBox.Show("Usted se encuentra inhabilitado, ¿Desea darse de baja?", "Login", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        ps.NombreSP("GESTION_DE_PATOS.EliminarUsuario");
                        ps.AddParameter("@user", usuario.Text);
                        ps.execSP();
                        MessageBox.Show("Usted ha sido dado de baja");
                        Dispose();
                    }
                    break;

                case "5": MessageBox.Show("Usuario incorrecto");
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("No se pudo conectar a la base de datos.");
                Console.Write(ex);
            }
        }
Exemple #30
0
        private void Guardar_Click(object sender, EventArgs e)
        {
            if (PrecioFicticio.Text == "" || PrecioReal.Text == "" || Publicacion.Text == "" ||
                VencimientoOferta.Text == "" || VencimientoCanje.Text == "" || Stock.Text == "" ||
                LimitePorUsuario.Text == "" || DescripcionCupon.Text == "" || ListaZonas.CheckedItems.Count == 0)
            {
                MessageBox.Show("Faltan datos");
                return;
            }

            if (PrecioFicticio.Text.Contains('.') || PrecioReal.Text.Contains('.'))
            {
                MessageBox.Show("Ingrese un precio correcto. El decimal se indica con una ',' (coma).", "Armar cupon");
                return;
            }


            try
            {
                if (Int64.Parse(Stock.Text) < Int64.Parse(LimitePorUsuario.Text))
                {
                    MessageBox.Show("El limite por usuario no puede ser mayor que el stock", "Armar cupón");
                    return;
                }


                Session   s  = (Session)AppContext.getObject(typeof(Session));
                DBManager db = (DBManager)AppContext.getObject(typeof(DBManager));


                Random promo   = new Random();
                String idPromo = promo.Next(999999999).ToString();

                SQLResponse res = db.executeQuery("select id_promocion from GESTION_DE_PATOS.Promociones where id_promocion = '" + idPromo + "'");
                while (res.rowsAffected != 0)
                {
                    idPromo = promo.Next(999999999).ToString();
                    res     = db.executeQuery("select id_promocion from GESTION_DE_PATOS.Promociones where id_promocion = '" + idPromo + "'");
                }

                ParamSet ps = new ParamSet("GESTION_DE_PATOS.ArmarCupon");


                ps.AddParameter("@codigoGrupo", idPromo);
                ps.AddParameter("@descripcion", DescripcionCupon.Text);
                ps.AddParameter("@fechaSistema", (String)AppContext.getObject(typeof(String)));
                ps.AddParameter("@fechaVencimientoCanje", VencimientoCanje.Text);
                ps.AddParameter("@fechaVencimientoOferta", VencimientoOferta.Text);
                ps.AddParameter("@fechaPublicacion", Publicacion.Text);
                ps.AddParameter("@precio_ficticio", float.Parse(PrecioFicticio.Text));
                ps.AddParameter("@precio_real", float.Parse(PrecioReal.Text));
                ps.AddParameter("@limite_usuario", Int64.Parse(LimitePorUsuario.Text));
                ps.AddParameter("@stock", Int64.Parse(Stock.Text));
                ps.AddParameter("@proveedor", s.username);

                SqlParameter retval = ps.execSP();

                switch (retval.Value.ToString())
                {
                case "1": MessageBox.Show("El cupón ya existe");
                    return;

                case "2": MessageBox.Show("La fecha de vencimiento de la oferta ya pasó");
                    return;

                case "3": MessageBox.Show("El canje no puede vencer antes de la oferta");
                    return;

                case "4": MessageBox.Show("La fecha de publicación no puede ser posterior al vencimiento de la oferta");
                    return;

                case "5": MessageBox.Show("La fecha de publicación no puede ser anterior a la fecha actual");
                    return;
                }


                ps.NombreSP("GESTION_DE_PATOS.AsignarLocalidadAlGrupo");

                foreach (Object item in ListaZonas.CheckedItems)
                {
                    ps.AddParameter("@localidad", item.ToString());
                    ps.AddParameter("@grupo", idPromo);
                    ps.execSP();
                }

                MessageBox.Show("Promoción armada exitosamente \nCódigo de promoción: " + idPromo);
                this.Hide();
            }
            catch (FormatException)
            {
                MessageBox.Show("Ingrese un valor numérico para los precios, límite y stock");
                return;
            }
        }