protected void btnBuscarNueva_Click(object sender, EventArgs e)
        {
            if (txtOTNueva.Text != "")
            {
                try
                {
                    Controller_XML xml = new Controller_XML();
                    XMLFormato     mf  = xml.ConsultaOTManual(txtOTNueva.Text);

                    lblTipo.Text = ((mf.NombreOT != null) ? "Existe" : "Nueva");
                    if (mf.NombreOT != null)
                    {
                        txtNombreOT.Visible = false;
                        lblNombreOT.Visible = true;
                        lblNombreOT.Text    = mf.NombreOT;
                        ddlCliente.Visible  = false;
                        lblCliente.Visible  = true;
                        lblCliente.Text     = mf.Cliente;
                        txtOT.Text          = txtOTNueva.Text;

                        RadGrid1.DataSource = xml.ListaGruposPaginas(txtOTNueva.Text, 13);
                        RadGrid1.DataBind();
                        btnAgregar.Visible   = true;
                        btnFinalizar.Visible = true;
                    }
                    else
                    {
                        ddlCliente.Visible  = true;
                        lblNombreOT.Visible = false;
                        txtNombreOT.Visible = true;
                        lblCliente.Visible  = false;
                        RadGrid1.DataSource = "";
                        RadGrid1.DataBind();
                    }
                }
                catch (Exception ex)
                {
                }
            }
        }
        protected void Button3_Click(object sender, EventArgs e)
        {
            string aa = ddlCliente.SelectedItem.Value;
            string b  = ddlCliente.SelectedValue;


            bool validacion = false;

            if (Request.QueryString["admin"] != null && lblTipo.Text == "Nueva" && txtNombreOT.Text != "" && ddlCliente.SelectedItem.Value != "0")
            {
                validacion = true;
            }
            else if (Request.QueryString["admin"] != null && lblTipo.Text == "Existe" && lblNombreOT.Text != "" && lblCliente.Text != "")
            {
                validacion = true;
            }
            else if (Request.QueryString["admin"] == null && lblNombreOT.Text != "" && lblCliente.Text != "")
            {
                validacion = true;
            }
            else
            {
                validacion = false;
            }

            if (validacion == true)
            {
                string OT = ""; string NombreOT = ""; string Cliente = "";
                if (Request.QueryString["admin"] != null && lblTipo.Text != "Existe")
                {
                    OT       = txtOTNueva.Text;
                    NombreOT = Regex.Replace(txtNombreOT.Text.ToUpper(), @"[^\w\s.!@$%^&*()\-\/]+", "").Replace("&", "").Replace("ñ", "N").Replace("°", "").Replace("Á", "A").Replace("É", "E").Replace("Í", "I").Replace("Ó", "O").Replace("Ú", "U").Replace("#", "");
                    Cliente  = ddlCliente.SelectedItem.ToString();
                }
                else
                {
                    OT       = txtOT.Text;
                    NombreOT = Regex.Replace(lblNombreOT.Text.ToUpper(), @"[^\w\s.!@$%^&*()\-\/]+", "").Replace("&", "").Replace("ñ", "N").Replace("°", "").Replace("Á", "A").Replace("É", "E").Replace("Í", "I").Replace("Ó", "O").Replace("Ú", "U").Replace("#", "");
                    Cliente  = lblCliente.Text;
                }

                //string OT = txtOT.Text;
                //string NombreOT = Regex.Replace(lblNombreOT.Text, @"[^\w\s.!@$%^&*()\-\/]+", "").Replace("&", "").Replace("ñ", "N"); string Cliente = lblCliente.Text;


                string               PrimerColorFlow = ""; string UltimoColorFlow = "";
                XMLFormato           xf = new XMLFormato();
                Controller_XML       xc = new Controller_XML();
                List <XMLFormato>    ListaGrupos = new List <XMLFormato>();
                List <APA_Clientes>  listadoAPAClientes = xc.ClientesAPA();
                List <NotasAntiguas> ListadoClientesNA = xc.Clientes_NotasAntiguas();
                for (int i = 0; i < RadGrid1.Items.Count; i++)
                {
                    XMLFormato xm = new XMLFormato();
                    xm.NombreGrupo   = RadGrid1.Items[i]["NombreGrupo"].Text;
                    xm.Paginas       = Convert.ToInt32(RadGrid1.Items[i]["Paginas"].Text);
                    xm.Inicio        = Convert.ToInt32(RadGrid1.Items[i]["Inicio"].Text);
                    xm.Formato       = RadGrid1.Items[i]["Formato"].Text;
                    xm.X             = Math.Round((Convert.ToDouble(RadGrid1.Items[i]["FormatoX"].Text.ToString()) * 2.8346) - 2).ToString() + "-" + Math.Round((Convert.ToDouble(RadGrid1.Items[i]["FormatoX"].Text.ToString()) * 2.8346) + 2).ToString();
                    xm.Y             = Math.Round((Convert.ToDouble(RadGrid1.Items[i]["FormatoY"].Text.ToString()) * 2.8346) - 2).ToString() + "-" + Math.Round((Convert.ToDouble(RadGrid1.Items[i]["FormatoY"].Text.ToString()) * 2.8346) + 2).ToString();
                    xm.Papel         = RadGrid1.Items[i]["Papel"].Text;
                    xm.ColorTiro     = Convert.ToInt32(RadGrid1.Items[i]["ColorTiro"].Text);
                    xm.ColorRetiro   = Convert.ToInt32(RadGrid1.Items[i]["ColorRetiro"].Text);
                    xm.Colores       = Convert.ToInt32(RadGrid1.Items[i]["Colores"].Text);
                    xm.ColorEspecial = Convert.ToInt32(RadGrid1.Items[i]["ColorEspecial"].Text);

                    if (xm.Papel == "Couche" || xm.Papel == "LWC" || xm.Papel == "Cartulina")
                    {
                        xm.ColorFlow = "Ink Opt Fogra_39_v2";
                    }
                    else if (xm.Papel == "Bond")
                    {
                        xm.ColorFlow = "Ink Opt Fogra 29 _v2";
                    }
                    else
                    {
                        xm.ColorFlow = "Ink Opt Papel diario";
                    }
                    xm.XNota = RadGrid1.Items[i]["FormatoX"].Text.ToString();
                    xm.YNota = RadGrid1.Items[i]["FormatoY"].Text.ToString();

                    string Refinado = "4 CMYK";
                    if (xm.Colores == 4 && xm.ColorEspecial == 0)
                    {
                        switch (xm.Papel.ToLower())
                        {
                        case "bond":
                            Refinado = "1 CMYK CF BOND"; break;

                        case "couche":
                            Refinado = "2 CMYK CF COUCHE"; break;

                        case "diario":
                            Refinado = "3 CMYK CF DIARIO"; break;

                        default:
                            Refinado = "4 CMYK"; break;
                        }
                    }
                    else if (xm.Colores >= 4 && xm.ColorEspecial >= 1)
                    {
                        switch (xm.Papel.ToLower())
                        {
                        case "bond":
                            Refinado = "5 CMYK CF BOND PLANOS"; break;

                        case "couche":
                            Refinado = "6 CMYK CF COUCHE PLANOS"; break;

                        case "diario":
                            Refinado = "7 CMYK CF DIARIO PLANOS"; break;

                        default:
                            Refinado = "4 CMYK"; break;
                        }
                    }
                    else if (xm.Colores <= 3 && xm.ColorEspecial == 0)
                    {
                        Refinado = "4 CMYK";
                    }
                    else if (xm.Colores == 1 && xm.ColorEspecial == 0) // && Negro >= 1
                    {
                        Refinado = "8 ESCALA GRISES";
                    }
                    else
                    {
                        Refinado = "4 CMYK";
                    }
                    xm.RefinarCon = Refinado;

                    ListaGrupos.Add(xm);
                }

                string miXML = ""; string miXMLenc = ""; string Notas = ""; string NotasAnidadas = ""; string NotasEstructura = "";

                //Recorrer numero de paginas
                string arregloPrefijo = "p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,e,f,g,h,j,k,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,e,f,g,h,j,k,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,e,f,g,h,j,k"; string APA = "";
                foreach (var it in ListaGrupos)
                {
                    if (it.NombreGrupo.ToLower().Contains("pagina"))
                    {
                        PrimerColorFlow = it.ColorFlow;
                    }
                    if (UltimoColorFlow == "")
                    {
                        UltimoColorFlow = it.ColorFlow;
                    }
                    string Papel      = ((Cliente.ToLower().Contains("copesa")) ? "" : it.Papel);
                    string Prefijo    = (it.NombreGrupo.ToLower().Contains("paginas") ? "p" : it.NombreGrupo + "");
                    string Prefijoxml = arregloPrefijo.Substring(0, 2);
                    miXML += "<GrupoPaginas>" +
                             "<NombreGrupoPaginas>" + it.NombreGrupo + "</NombreGrupoPaginas>" +
                             "<CantidadPaginas>" + it.Paginas.ToString() + "</CantidadPaginas>" +
                             "<InicioGrupo>" + it.Inicio + "</InicioGrupo>" +
                             "<X>" + it.X + "</X>" +
                             "<Y>" + it.Y + "</Y>" +
                             "<Prefijo>" + Prefijoxml.Replace(",", "") + "</Prefijo>" +
                             "<ColorPapel>" + Papel + "</ColorPapel>" +
                             "<ColorFlow>" + it.ColorFlow + "</ColorFlow>" +
                             "<RefinarCon>" + it.RefinarCon + "</RefinarCon>" +
                             "</GrupoPaginas>";

                    var Clie = ListadoClientesNA.Where(x => x.Cliente == Cliente).FirstOrDefault();
                    if (Clie != null)
                    {
                        //NOTAS ANTIGUAS MODIFICADO EL 20201005_1119
                        Notas += "Para " + it.NombreGrupo + ":<br/>" +
                                 it.OT + Prefijo + "1.pdf<br/>" +
                                 "Donde " + it.OT + " Corresponde al numero de OT, " + Prefijo + " indica que forma parte de las " + it.NombreGrupo + " y " + it.Inicio + " indica la posicion dentro de estas.<br/>" +
                                 it.NombreGrupo + " mide " + it.XNota + " mm de ancho y " + it.YNota + " mm de alto, con una cantidad de " + it.Paginas + ".<br/><br/>";
                    }
                    else
                    {
                        //Notas Nuevas
                        NotasEstructura += "  " + it.NombreGrupo + " mide " + it.XNota + " mm de ancho y " + it.YNota + " mm de alto, con una cantidad de " + it.Paginas + ".<br/>";
                        Notas           += "  Para " + it.NombreGrupo + ": " + OT + it.NombreGrupo + ".p1.pdf Donde p1 indica la posición de la página.<br/>";
                        NotasAnidadas   += "  Para " + it.NombreGrupo + ": El PDF anidado debe llamarse " + OT + it.NombreGrupo + ".pdf<br/>";
                    }
                    //NotasEstructura += "  "+it.NombreGrupo + " mide " + it.XNota + " mm de ancho y " + it.YNota + " mm de alto, con una cantidad de " + it.Paginas + ".<br/>";
                    //Notas += "  Para " + it.NombreGrupo + ": "+it.NombreGrupo+ ".p1.pdf Donde p1 indica la posición de la página.<br/>";
                    //NotasAnidadas += "  Para " + it.NombreGrupo + ": El PDF anidado debe llamarse " + it.NombreGrupo + ".pdf<br/>";

                    if (it.NombreGrupo.ToLower().Contains("interior") && listadoAPAClientes.Where(x => x.Cliente == Cliente).Count() > 0)
                    {
                        string miApa = listadoAPAClientes.Where(x => x.Cliente == Cliente && NombreOT.ToLower().Contains(x.Keyword.ToLower())).Select(p => p.APA).FirstOrDefault();
                        APA += "ASSIGN= &quot;" + miApa + "&quot; &quot;" + it.NombreGrupo + "&quot; [#PgPosition] 1<br/>";
                    }
                    APA += "ASSIGN= &quot;" + OT + Prefijo + "[#PgPosition].p1.pdf&quot; &quot;" + it.NombreGrupo + "&quot; [#PgPosition] 1<br/>";
                    APA += "ASSIGN= &quot;" + OT + it.NombreGrupo + ".p[#PgPosition].p1.pdf&quot; &quot;" + it.NombreGrupo + "&quot; [#PgPosition] 1<br/>";
                    APA += "ASSIGN= &quot;" + OT + it.NombreGrupo + ".p[#PgPosition].pdf&quot; &quot;" + it.NombreGrupo + "&quot; [#PgPosition] 1<br/>";

                    //APA Especial para NATURA
                    //if (Cliente.ToLower().Contains("natura") && NombreOT.ToLower().Contains("catal")&& it.NombreGrupo.ToLower().Contains("pagina"))
                    //{
                    //    APA += "ASSIGN= &quot;[%]_[$]_[#PgPosition].p1.pdf&quot; &quot;" + it.NombreGrupo + "&quot; [#PgPosition] 1<br/>";
                    //}
                    //  arregloPrefijo = arregloPrefijo.Replace(Prefijoxml, "");
                    arregloPrefijo = arregloPrefijo.Substring(2, arregloPrefijo.Length - 2);
                }
                try
                {
                    if (miXML != "")
                    {
                        string NotaAntigua = "Estimado Cliente:<br/><br/>La nomenclatura a utilizar en sus archivos es la siguiente:<br/><br/>" + Notas + "<br/>En caso de dudas, contáctese con su representante de servicio al cliente.";
                        string NotaNueva   = "Estimado Cliente: <br/><br/>Su trabajo tiene una estructura, que se descompone en distintos grupos de páginas, los que se muestran y explican a continuación:" +
                                             "<br/><br/>Estructura del trabajo<br/>" + NotasEstructura + "<br/><br/>" +
                                             "La carga de archivos se realiza por cada grupo de páginas de la estructura. La nomenclatura a utilizar para cargar sus archivos es la siguiente:" +
                                             "<br/><br/>SI CARGA ARCHIVOS ANIDADOS(1 solo PDF con todas las páginas del grupo)<br/>" + NotasAnidadas +
                                             "<br/><br/>SI CARGA ARCHIVOS SEPARADOS (1 PDF por página)<br/>" + Notas + "<br/><br/>En caso de dudas, contáctese con su representante de servicio al cliente.";
                        //string NotaCompleta = "Estimado Cliente: <br/><br/><br/>Estructura del trabajo<br/>" + NotasEstructura + "<br/><br/>La nomenclatura a utilizar para cargar sus archivos es la siguiente:<br/><br/>SI CARGA ARCHIVOS SEPARADOS (PDF generados de 1 a 1)<br/>" + Notas + "<br/>SI CARGA PAGINAS ANIDADAS(1 solo PDF con todas las paginas)<br/>" + NotasAnidadas;
                        var Clien = ListadoClientesNA.Where(x => x.Cliente == Cliente).FirstOrDefault();
                        //string NotaCompleta = "Estimado Cliente: <br/><br/><br/>Estructura del trabajo<br/>"+NotasEstructura+ "<br/><br/>La nomenclatura a utilizar para cargar sus archivos es la siguiente:<br/><br/>SI CARGA ARCHIVOS SEPARADOS (PDF generados de 1 a 1)<br/>" + Notas + "<br/>SI CARGA PAGINAS ANIDADAS(1 solo PDF con todas las paginas)<br/>" + NotasAnidadas;
                        miXMLenc = "<ConfiguracionTrabajo NOTA='" + ((Clien != null) ? NotaAntigua : NotaNueva).Replace("<br/>", "&#xA;\n") + "' Cliente='" + Cliente.Trim() + "' ColorFlow='" + (PrimerColorFlow != "" ? PrimerColorFlow : UltimoColorFlow) + "' APA='!APA 1.0 <br/>" +
                                   //string NotaCompleta = Notas + "SI CARGA PAGINAS ANIDADAS(1 solo PDF con todas las paginas)<br/>" + NotasAnidadas;
                                   //miXMLenc = "<ConfiguracionTrabajo NOTA='Estimado Cliente: <br/><br/><br/>La nomenclatura a utilizar en sus archivos es la siguiente:<br/><br/>" + NotaCompleta.Replace("<br/>", "&#xA;\n") + "<br/><br/>En caso de dudas contacese con su reprentante de servicio al cliente.' Cliente='" + Cliente.Trim() + "' ColorFlow='" + (PrimerColorFlow != "" ? PrimerColorFlow : UltimoColorFlow) + "' APA='!APA 1.0 <br/>" +
                                   //"ASSIGN= &quot;000001p[#PgPosition].p1.pdf&quot; &quot;Paginas&quot; [#PgPosition] 1<br/>" +
                                   //"ASSIGN= &quot;000001Tapa[#PgPosition].p1.pdf&quot; &quot;Tapa&quot; [#PgPosition] 1<br/>" +
                                   APA +
                                   "' Username='******' NombreTrabajo='" + NombreOT.Trim() + "' CSR='" + lblCSR.Text + "' CorreoCSR='' ClienteNuevo='Si'>";
                        //"' Username='******' NombreTrabajo='" + NombreOT + "' CSR='" + item.CSR + "' CorreoCSR='" + item.CorreoCSR + "' ClienteNuevo='" + item.EstadoCliente + "'>";

                        miXML += "</ConfiguracionTrabajo>";
                        XElement xml = XElement.Parse(miXMLenc.Replace("<br/>", "&#xA;\n") + miXML);

                        XDocument pruebaXml = new XDocument(xml);
                        string    a         = HttpContext.Current.Server.MapPath("~/Prueba/" + OT.Trim() + "_" + NombreOT.Trim() + "_ConfiguracionTrabajo.xml");
                        pruebaXml.Save(a);

                        string FormaCreacion = "";
                        if (Request.QueryString["admin"] == null)
                        {
                            FormaCreacion = "Parte Manual";
                        }
                        else
                        {
                            FormaCreacion = "Parte Manual Completo";
                        }

                        Controller_XML xmlx = new Controller_XML();
                        string         ale  = xmlx.InsertSincronizacion(OT, NombreOT, Cliente, "Creada", 1, FormaCreacion, 0);

                        miXML = "";
                        Notas = "";


                        //INSERT ESTRUCTURA
                        Controller_XML xxml         = new Controller_XML();
                        int            ultimavrsion = xxml.InsertUltimaVersion(OT, "", 0, 0, 0, 0, "", 2, 0, 0, 0);
                        if (ultimavrsion >= 1)
                        {
                            for (int i = 0; i < RadGrid1.Items.Count; i++)
                            {
                                int ALGO = xxml.InsertEstructura(OT, RadGrid1.Items[i]["NombreGrupo"].Text, Convert.ToInt32(RadGrid1.Items[i]["Paginas"].Text), Convert.ToInt32(RadGrid1.Items[i]["Inicio"].Text), Convert.ToInt32(RadGrid1.Items[i]["FormatoX"].Text.ToString()), Convert.ToInt32(RadGrid1.Items[i]["FormatoY"].Text.ToString()), RadGrid1.Items[i]["Papel"].Text, ultimavrsion.ToString(), 1, Convert.ToInt32(RadGrid1.Items[i]["ColorTiro"].Text.ToString()), Convert.ToInt32(RadGrid1.Items[i]["ColorRetiro"].Text.ToString()), Convert.ToInt32(RadGrid1.Items[i]["ColorEspecial"].Text.ToString()));
                            }
                        }

                        if (Request.QueryString["admin"] == null)
                        {
                            string popupScript = "<script language='JavaScript'> alert('Parte creado correctamente');location.href='ParteManual.aspx' </script>";
                            Page.RegisterStartupScript("PopupScript", popupScript);
                        }
                        else
                        {
                            string popupScript = "<script language='JavaScript'> alert('Parte creado correctamente');location.href='ParteManual.aspx?admin=preprensa' </script>";
                            Page.RegisterStartupScript("PopupScript", popupScript);
                        }
                    }
                }
                catch (Exception ex)
                {
                    string errorrr = ex.Message.ToString();
                }
                miXML = "";
                Notas = "";
            }//poner else con alerta

            //return "";
        }