protected void ButtonBuscar_Click(object sender, EventArgs e)
        {
            string filtro = TextBoxFiltro.Text;
            Usuarios usuario = new Usuarios();
            usuario.BuscarPorNombre(User.Identity.Name);

            if (usuario.IdTipoUsuario == (int)TiposUsuarios.Tipos.Administrador) {
                if (filtro.Length > 0) {
                    ConsultaGridView.DataSource = Productos.Lista("a.IdProducto,a.Nombre,a.Descripcion,a.Precio,m.IdMedidas as IdMedida,m.Descripcion as Medida,p.IdProductor,p.Nombres as Productor ", DropDownListTipoFiltro.Text + "  like '%" + filtro + "%'");
                    ConsultaGridView.DataBind();
                } else {
                    ConsultaGridView.DataSource = Productos.Lista("a.IdProducto,a.Nombre,a.Descripcion,a.Precio,m.IdMedidas as IdMedida,m.Descripcion as Medida,p.IdProductor,p.Nombres as Productor ", DropDownListTipoFiltro.Text + " != '" + filtro + "'");
                    ConsultaGridView.DataBind();
                }
            } else {
                if (filtro.Length > 0) {
                    ConsultaGridView.DataSource = Productos.Lista("a.IdProducto,a.Nombre,a.Descripcion,a.Precio,m.IdMedidas as IdMedida,m.Descripcion as Medida,p.IdProductor", DropDownListTipoFiltro.Text + "  like '%" + filtro + "%' And p.IdProductor = '" + Productores.getIdProductorPorIdUsuario(usuario.IdUsuario) + "'");
                    ConsultaGridView.DataBind();
                } else {
                    ConsultaGridView.DataSource = Productos.Lista("a.IdProducto,a.Nombre,a.Descripcion,a.Precio,m.IdMedidas as IdMedida,m.Descripcion as Medida ", DropDownListTipoFiltro.Text + " != '" + filtro + "' And p.IdProductor = '" + Productores.getIdProductorPorIdUsuario(usuario.IdUsuario) + "'");
                    ConsultaGridView.DataBind();
                }
            }

            //if (filtro.Length > 0) {
            //    ConsultaGridView.DataSource = Productos.Lista("a.IdProducto,a.Nombre,a.Descripcion,a.Precio,m.IdMedidas as IdMedida,m.Descripcion as Medida,p.IdProductor,p.Nombres as Productor ", DropDownListTipoFiltro.Text + "  like '%" + filtro + "%' And p.IdProductor = '" + Productores.getIdProductorPorIdUsuario(usuario.IdUsuario) + "'");
            //    ConsultaGridView.DataBind();
            //} else {
            //    ConsultaGridView.DataSource = Productos.Lista("a.IdProducto,a.Nombre,a.Descripcion,a.Precio,m.IdMedidas as IdMedida,m.Descripcion as Medida,p.IdProductor,p.Nombres as Productor ", DropDownListTipoFiltro.Text + " != '" + filtro + "' And p.IdProductor = '" + Productores.getIdProductorPorIdUsuario(usuario.IdUsuario) + "'");
            //    ConsultaGridView.DataBind();
            //}
        }
        protected void LoginButton_Click(object sender, EventArgs e)
        {
            if (Usuarios.Logon(NombreUsuarioTextBox.Text, ClaveTextBox.Text)) {
                FormsAuthentication.RedirectFromLoginPage(NombreUsuarioTextBox.Text, true);

                Usuarios usuario = new Usuarios();
                usuario.BuscarPorNombre(NombreUsuarioTextBox.Text);
                Session["IdTipoUsuario"] = usuario.IdTipoUsuario;
                Response.Redirect("/PanelAdministrativo/");
            }
        }
        protected void ButtonBuscar_Click(object sender, EventArgs e)
        {
            string filtro = TextBoxFiltro.Text;
            Usuarios usuario = new Usuarios();
            usuario.BuscarPorNombre(User.Identity.Name);

            if (filtro.Length > 0) {
                ConsultaGridView.DataSource = PedidosDetalle.ListaPedidos(" a.IdDetalle,a.IdPedidos,a.IdProducto,b.Nombre,b.Descripcion,c.Nombres as Productor ,a.Cantidad,a.Precio,a.Cantidad * a.Precio as Importe", DropDownListTipoFiltro.SelectedValue + "  like '%" + filtro + "%' And c.idProductor = '" + Productores.getIdProductorPorIdUsuario(usuario.IdUsuario) + "'");
                ConsultaGridView.DataBind();
            } else {
                ConsultaGridView.DataSource = PedidosDetalle.ListaPedidos(" a.IdDetalle,a.IdPedidos,a.IdProducto,b.Nombre,b.Descripcion,c.Nombres as Productor ,a.Cantidad,a.Precio,a.Cantidad * a.Precio as Importe", DropDownListTipoFiltro.SelectedValue + " != '" + filtro + "' And c.idProductor = '" + Productores.getIdProductorPorIdUsuario(usuario.IdUsuario) + "'");
                ConsultaGridView.DataBind();
            }
        }
        protected void guardarButton_Click(object sender, EventArgs e)
        {
            Productos productos = new Productos();
            string imagen;
            int id = 0;

            productos.Nombre = NombreTextBox.Text;
            productos.Descripcion = DescripcionTextBox.Text;
            productos.Precio = float.Parse(PrecioTextBox.Text);
            imagen = "Producto-" + productos.Descripcion.Trim() + ".Png";

            productos.Imagen = "/ImagenesSubidas/" + imagen;
            productos.IdMedida = Convert.ToInt32(TipoMedidaDropDownList.SelectedValue);

            Usuarios usuario = new Usuarios();
            usuario.BuscarPorNombre(User.Identity.Name);
            productos.IdProductor = Productores.getIdProductorPorIdUsuario(usuario.IdUsuario);

            if (Request.QueryString["Id"] != null) {
                int.TryParse(Request.QueryString["Id"], out id);
            }

            if (id == 0) {
                productos.Insertar();
                NombreTextBox.Text = "";
                DescripcionTextBox.Text = "";
                PrecioTextBox.Text = "";
                IdProductoTextBox.Text = "";
            } else {
                productos.Modificar(id);
            }

            if (ImagenProductoFileUpload.HasFile) {
                string directory = Server.MapPath("~/ImagenesSubidas/"); //Convierte la ruta virtual a la ruta fisica del servidor..
                var fileName = Path.GetFileName(ImagenProductoFileUpload.FileName);
                ImagenProductoFileUpload.SaveAs(Path.Combine(directory, imagen));
               MensajeLabel.Text = "Información Guardada Correctamente";

            }
        }
        protected void ButtonBuscar_Click(object sender, EventArgs e)
        {
            string filtro = TextBoxFiltro.Text;
            Usuarios usuario = new Usuarios();
            usuario.BuscarPorNombre(User.Identity.Name);

            if (usuario.IdTipoUsuario == (int)TiposUsuarios.Tipos.Cliente) {
                if (filtro.Length > 0) {
                    ConsultaGridView.DataSource = Pedidos.ListaPedidos("pedido.IdPedidos,pedido.Fecha,pedido.IdCliente,cliente.Nombres,pedido.Total", DropDownListTipoFiltro.SelectedValue + "  like '%" + filtro + "%' And pedido.IdCliente = '" + Clientes.getIdClientePorIdUsuario(usuario.IdUsuario) + "'");
                    ConsultaGridView.DataBind();
                } else {
                    ConsultaGridView.DataSource = Pedidos.ListaPedidos("pedido.IdPedidos,pedido.Fecha,pedido.IdCliente,cliente.Nombres,pedido.Total", DropDownListTipoFiltro.SelectedValue + " != '" + filtro + "' And pedido.IdCliente = '" + Clientes.getIdClientePorIdUsuario(usuario.IdUsuario) + "'");
                    ConsultaGridView.DataBind();
                }
            } else {
                if (filtro.Length > 0) {
                    ConsultaGridView.DataSource = Pedidos.ListaPedidos("pedido.IdPedidos,pedido.Fecha,pedido.IdCliente,cliente.Nombres,pedido.Total", DropDownListTipoFiltro.SelectedValue + "  like '%" + filtro + "%'");
                    ConsultaGridView.DataBind();
                } else {
                    ConsultaGridView.DataSource = Pedidos.ListaPedidos("pedido.IdPedidos,pedido.Fecha,pedido.IdCliente,cliente.Nombres,pedido.Total", DropDownListTipoFiltro.SelectedValue + " != '" + filtro + "'");
                    ConsultaGridView.DataBind();
                }
            }
        }
        protected void RegistrarmeButton_Click(object sender, EventArgs e)
        {
            if (Usuarios.Logon(UsuarioTextBox.Text, ClaveTextBox.Text)) {
                if (Session["Carrito"] != null) {
                    Usuarios usuario = new Usuarios();
                    Pedidos pedido = new Pedidos();
                    Clientes cliente = new Clientes();
                    double monto = 0;
                    List<PedidosDetalle> detalle = new List<PedidosDetalle>();

                    usuario.BuscarPorNombre(UsuarioTextBox.Text);
                    if (cliente.BuscarIdUsuario(usuario.IdUsuario)) {
                        FormsAuthentication.RedirectFromLoginPage(UsuarioTextBox.Text, true);

                        detalle = (List<PedidosDetalle>)Session["Carrito"];

                        detalle.ForEach(delegate(PedidosDetalle item) {
                            monto = monto + (item.Precio * item.Cantidad);
                            pedido.AgregarPedidosDetalle(0, item.IdProductor, 0, item.IdProducto, item.Precio, item.Cantidad, item.Foto);
                        });

                        pedido.Fecha = DateTime.Today;
                        pedido.Total = monto;
                        pedido.IdCliente = cliente.IdCliente;

                        if (pedido.Insertar()) {
                            Session["Carrito"] = null;
                            Response.Redirect("/PedidoRealizado.aspx");
                        }
                    } else {
                        MensajeLabel.Text = "Usuario no encontrado";
                        MensajeLabel.ForeColor = System.Drawing.Color.Red;
                    }
                } else {
                    MensajeLabel.Text = "No posee articulos en el carrito";
                    MensajeLabel.ForeColor = System.Drawing.Color.Red;
                }
            } else {
                MensajeLabel.Text = "Usuario no encontrado";
                MensajeLabel.ForeColor = System.Drawing.Color.Red;
            }
        }