예제 #1
0
        private void CrearOferta_Load(object sender, EventArgs e)
        {
            esProveedor = ProveedorDAO.esProveedorHabilitado(usuario);

            dateTimePicker2.MinDate = utils.obtenerFecha();
            dateTimePicker2.Value   = utils.obtenerFecha();
            dateTimePicker1.MinDate = utils.obtenerFecha();
            dateTimePicker1.Value   = utils.obtenerFecha().AddDays(1);
            if (usuario.roles.Any(rol => DBConnection.isAdmin(rol)))
            {
                List <Proveedor> proveedores = ProveedorDAO.getProveedores();
                foreach (Proveedor p in proveedores)
                {
                    if (p.habilitada)
                    {
                        ComboboxItem item = new ComboboxItem(p.razon_social, p);
                        comboBoxProveedor.Items.Add(item);
                    }
                }
                if (comboBoxProveedor.Items.Count > 0)
                {
                    comboBoxProveedor.SelectedIndex = 0;
                }
                else
                {
                    MessageBox.Show("Parece que no hay proveedores disponibles");
                }
            }
            else if (esProveedor)
            {
                labelProveedor.Hide();
                comboBoxProveedor.Hide();
            }
        }
예제 #2
0
        private void button1_Click(object sender, EventArgs e)
        {//publicar oferta
            if (!utils.validarNoVacio(Oferta_descripcion))
            {
                MessageBox.Show("Falta descripcion");
                return;
            }


            if (numericUpDownCantidad.Value <= 0 || numericUpDownMaximo.Value <= 0 ||
                numericUpDownPrecioLista.Value <= 0 || numericUpDownPrecioOferta.Value <= 0 ||
                numericUpDownPrecioOferta.Value >= numericUpDownPrecioLista.Value)
            {
                MessageBox.Show("todos los valores deben ser mayores a 0 y el precio de oferta debe ser menor al de lista");
                return;
            }

            if (dateTimePicker1.Value == dateTimePicker2.Value)
            {
                MessageBox.Show("La fecha de publicacion y vencimiento no deberian coincidir");
                return;
            }


            Boolean resultado;

            if (esProveedor)
            {
                int idProveedor = ProveedorDAO.obtenerIdProveedor(usuario);
                resultado = ProveedorDAO.publicarOferta(idProveedor, Oferta_descripcion.Text, dateTimePicker1.Value, dateTimePicker2.Value, (double)numericUpDownPrecioOferta.Value, (double)numericUpDownPrecioLista.Value, (int)numericUpDownCantidad.Value, (int)numericUpDownMaximo.Value);
            }
            else
            {
                if (comboBoxProveedor.Items.Count == 0)
                {
                    MessageBox.Show("No hay proveedor seleccionado");
                    return;
                }
                ComboboxItem item = (ComboboxItem)comboBoxProveedor.SelectedItem;
                Proveedor    proveedorSeleccionado = (Proveedor)item.value;
                resultado = ProveedorDAO.publicarOferta(proveedorSeleccionado.id, Oferta_descripcion.Text, dateTimePicker1.Value, dateTimePicker2.Value, (double)numericUpDownPrecioOferta.Value, (double)numericUpDownPrecioLista.Value, (int)numericUpDownCantidad.Value, (int)numericUpDownMaximo.Value);
            }
            if (resultado)
            {
                MessageBox.Show("Oferta publicada con exito");
                foreach (TextBox txb in this.Controls.OfType <TextBox>())
                {
                    txb.Text = "";
                }
                foreach (NumericUpDown nud in this.Controls.OfType <NumericUpDown>())
                {
                    nud.Value = 0;
                }
            }
            else
            {
                MessageBox.Show("Error publicando la oferta, verifique los datos e intente nuevamente");
            }
        }
        private void RegistroDeProveedores_Load(object sender, EventArgs e)
        {
            List <Rubro> rubros = ProveedorDAO.getRubros();

            foreach (Rubro r in rubros)
            {
                Provee_rubro.Items.Add(r.descripcion);
                Provee_rubro.Text = r.descripcion;
            }
            label_usu.Text = "Estas por registrarte con el usuario: " + usuarioNuevo.username;
        }
