protected void btnFinRetencion_Click(object sender, EventArgs e)
        {
            int cant = 0;

            lblMensajeConfirma.Text         = "";
            lblMensajeConfirma.Visible      = false;
            this.lblMensajeConfirma.Visible = false;
            this.trError.Visible            = false;

            IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>();

            usuario = (IUsuarios)Session["usuario"];                                     //cargo el usuario
            cant    = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndexConfirma.Text); //la cantidad de guias cargadas
            string     Errores = "", ObDetalle = "";
            List <int> GuiasBien = new List <int>();
            string     txtFecha  = "";

            for (int i = 0; i < cant; i++)
            {
                string txt = "txtConfirma" + i;                                                //cargo el numero de la guia
                string ddl = "ddl" + i.ToString();
                string txtFechaConfirma          = "txtFechaConfirma" + i.ToString();          //cargo la fecha
                string txtDetalleUsuarioConfirma = "txtDetalleUsuarioConfirma" + i.ToString(); //cargo el detalle ingresado

                txtFecha = Request.Form[txtFechaConfirma].ToString();

                string nroGuia = Request.Form[txt].ToString();
                ObDetalle = Request.Form[txtDetalleUsuarioConfirma].ToString();
                string tGuia = "";

                //separo el numero de la guia
                tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1));
                string nroSucursal = nroGuia.Substring(1, 4);
                string nGuia       = nroGuia.Substring(5);

                //traigo el guiaid
                IGuia oGuia = GuiaFactory.GetGuia();
                oGuia.NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
                oGuia.NroSucursalGuia = nroSucursal;
                oGuia.TipoGuia        = tGuia;
                oGuia.Consultar();

                //cargo el guiaid para guardar en una tabla para que ya se sepa que guia se pidio turno
                guiaidST = oGuia.GuiaID;

                try
                {
                    //valido que lo ingresado sea una fecha.
                    Convert.ToDateTime(txtFecha);
                    //valida que la fecha no sea menor a la fecha actual

                    //if (Convert.ToDateTime(txtFecha) < hoy)
                    //    if (Errores == "")
                    //    {
                    //        Errores = "Fecha mal ingresada " + txtFecha + "para la guia " + tGuia + "-" + nroSucursal + nGuia;
                    //    }
                    //    else
                    //    {
                    //        Errores = Errores + "Fecha mal ingresada " + txtFecha + "para la guia " + tGuia + "-" + nroSucursal + nGuia;
                    //    }
                }
                catch
                {
                    if (Errores == "")
                    {
                        Errores = "Debe ingresar una Fecha para la guia " + tGuia + "-" + nroSucursal + nGuia;
                    }
                    else
                    {
                        Errores = Errores + "Debe ingresar una Fecha para la guia " + tGuia + "-" + nroSucursal + nGuia;
                    }
                }
                //si tiene error que no entre que directamente muestre el error

                if (Errores == "")
                {
                    if (_guiasDominio.ValidaGuiaRetenidas(guiaidST) != 0)//quiere decir que se envio el mail esta cargado en la tabla verificar si esta en estado 1
                    {
                        if (Errores == "")
                        {
                            Errores = tGuia + "-" + nroSucursal + "-" + nGuia;
                        }
                        else
                        {
                            Errores = Errores + tGuia + "-" + nroSucursal + "-" + nGuia;
                        }
                    }
                }
                if (Errores == "")
                {
                    //guarda las guias que no traen ningun error
                    GuiasBien.Add(guiaidST);
                }
            }
            //recorre para actualizar las guias que estan bien
            try
            {
                for (int i2 = 0; i2 < GuiasBien.Count; i2++)
                {
                    _guiasDominio.ActualizaEstadoFechaRetenida(guiaidST, Convert.ToDateTime(txtFecha), usuario.UsuarioID, ObDetalle);//actualiza el estado y carga la fecha
                }
            }
            catch
            {
                string scriptString = "<script language=JavaScript>\n";
                scriptString += "alert('Error al intentar finalizar la retencion');\n";
                scriptString += "</script>";
                Page.RegisterStartupScript("scrip", scriptString);
            }
            if (Errores == "")
            {
                this.txtGuiaIndexConfirma.Text = "0";
                string scriptString = "<script language=JavaScript>\n";
                scriptString += "alert('Retención finalizada.');\n";
                scriptString += "</script>";
                Page.RegisterStartupScript("scrip", scriptString);
            }

            else
            {
                this.txtGuiaIndexConfirma.Text  = "0";
                lblMensajeConfirma.Text         = "Las siguientes guias tienen problemas para ser retenidas: " + Errores;
                lblMensajeConfirma.Visible      = true;
                this.lblMensajeConfirma.Visible = true;
                this.trError.Visible            = true;
            }
        }