}//Fin definirDroplistArticulos

    /// <summary>
    /// Listener de droplistArticulos el cual carga los datos asociados Articulos en 
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void droplistArticulos_SelectedIndexChanged(object sender, EventArgs e)
    {

        try{
            using (DB_PAAC4G4ArriagadaSepulvedaVidalEntities db = new DB_PAAC4G4ArriagadaSepulvedaVidalEntities()) {

                tblPedido_Articulos objPedidoArticulos = new tblPedido_Articulos();
                tblArticulo objArticulos = new tblArticulo();

                string articulo = droplistArticulos.SelectedItem.ToString();

                objArticulos.id_articulo = Convert.ToInt32(regexNumerico(articulo));

                var listaArticulo = db.tblArticulo.Find(objArticulos.id_articulo);

                txtColor.Text = listaArticulo.color;
                txtTamano.Text = listaArticulo.tamano;
                txtPrecio.Text = listaArticulo.precio + "";

            }
        } catch (Exception ex) {
            lblMensajeIngreso.Text = ex.Message;
            lblMensajeIngreso.Visible = true;
        }
        #region deprecated
        //PedidoArticulos objPedidoArticulos = new PedidoArticulos();

        //string articulo = droplistArticulos.SelectedItem.ToString();
        //Parseo
        //objPedidoArticulos.Id_articulo = Convert.ToInt32(regexNumerico(articulo));

        //objPedidoArticulos.listarDatosArticulo(objPedidoArticulos);

        ////Validación de proceso exitoso
        //if (objPedidoArticulos.Exito)
        //{
        //    //Llenado automatico de los campos de texto
        //    foreach (DataRow row in objPedidoArticulos.Ds.Tables[0].Rows)
        //    {
        //        txtColor.Text = Convert.ToString(row[3]);
        //        txtTamano.Text = Convert.ToString(row[4]);
        //        txtPrecio.Text = Convert.ToString(row[5]);
        //    } 
        //}
        //else
        //{
        //    //En caso contrario se informa
        //    lblMensajeListaPedido.Text = objPedidoArticulos.Mensaje;
        //    lblMensajeListaPedido.Visible = true;

        //}
        #endregion
    }//Fin definirDroplistArticulos
    }//Fin Listener btnModificar


    #endregion


    #region Eliminar
    /// <summary>
    /// Listener botón eliminar 
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnEliminar_Click(object sender, EventArgs e)
    {
        try {
            using (DB_PAAC4G4ArriagadaSepulvedaVidalEntities db = new DB_PAAC4G4ArriagadaSepulvedaVidalEntities()) {
                
                if (dropListIDPedidoArticulosEliminar.SelectedIndex != 0) {

                    tblPedido_Articulos objPedidoArticulos = new tblPedido_Articulos();
                    //Se obtiene el id del registro a "Eliminar"
                    objPedidoArticulos.id_pedido_articulos = Convert.ToInt32(dropListIDPedidoArticulosEliminar.SelectedItem.ToString());
                    //Se busca el registro seleccionado en la base de datos y se instancia en un objeto;
                    objPedidoArticulos = db.tblPedido_Articulos.Find(objPedidoArticulos.id_pedido_articulos);
                    //Se define la variable estado con valor "false"
                    objPedidoArticulos.estado = false;
                    //Se guardan los cambios realizados en la base de datos
                    db.SaveChanges();

                    lblMensajeEliminar.Text = "Registro Eliminado Correctamente";
                    lblMensajeEliminar.Visible = true;
                    actualizarDropLists();
                } else {
                    lblMensajeEliminar.Text = "Debe seleccionar un item";
                    lblMensajeEliminar.Visible = true;
                }

            }
        } catch (Exception ex) {
            lblMensajeEliminar.Text = ex.Message;
            lblMensajeEliminar.Visible = true;
        }

        #region deprecated
        //    //PedidoArticulos objPedidoArticulos = new PedidoArticulos();

        ////Se valida la selección de item del dropList
        //if (dropListIDPedidoArticulosEliminar.SelectedIndex == 0)
        //{
        //    //No hacer nada
        //}
        //else
        //{
        //    //Parseo
        //    objPedidoArticulos.Id_pedido_articulos = Convert.ToInt32(dropListIDPedidoArticulosEliminar.SelectedItem.ToString());

        //    //Llamado al método
        //    objPedidoArticulos.eliminar(objPedidoArticulos);

        //    //Validación de proceso exitoso
        //    if (objPedidoArticulos.Exito)
        //    {
        //        //Se informa
        //        lblMensajeEliminar.Text = "Se ha eliminado el registro exitosamente";
        //        lblMensajeEliminar.Visible = true;
        //    }
        //    else
        //    {
        //        //Caso contrario se informa
        //        lblMensajeEliminar.Text = objPedidoArticulos.Mensaje;
        //        lblMensajeEliminar.Visible = true;
        //    }

        //}

        #endregion

    }//Fin Listener btnEliminar
    }//Fin Listener dropListArticuloModificar

    /// <summary>
    /// Listener del botón para modificar un registro en la tabla Pedido_Articulos
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnModificar_Click(object sender, EventArgs e)
    {

        try {
            using (DB_PAAC4G4ArriagadaSepulvedaVidalEntities db = new DB_PAAC4G4ArriagadaSepulvedaVidalEntities()) {

                tblPedido_Articulos objPedidoArticulos = new tblPedido_Articulos();

                if (!(txtUnidadesModificar.Text.Trim().Equals("")) ) {
                    if (dropListIDPedidoModificar.SelectedIndex != 0 && dropListArticuloModificar.SelectedIndex != 0) {
                        //Parseo de datos
                        objPedidoArticulos.id_pedido_articulos = Convert.ToInt32(dropListIDPedidoArticulosModificar.SelectedItem.ToString());

                        //Se obtiene el registro con el id_pedido_articulos correspondiente
                        objPedidoArticulos = db.tblPedido_Articulos.Find(objPedidoArticulos.id_pedido_articulos);

                        //Se instancian los nuevos atributos para la instancia
                        objPedidoArticulos.id_pedido = Convert.ToInt32(dropListIDPedidoModificar.SelectedItem.ToString());
                        objPedidoArticulos.id_articulo = Convert.ToInt32(regexNumerico(dropListArticuloModificar.SelectedItem.ToString()));
                        objPedidoArticulos.tamano_articulo = txtTamanoModificar.Text;
                        objPedidoArticulos.color_articulo = txtColorModificar.Text;
                        objPedidoArticulos.unidades_articulo = Convert.ToInt32(txtUnidadesModificar.Text);
                        objPedidoArticulos.precio_u_articulo = Convert.ToInt32(txtPrecioModificar.Text);
                        objPedidoArticulos.estado = true;

                        //Se guardan los cambios generados a la instancia en la base de datos
                        db.SaveChanges();

                        lblMensajeModificar.Text = "Registro modificado exitosamente";
                        lblMensajeModificar.Visible = true;
                        actualizarDropLists();
                    } else {
                        lblMensajeModificar.Text = "Debe seleccionar un item";
                        lblMensajeModificar.Visible = true;
                    }
                }else {
                    lblMensajeModificar.Text = "No pueden quedar campos vacios";
                    lblMensajeModificar.Visible = true;
                }

            }
        } catch (Exception ex) {
            lblMensajeModificar.Text = ex.Message;
            lblMensajeModificar.Visible = true;
        }


        #region deprecated
        // PedidoArticulos objPedidoArticulos = new PedidoArticulos();

        //Validación si el campo se encuentra vacio
        //if (!(txtUnidadesModificar.Text.Trim().Equals(""))) {

        //    //Parseo de datos
        //    objPedidoArticulos.Id_pedido_articulos = Convert.ToInt32(dropListIDPedidoArticulosModificar.SelectedItem.ToString());
        //    objPedidoArticulos.Id_pedido = Convert.ToInt32(dropListIDPedidoModificar.SelectedItem.ToString());
        //    objPedidoArticulos.Id_articulo = Convert.ToInt32(regexNumerico(dropListArticuloModificar.SelectedItem.ToString()));
        //    objPedidoArticulos.Tamano_articulo = txtTamanoModificar.Text;
        //    objPedidoArticulos.Color_articulo = txtColorModificar.Text;
        //    objPedidoArticulos.Unidades_articulo = Convert.ToInt32(txtUnidadesModificar.Text);
        //    objPedidoArticulos.Precio_u_articulo = Convert.ToInt32(txtPrecioModificar.Text);

        //    //Llamado al método
        //    objPedidoArticulos.modificar(objPedidoArticulos);

        //    //Validación de proceso exitoso
        //    if (objPedidoArticulos.Exito)
        //    {
        //        //Se informa exito
        //        lblMensajeModificar.Text = "Se ha modificado exitosamente";
        //        lblMensajeModificar.Visible = true;

        //    }else
        //    {
        //        //Caso contrario se informa
        //        lblMensajeModificar.Text = objPedidoArticulos.Mensaje;
        //        lblMensajeModificar.Visible = true;
        //    }


        //}
        //else
        //{
        //    //Caso contrario se informa
        //    lblMensajeModificar.Text = "No pueden quedar campos vacios";
        //    lblMensajeModificar.Visible = true;
        //}

        #endregion
    }//Fin Listener btnModificar
    /// <summary>
    /// Listener de dropListIDPedidoArticulosModificar el cual precarga los datos en el formulario
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void dropListIDPedidoArticulosModificar_SelectedIndexChanged(object sender, EventArgs e)
    {
        try {
            using (DB_PAAC4G4ArriagadaSepulvedaVidalEntities db = new DB_PAAC4G4ArriagadaSepulvedaVidalEntities()) {

                if (dropListIDPedidoArticulosModificar.SelectedIndex != 0) {

                    tblPedido_Articulos objPedidoArticulos = new tblPedido_Articulos();

                    string pedido_articulo = dropListIDPedidoArticulosModificar.SelectedItem.ToString();
                    objPedidoArticulos.id_pedido_articulos = Convert.ToInt32(regexNumerico(pedido_articulo));

                    objPedidoArticulos = db.tblPedido_Articulos.Find(objPedidoArticulos.id_pedido_articulos);

                    txtTamanoModificar.Text = objPedidoArticulos.tamano_articulo;
                    txtColorModificar.Text = objPedidoArticulos.color_articulo;
                    txtUnidadesModificar.Text = objPedidoArticulos.unidades_articulo + "";
                    txtPrecioModificar.Text = objPedidoArticulos.precio_u_articulo + "";

                }

            }
        } catch (Exception ex) {
            lblMensajeModificar.Text = ex.Message;
            lblMensajeModificar.Visible = true;
        }

        #region deprecated
        //  PedidoArticulos objPedidoArticulos = new PedidoArticulos();

        //string pedido_articulo = dropListIDPedidoArticulosModificar.SelectedItem.ToString();

        //Validacion de la seleccion del dropList
        // if (dropListIDPedidoArticulosModificar.SelectedIndex == 0)
        //  {
        //Se es el primer item
        //No hacer nada

        //  }
        //  else
        //  {
        //Caso contrario se obtienen los datos correspondientes
        //objPedidoArticulos.Id_pedido_articulos = Convert.ToInt32(regexNumerico(pedido_articulo));

        //Llamado al método en la capa de negocio
        //  objPedidoArticulos.listar(objPedidoArticulos);

        //Validación de proceso exitoso
        // if (objPedidoArticulos.Exito)
        //  {
        //Se cargan los datos correspondientes al registro seleccionado
        //    foreach (DataRow row in objPedidoArticulos.Ds.Tables[0].Rows)
        //    {
        //        txtTamanoModificar.Text = Convert.ToString(row[3]);
        //        txtColorModificar.Text = Convert.ToString(row[4]);
        //        txtUnidadesModificar.Text = Convert.ToString(row[5]);
        //        txtPrecioModificar.Text = Convert.ToString(row[6]);

        //    }
        //}
        //else
        //  {
        //Caso contrario se informa
        //   lblMensajeModificar.Text = objPedidoArticulos.Mensaje;
        //  lblMensajeModificar.Visible = true;

        //}
        // }

        #endregion
    }//Fin Listener dropListArticuloModificar
    }//Fin definirDroplistArticulos

    /// <summary>
    /// Listener botón ingresar el cual carga los datos ingresados en el formulario
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnIngresar_Click(object sender, EventArgs e)
    {

        try {
            using (DB_PAAC4G4ArriagadaSepulvedaVidalEntities db = new DB_PAAC4G4ArriagadaSepulvedaVidalEntities()) {

                tblPedido_Articulos objPedidoArticulos = new tblPedido_Articulos();
                if (!(txtUnidades.Text.Trim().Equals(""))) {
                    objPedidoArticulos.id_pedido = Convert.ToInt32(dropListPedidos.SelectedItem.ToString());
                    objPedidoArticulos.id_articulo = Convert.ToInt32(regexNumerico(droplistArticulos.SelectedItem.ToString()));
                    objPedidoArticulos.tamano_articulo = txtTamano.Text;
                    objPedidoArticulos.color_articulo = txtColor.Text;
                    objPedidoArticulos.unidades_articulo = Convert.ToInt32(txtUnidades.Text);
                    objPedidoArticulos.precio_u_articulo = Convert.ToInt32(txtPrecio.Text);
                    objPedidoArticulos.estado = true;

                    db.tblPedido_Articulos.Add(objPedidoArticulos);
                    db.SaveChanges();

                    lblMensajeIngreso.Text = "Se ha ingresado el articulo al pedido exitosamente";
                    lblMensajeIngreso.Visible = true;
                    txtTamano.Text = "";
                    txtColor.Text = "";
                    txtUnidades.Text = "";
                    txtPrecio.Text = "";
                    actualizarDropLists();
                } else {
                    //Caso contrario se informa
                    lblMensajeIngreso.Text = "No pueden quedar campos vacios";
                    lblMensajeIngreso.Visible = true;
                }
            }
        }catch(Exception ex) {
            lblMensajeIngreso.Text = ex.Message;
            lblMensajeIngreso.Visible = true;
        }

        #region deprecated
        // PedidoArticulos objPedidoArticulos = new PedidoArticulos();

        //Se valida que el campo no se encuentre vacio
        // if (!(txtUnidades.Text.Trim().Equals("")))
        // {
        //Parseo
        //objPedidoArticulos.Id_pedido = Convert.ToInt32(dropListPedidos.SelectedItem.ToString());
        //objPedidoArticulos.Id_articulo = Convert.ToInt32(regexNumerico(droplistArticulos.SelectedItem.ToString()));
        //objPedidoArticulos.Tamano_articulo = txtTamano.Text;
        //objPedidoArticulos.Color_articulo = txtColor.Text;
        //objPedidoArticulos.Unidades_articulo = Convert.ToInt32(txtUnidades.Text);
        //objPedidoArticulos.Precio_u_articulo = Convert.ToInt32(txtPrecio.Text);

        //LLamado al método en la capa de negocio
        //    objPedidoArticulos.ingresar(objPedidoArticulos);

        //    //Validación de proceso exitoso
        //    if (objPedidoArticulos.Exito)
        //    {
        //        //En caso de exito se informa y se limpian los campos
        //        lblMensajeIngreso.Text = "Se ha ingresado el articulo al pedido exitosamente";
        //        lblMensajeIngreso.Visible = true;
        //        txtTamano.Text = "";
        //        txtColor.Text = "";
        //        txtUnidades.Text = "";
        //        txtPrecio.Text = "";

        //    }else
        //    {
        //        //Caso contrario se informa
        //        lblMensajeIngreso.Text = "No pueden quedar campos vacios";
        //        lblMensajeIngreso.Visible = true;
        //    }

        //}
        //else
        //{
        //    //Caso contrario se informa
        //    lblMensajeIngreso.Text = "No pueden quedar campos vacios";
        //    lblMensajeIngreso.Visible = true;
        // }
        #endregion
    }
    /// <summary>
    /// Listener botón Listar que despliega la lista de todos los registros o con criterio por ID
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnListar_Click1(object sender, EventArgs e)
    {
        //Llamado al Contexto de la base de datos
        using (DB_PAAC4G4ArriagadaSepulvedaVidalEntities db = new DB_PAAC4G4ArriagadaSepulvedaVidalEntities()) {
            try {
                //Se conprueba que el dato no venga vacio
                if (!(txtId.Text == "")) {
                    //Si equivale a un numero distinto de 0 lista el registro filtrado
                    if (txtId.Text != "0") {
                        //Instanciacio de entidad
                        tblPedido_Articulos objPedidoArticulos = new tblPedido_Articulos();
                        objPedidoArticulos.id_pedido_articulos = int.Parse(txtId.Text);
                        //Guarda los registros en una variable
                        var filtro = db.tblPedido_Articulos.Find(objPedidoArticulos.id_pedido_articulos);

                        //Se ingresan los registros obtenidos en una lista accesible por el DataSource
                        tblListado.DataSource = new List<tblPedido_Articulos> { filtro };
                        tblListado.DataBind();
                        //Si equivale a 0 lista todos los registros de la tabla
                    } else if (txtId.Text == "0") {
                        //Obtiene todos los registros de la tabla
                        var listado = db.tblPedido_Articulos;
                        //Instancia un nuevo objeto List para guardar los registros
                        List<tblPedido_Articulos> array = new List<tblPedido_Articulos> { };
                        //Se recorren los resultados de la consulta
                        foreach (var objPedido_Articulos in listado) {
                            //Se añade cada registro al List
                            if (objPedido_Articulos.estado == true) {
                                array.Add(objPedido_Articulos);
                            }
                        }

                        //Se ingresan los registros obtenidos de una lista accesible por el DataSource
                        tblListado.DataSource = array;
                        tblListado.DataBind();

                        lblMensaje.Text = "";
                    }//Fin Else-IF
                } else {
                    lblMensaje.Text = "*Campo Vacío";
                    lblMensaje.Visible = true;
                }//Fin IF
            } catch (Exception ex) {
                lblMensaje.Text = "" + ex.Message;
                lblMensaje.Visible = true;
            }//Fin Try-Catch
           
        }//Fin using

        #region deprecated

        //Validación de campo para el txtId
        //if (!(txtId.Text == ""))
        //{


        //    //Parseo
        //    objPedidoArticulos.Id_pedido_articulos = int.Parse(txtId.Text);

        //    //llamado al método para listar el la capa de negocio
        //    objPedidoArticulos.listar(objPedidoArticulos);

        //    //Validación de proceso exitoso
        //    if (objPedidoArticulos.Exito)
        //    {
        //        //Se define el gridview con los datos de retorno
        //        tblListado.DataSource = objPedidoArticulos.Ds;
        //        tblListado.DataBind();
        //        limpiar();

        //    }
        //    else
        //    {
        //        //En caso contrario se infroma error
        //        lblMensaje.Text = objPedidoArticulos.Mensaje;
        //        lblMensaje.Visible = true;

        //    }

        //}
        //else
        //{
        //    //Si el campo esta vacio se informa
        //    lblMensaje.Text = "No se puede listar con el campo vacío";
        //    lblMensaje.Visible = true;

        //}

        #endregion

    }//Fin btnListar
    }//Fin btnListar


    /// <summary>
    /// Listener boton listar por id pedido
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnListarPorPedido_Click(object sender, EventArgs e)
    {
        try {
            using (DB_PAAC4G4ArriagadaSepulvedaVidalEntities db = new DB_PAAC4G4ArriagadaSepulvedaVidalEntities()) {

                //Se valida que el campo de text no se encuentre vacío
                if (txtIdPedido.Text != "") {
                    //Instanciación de la entidad
                    tblPedido_Articulos objPedidoArticulos = new tblPedido_Articulos();
                    //Parseo del id_pedido a buscar
                    objPedidoArticulos.id_pedido = int.Parse(txtIdPedido.Text);

                    //Se realiza una consulta a un procedimiento almacenado mediante el uso del EntityFramework para obtener los registros por id_pedido
                    var filtroPedido = db.Database.SqlQuery<tblPedido_Articulos>("pa_listarPedidoArticulosPorPedido @id_pedido",
                        new SqlParameter("@id_pedido", objPedidoArticulos.id_pedido));

                    //Instanciación de un arreglo
                    List<tblPedido_Articulos> array = new List<tblPedido_Articulos> { };

                    //Recorrido de la consulta
                    foreach (var objPedidoArticulo in filtroPedido) {
                        //Ingreso de los registros al arreglo
                        if (objPedidoArticulo.estado == true) {
                            array.Add(objPedidoArticulo);
                        }
                    }

                    //Definición del datasource con el arreglo con sus atributos
                    tblListado.DataSource = array;
                    tblListado.DataBind();

                    lblMensajeListaPedido.Text = "";
                } else {
                    lblMensajeListaPedido.Text = "*Campo vacío";
                    lblMensajeListaPedido.Visible = true;
                }//Fin IF
            }//Fin using

        } catch (Exception ex) {
            lblMensajeListaPedido.Text = ex.Message;
            lblMensajeListaPedido.Visible = true;

        }//Fin try-catch


        #region deprecated
        // PedidoArticulos objPedidoArticulos = new PedidoArticulos();

        //Validación de campo vacío
        // if (!(txtIdPedido.Text == ""))
        // {
        //Parseo
        //   objPedidoArticulos.Id_pedido = int.Parse(txtIdPedido.Text);

        //Llamado al método para listar por pedido en la capa de negocio
        //   objPedidoArticulos.listarPorPedido(objPedidoArticulos);

        //Validacion de proceso exitoso
        //   if (objPedidoArticulos.Exito)
        //   {
        //Se define el data view
        //        tblListado.DataSource = objPedidoArticulos.Ds;
        //      tblListado.DataBind();
        //      limpiar();
        //  }
        // else
        // {
        //En caso contrario se informa
        //      lblMensajeListaPedido.Text = objPedidoArticulos.Mensaje;
        //     lblMensajeListaPedido.Visible = true;

        //   }

        //  }
        //  else
        // {
        //Si esl campo esta vacío se informa
        //     lblMensajeListaPedido.Text = "No se puede listar con el campo vacío";
        //     lblMensajeListaPedido.Visible = true;
        // }
        #endregion


    }//Fin btnListarPorPedido