예제 #4
0
        private void Facturar_Load(object sender, EventArgs e)
        {
            List <Proveedor> proveedores = ProveedorDAO.getProveedores();

            foreach (Proveedor p in proveedores)
            {
                comboBox1.Items.Add(p.razon_social);
            }
            comboBox1.SelectedIndex = 0;
            dateTimePicker2.Value   = utils.obtenerFecha();
            dateTimePicker1.Value   = utils.obtenerFecha().AddMonths(-1);
        }
예제 #5
0
 public Proveedor(Usuario usu, string rs, string email, string direc, string cp, string ciud, string cuitt, int rubid, string nombre, string tel, bool habilitado)
 {
     id                 = ProveedorDAO.obtenerIdProveedor(usu);
     razon_social       = rs;
     mail               = email;
     direccion          = direc;
     codigo_postal      = cp;
     ciudad             = ciud;
     cuit               = cuitt;
     rubro_id           = rubid;
     nombre_de_contacto = nombre;
     telefono           = tel;
     habilitada         = habilitado;
 }
예제 #6
0
        private void button1_Click(object sender, EventArgs e)
        {
            //if cualquiera de los campos no está vacio, se aplica esa busqueda
            string razonsocial = "", cuit = "", email = "";

            if (!string.IsNullOrWhiteSpace(textBox1.Text))
            {
                razonsocial = textBox1.Text;
            }

            if (!string.IsNullOrWhiteSpace(textBox2.Text))
            {
                email = textBox2.Text;
            }

            if (!string.IsNullOrWhiteSpace(textBox3.Text))
            {
                cuit = textBox3.Text;
            }

            ProveedorDAO.filtros_proveedores(dataGridView1, razonsocial, cuit, email, adapter1, table1);
        }
예제 #7
0
        private void Button5_Click(object sender, EventArgs e)
        {
            //validar datos de registro fnValidarNuevoUsername
            if (textboxContraseña.Visible && textboxUsuario.Visible && !verificarTodosLosCamposNoVacios())
            {
                MessageBox.Show("Parece que hay campos que no estan completos");
                return;
            }

            if (textboxContraseña.Visible && textboxUsuario.Visible && !UsuarioDAO.validarNuevoUsername(textboxUsuario.Text))
            {
                MessageBox.Show("El nombre de usuario ya existe");
                foreach (TextBox txb in this.Controls.OfType <TextBox>())
                {
                    txb.Text = "";
                }

                return;
            }

            if (!DBConnection.esRolHabilitado((string)comboBoxTipoDeUsuario.SelectedItem))
            {
                MessageBox.Show("Rol deshabilitado. Ponerse en contacto con administrador");
                return;
            }

            Usuario nuevo_usuario;

            if (deDondeViene != 4)
            {
                nuevo_usuario = new Usuario(textboxUsuario.Text, textboxContraseña.Text);
            }
            else
            {
                nuevo_usuario = new Usuario(comboBox1.SelectedItem.ToString());
                UsuarioDAO.cargarRolesUsuario(nuevo_usuario);
            }


            if ((string)comboBoxTipoDeUsuario.SelectedItem == "Cliente")
            {
                if (nuevo_usuario.roles.Any(rol => DBConnection.isCliente(rol)))
                {
                    MessageBox.Show("Ya tienes asociado este rol");
                    return;
                }
                ;
                if (deDondeViene == 4 && ClienteDAO.asignarCliente(nuevo_usuario) == 0)
                {
                    MessageBox.Show("rol cliente asignado a usuario correctamente");
                    UsuarioDAO.cargarRolesUsuario(usuarioActivo);
                    return;
                }
                RegistroDeCliente registroCliente = new RegistroDeCliente(nuevo_usuario, usuarioActivo, deDondeViene);
                registroCliente.Show();
                this.Hide();
            }
            else if ((string)comboBoxTipoDeUsuario.SelectedItem == "Proveedor")
            {
                if (nuevo_usuario.roles.Any(rol => DBConnection.isProveedor(rol)))
                {
                    MessageBox.Show("Ya tienes asociado este rol");
                    return;
                }
                if (deDondeViene == 4 && ProveedorDAO.asignarProveedor(nuevo_usuario) == 0)
                {
                    MessageBox.Show("rol proveedor asignado a usuario correctamente");
                    UsuarioDAO.cargarRolesUsuario(usuarioActivo);
                    return;
                }
                RegistroDeProveedores registroProveedor = new RegistroDeProveedores(usuarioActivo, nuevo_usuario, deDondeViene);
                registroProveedor.Show();
                this.Hide();
            }
        }
예제 #8
0
        private void MenuAdministrador_Load(object sender, EventArgs e)
        {
            UsuarioDAO.cargarRolesUsuario(usuario);
            foreach (Button button in this.Controls.OfType <Button>())
            {
                button.Visible = false;
            }
            label_credito.Visible = false;


            var texto_roles = new System.Text.StringBuilder();

            if (usuario.roles.Count == 1)
            {
                texto_roles.AppendLine("Tiene activado el rol: ");
            }
            else
            {
                texto_roles.AppendLine("Tiene activado los roles: ");
            }


            // Cargamos los botones con funcionalidades segun rol
            foreach (Rol rol in usuario.roles)
            {
                texto_roles.AppendLine(" " + rol.nombre);
                DBConnection.asociar_roles_x_funciones(rol);
                if (rol.funcionalidades.Exists(f => f.nombre.Contains("Comprar")))
                {
                    label_credito.Visible = true;
                    buttonCupones.Visible = true;
                    label_credito.Text    = "Su crédito es: \n" + ClienteDAO.montoUsuario(usuario).ToString();
                }

                if (DBConnection.isAdmin(rol))
                {
                    button4.Visible  = true;
                    button12.Visible = true;
                    button13.Visible = true;
                }


                if (DBConnection.isCliente(rol) && !ClienteDAO.esClienteHabilitado(usuario))
                {
                    button9.Enabled  = false;
                    button10.Enabled = false;
                    MessageBox.Show("Tus funcionalidades como cliente estan restringidas. Si es un error, ponerse en contacto con un administrador");
                }

                if (DBConnection.isProveedor(rol) && !ProveedorDAO.esProveedorHabilitado(usuario))
                {
                    button5.Enabled = false;
                    MessageBox.Show("Tus funcionalidades como proveedor estan restringidas. Si es un error, ponerse en contacto con un administrador");
                }

                foreach (Funcionalidad f in rol.funcionalidades)
                {
                    foreach (Button button in this.Controls.OfType <Button>())
                    { //Si hay alguna funcionalidad que coincide con un buton
                        button.Name = button.Text;
                        if (button.Name == f.nombre)
                        {
                            button.Visible = true;
                        }
                    }
                }
            }

            //Funciones disponibles independientemente de los roles
            btn_cerrarsesion.Visible = true;
            label3.Text = "Su usuario es: \n" + usuario.username;

            labelroles.Text = texto_roles.ToString();
            //cambiar contrasenia y agregar roles
            button8.Visible = true;
        }
예제 #9
0
        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection conexion = DBConnection.getConnection();
            SqlCommand    command  = new SqlCommand("SOCORRO.sp_facturar_proveedor", conexion);

            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.AddWithValue("@usuario_id", usuario.id);
            int prov_id = ProveedorDAO.obtenerProveedorIdConNombre(comboBox1.SelectedItem.ToString());

            command.Parameters.AddWithValue("@prov_id", prov_id);
            command.Parameters.AddWithValue("@fecha_desde", dateTimePicker1.Value);
            DateTime segundaFecha = new DateTime(dateTimePicker2.Value.Year, dateTimePicker2.Value.Month, dateTimePicker2.Value.Day, 23, 59, 59);

            command.Parameters.AddWithValue("@fecha_hasta", segundaFecha);
            SqlParameter total_facturado = new SqlParameter("@total_facturado", SqlDbType.Int)
            {
                Direction = ParameterDirection.Output
            };

            command.Parameters.Add(total_facturado);
            SqlParameter id_nueva_factura = new SqlParameter("@id_nueva_factura", SqlDbType.Int)
            {
                Direction = ParameterDirection.Output
            };

            command.Parameters.Add(id_nueva_factura);

            SqlParameter ret = new SqlParameter();

            ret.Direction = ParameterDirection.ReturnValue;
            command.Parameters.Add(ret);
            command.ExecuteReader();
            command.Dispose();
            conexion.Close();
            conexion.Dispose();
            switch ((int)ret.Value)
            {
            case -1:
                MessageBox.Show("No se encontro el admin");
                break;

            case -2:
                MessageBox.Show("No se encontro el proveedor");
                break;

            case -3:
                MessageBox.Show("Las fechas no son coherentes");
                break;

            case 0:
                label5.Text = "Nro factura: " + id_nueva_factura.Value.ToString() + "  Total facturado: " + total_facturado.Value.ToString();
                mostrar_items(prov_id);
                break;

            case -4:
                MessageBox.Show("No hay nada para facturar en ese periodo");
                break;

            default:
                MessageBox.Show("Error generando la facutra");
                break;
            }

            dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
        }
예제 #10
0
 private void selector(String nombreFuncionabilidad)
 {
     switch (nombreFuncionabilidad)
     {
         case "Abm Usuario":
             (new AbmUsuario.HomeUsuario(this)).ShowDialog();
             break;
         case "Abm Cliente":
             (new AbmCliente.HomeCliente()).ShowDialog();
             break;
         case "Abm Proveedor":
             (new AbmProveedor.HomeProveedor()).ShowDialog();
             break;
         case "Abm Rol":
             (new AbmRol.HomeRol(this)).ShowDialog();
             break;
         case "Comprar Oferta":
             if (UsuarioDAO.tieneRol(usuario, 2)) //Rol Cliente
             {
                 if (ClienteDAO.estaHabilitado(usuario))
                 {
                     (new ComprarOferta.ComprarOferta(this)).ShowDialog();
                 }
                 else
                 {
                     MessageBox.Show("No puede acceder a esta funcionalidad");
                 }
             }
             else
             {
                 (new ComprarOferta.SeleccionarCliente(this)).ShowDialog();
             }
             break;
         case "Carga Credito":
             if (UsuarioDAO.tieneRol(usuario, 2)) //Rol Cliente
             {
                 if (ClienteDAO.estaHabilitado(usuario))
                 {
                     (new CargaCredito.CargaCredito(this)).ShowDialog();
                 }
                 else
                 {
                     MessageBox.Show("No puede acceder a esta funcionalidad");
                 }
             }
             else
             {
                 (new CargaCredito.SeleccionarCliente(this)).ShowDialog();
             }
             break;
         case "Crear Oferta":
             if (UsuarioDAO.tieneRol(usuario, 3)) //Rol Proveedor
             {
                 if (ProveedorDAO.estaHabilitado(usuario))
                 {
                     (new CrearOferta.CrearOferta(this)).ShowDialog();
                 }
                 else
                 {
                     MessageBox.Show("No puede acceder a esta funcionalidad");
                 }
             }
             else
             {
                 (new CrearOferta.SeleccionarProveedor(this)).ShowDialog();
             }
             break;
         case "Entrega Consumo de oferta":
             if (UsuarioDAO.tieneRol(usuario, 3)) //Rol Proveedor
             {
                 if (ProveedorDAO.estaHabilitado(usuario))
                 {
                     (new EntregaConsumo.EntregaConsumo(this)).ShowDialog();
                 }
                 else
                 {
                     MessageBox.Show("No puede acceder a esta funcionalidad");
                 }
             }
             else
             {
                 (new EntregaConsumo.SeleccionarProveedor(this)).ShowDialog();
             }
             break;
         case "Facturar":
             (new Facturar.Facturar()).ShowDialog();
             break;
         case "Listado Estadistico":
             (new ListadoEstadistico.ListadoEstadistico()).ShowDialog();
             break;
         default:
             MessageBox.Show("Error inesperado");
             Application.Exit();
             break;
     }
 }
예제 #11
0
        private void button1_Click(object sender, EventArgs e)
        {
            //registrar proveedor

            if (!verificarTodosLosCamposNoVacios())
            {
                MessageBox.Show("Parece que hay campos que no estan completos");
                return;
            }

            utils.validarEntradaSoloNumeros(Provee_cp);
            utils.validarEntradaSoloNumeros(Provee_cuit);
            utils.validarEntradaSoloNumeros(Provee_telefono);
            utils.validarEntradaSoloTexto(Provee_rs);
            utils.validarEntradaSoloTexto(Provee_nombrecontacto);
            utils.validarEntradaSoloTexto(Provee_ciudad);
            utils.validarEntradaMail(Provee_mail);
            // utils.validarEntradaComboBoxNoNull(Provee_rubro);

            foreach (ComboBox cbx in this.Controls.OfType <ComboBox>())
            {
                if (cbx.BackColor == Color.WhiteSmoke)
                {
                    MessageBox.Show("Combobox vacio");
                    return;
                }
            }
            foreach (TextBox txb in this.Controls.OfType <TextBox>())
            {
                if (txb.BackColor == Color.WhiteSmoke)
                {
                    MessageBox.Show("hay campos con errores en el  tipo de datos");
                    return;
                }
            }



            int prov_id;

            if (Provee_rubro.Text.Equals("Comestibles", StringComparison.InvariantCultureIgnoreCase))
            {
                prov_id = 1;
            }
            else if (Provee_rubro.Text.Equals("Electronica", StringComparison.InvariantCultureIgnoreCase))
            {
                prov_id = 2;
            }
            else if (Provee_rubro.Text.Equals("Hoteleria", StringComparison.InvariantCultureIgnoreCase))
            {
                prov_id = 3;
            }
            else
            {
                MessageBox.Show("Rubro no existente, las opciones son: Comestibles, Electronica o Hoteleria");
                return;
            }
            Proveedor prov = new Proveedor(usuarioNuevo, Provee_rs.Text, Provee_mail.Text, Provee_direccion.Text, Provee_cp.Text, Provee_ciudad.Text, Provee_cuit.Text, prov_id, Provee_nombrecontacto.Text, Provee_telefono.Text, true);

            if (usuarioActivo == usuarioNuevo)
            {
                //forma de registro + agregar rol
                ProveedorDAO.insertarProveedor(prov, usuarioNuevo, 1);
            }
            else
            {
                //forma de registro comun
                ProveedorDAO.insertarProveedor(prov, usuarioNuevo, 0);
            }

            switch (deDondeViene)
            {
            case 1:
                Login log = new Login();
                log.Show();
                break;

            case 2:
                AbmCliente cli = new AbmCliente(usuarioActivo);
                cli.Show();
                break;

            case 3:
                AbmProveedor prove = new AbmProveedor(usuarioActivo);
                prove.Show();
                break;

            case 4:
                //AgregarROl
                MenuFuncionalidades mf = new MenuFuncionalidades(usuarioActivo);
                mf.Show();
                this.Hide();
                break;
            }
            this.Hide();
        }