public string ActualizarCMC1(int IdCartel,
                                     int IdModelo,
                                     int Digitos,
                                     string NomPlantilla,
                                     List <SCE_CARTEL_MODELO_CAMPO_BE> lstCartelModelosCampos,
                                     string PosFCX,
                                     string PosFCY)
        {
            try
            {
                BE               = new SCE_CARTEL_MODELO_BE();
                BE.ID_CARTEL     = IdCartel;
                BE.ID_MODELO     = IdModelo;
                BE.DIGITOS       = Digitos;
                BE.NOM_PLANTILLA = NomPlantilla;
                BE.CAMPOS        = lstCartelModelosCampos;
                DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);

                using (TransactionScope scope = new TransactionScope())
                {
                    DA.ActualizarCMC1(BE, PosFCX, PosFCY);
                    scope.Complete();
                    return(System.Configuration.ConfigurationManager.AppSettings["CMC_MD"]);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #2
0
    protected void grvListCartelCampo_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int index = Convert.ToInt32(e.CommandArgument);

        int IdCartel = Convert.ToInt32(grvListCartelCampo.DataKeys[index].Values[0].ToString());

        hidIdCartel.Value = Convert.ToString(IdCartel);

        int IdModelo = Convert.ToInt32(grvListCartelCampo.DataKeys[index].Values[1].ToString());

        hidIdModelo.Value = Convert.ToString(IdModelo);

        if (e.CommandName == "Editar")
        {
            Session["operacion"] = false;

            pnlDetalle.Visible = true;

            System.Text.StringBuilder sbScript = new System.Text.StringBuilder();
            sbScript.AppendFormat("document.getElementById('{0}').disabled=true;", txtCartelModelo.ClientID);
            Util.RegisterScript(upnlReglasCamp, "__DesabilitaCtrol__", sbScript.ToString());

            CARTEL_MODELO_BE     = CARTEL_MODELO_BL.ObtenerPorID(Convert.ToInt32(hidIdCartel.Value), Convert.ToInt32(hidIdModelo.Value));
            txtCartelModelo.Text = CARTEL_MODELO_BE.DESCRIPCION;

            grvCampos.DataSource = CARTEL_MODELO_BE.CAMPOS;
            grvCampos.DataBind();
        }
    }
        public void ActualizarCMC(int IdCartel,
                                  int IdModelo,
                                  List <SCE_CARTEL_MODELO_CAMPO_BE> lstCartelModelosCampos,
                                  int numMaxDigitos)
        {
            string CeroDigitos = string.Empty;

            try
            {
                BE           = new SCE_CARTEL_MODELO_BE();
                BE.ID_CARTEL = IdCartel;
                BE.ID_MODELO = IdModelo;
                BE.CAMPOS    = lstCartelModelosCampos;

                DA.SCE_CARTEL_MODELO_DA DA  = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
                DA.SCE_CARTEL_DA        DA1 = new DA.SCE_CARTEL_DA(usrLogin);

                CeroDigitos = DA1.EsCartelModeloCeroDigitos(IdCartel);

                using (TransactionScope scope = new TransactionScope())
                {
                    DA.ActualizarCMC(BE, numMaxDigitos, CeroDigitos);
                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        //-------------------------------------------------------------------------------------------------------

        public void ActualizarCMCP(string IdCartelModelo,
                                   int Digitos,
                                   List <SCE_CARTEL_MODELO_CATEGORIA_PROMOCION_BE> lstCartelModelosCategPromo)
        {
            string CeroDigitos = string.Empty;

            int IdCartel = Convert.ToInt32(IdCartelModelo.Substring(0, 4).ToString().Trim());
            int IdModelo = Convert.ToInt32(IdCartelModelo.Substring(4, 2).ToString().Trim());

            try
            {
                BE               = new SCE_CARTEL_MODELO_BE();
                BE.ID_CARTEL     = IdCartel;
                BE.ID_MODELO     = IdModelo;
                BE.CATEGS_PROMOS = lstCartelModelosCategPromo;

                DA.SCE_CARTEL_MODELO_DA DA  = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
                DA.SCE_CARTEL_DA        DA1 = new DA.SCE_CARTEL_DA(usrLogin);

                CeroDigitos = DA1.EsCartelModeloCeroDigitos(IdCartel);

                using (TransactionScope scope = new TransactionScope())
                {
                    DA.ActualizarCMCP(BE, Digitos, CeroDigitos);
                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void EliminarCMCP(SCE_CARTEL_MODELO_BE BE)
        {
            try
            {
                using (SqlConnection cn = new SqlConnection(SCE_SQLCONEXION.GetCadConexion(usrLogin)))
                {
                    cn.Open();

                    string sqlCartelModelo = "SP_SCE_CARTEL_MODELO_CATEGORIA_PROMOCION_DEL";

                    using (SqlCommand cmd = new SqlCommand(sqlCartelModelo, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        foreach (SCE_CARTEL_MODELO_CATEGORIA_PROMOCION_BE CARTEL_MODELO_CATEGORIA_PROMOCION_BE in BE.CATEGS_PROMOS)
                        {
                            cmd.Parameters.Clear();

                            cmd.Parameters.AddWithValue("@ID_CARTEL", BE.ID_CARTEL);
                            cmd.Parameters.AddWithValue("@ID_MODELO", BE.ID_MODELO);
                            cmd.Parameters.AddWithValue("@ID_CATEGORIA", CARTEL_MODELO_CATEGORIA_PROMOCION_BE.ID_CATEGORIA);
                            cmd.Parameters.AddWithValue("@ID_PROMOCION", CARTEL_MODELO_CATEGORIA_PROMOCION_BE.ID_PROMOCION);
                            cmd.ExecuteNonQuery();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public SCE_CARTEL_MODELO_BE ObtenerPorID(int IdCartel, int IdModelo)
        {
            SCE_CARTEL_MODELO_BE BE = null;

            try
            {
                using (SqlConnection cn = new SqlConnection(SCE_SQLCONEXION.GetCadConexion(usrLogin)))
                {
                    cn.Open();

                    string sql = "SP_SCE_CARTEL_MODELO_GET1";

                    using (SqlCommand cmd = new SqlCommand(sql, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.AddWithValue("@ID_CARTEL", IdCartel);
                        cmd.Parameters.AddWithValue("@ID_MODELO", IdModelo);

                        SqlDataReader reader = cmd.ExecuteReader();

                        if (reader.Read())
                        {
                            BE = new SCE_CARTEL_MODELO_BE();

                            BE.ID_CARTEL   = Convert.ToInt32(reader["ID_CARTEL"]);
                            BE.ID_MODELO   = Convert.ToInt32(reader["ID_MODELO"]);
                            BE.CODIGO      = Convert.ToString(reader["CODIGO"]).Trim();
                            BE.DESCRIPCION = Convert.ToString(reader["DESCRIPCION"]).Trim();

                            /* LLENA LA LISTA DE CAMPOS DEL CARTEL-MODELO */
                            List <SCE_CARTEL_MODELO_CAMPO_BE> lstCARTELMODELOCAMPO = new List <SCE_CARTEL_MODELO_CAMPO_BE>();

                            SqlDataReader drCARTELMODELOCAMPO = null;
                            drCARTELMODELOCAMPO = getCampos(IdCartel, IdModelo);

                            while (drCARTELMODELOCAMPO.Read())
                            {
                                SCE_CARTEL_MODELO_CAMPO_BE CARTEL_MODELO_CAMPO = new SCE_CARTEL_MODELO_CAMPO_BE();
                                CARTEL_MODELO_CAMPO.ID_CAMPO      = drCARTELMODELOCAMPO.GetInt32(0);
                                CARTEL_MODELO_CAMPO.NOM_CAMPO     = drCARTELMODELOCAMPO.GetString(1);
                                CARTEL_MODELO_CAMPO.DESCRIPCION   = drCARTELMODELOCAMPO.GetString(2);
                                CARTEL_MODELO_CAMPO.FLAGPERTENECE = drCARTELMODELOCAMPO.GetInt32(3);

                                lstCARTELMODELOCAMPO.Add(CARTEL_MODELO_CAMPO);
                            }

                            BE.CAMPOS = lstCARTELMODELOCAMPO;
                        }

                        return(BE);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void ActualizarCMC(SCE_CARTEL_MODELO_BE BE, int numMaxDigitos, string CeroDigitos)
        {
            try
            {
                using (SqlConnection cn = new SqlConnection(SCE_SQLCONEXION.GetCadConexion(usrLogin)))
                {
                    cn.Open();

                    string sqlCartelModelo1 = "SP_SCE_CARTEL_MODELO_CAMPO_DEL0";

                    using (SqlCommand cmd = new SqlCommand(sqlCartelModelo1, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.AddWithValue("@ID_CARTEL", BE.ID_CARTEL);
                        cmd.Parameters.AddWithValue("@ID_MODELO", BE.ID_MODELO);
                        cmd.ExecuteNonQuery();
                    }

                    string sqlCartelModelo2 = "SP_SCE_CARTEL_MODELO_CAMPO_INS";

                    using (SqlCommand cmd = new SqlCommand(sqlCartelModelo2, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        foreach (SCE_CARTEL_MODELO_CAMPO_BE CARTEL_MODELO_CAMPO_BE in BE.CAMPOS)
                        {
                            if (CeroDigitos == "S")
                            {
                                cmd.Parameters.Clear();
                                cmd.Parameters.AddWithValue("@ID_CARTEL", BE.ID_CARTEL);
                                cmd.Parameters.AddWithValue("@ID_MODELO", BE.ID_MODELO);
                                cmd.Parameters.AddWithValue("@DIGITOS", 0);
                                cmd.Parameters.AddWithValue("@ID_CAMPO", CARTEL_MODELO_CAMPO_BE.ID_CAMPO);
                                cmd.ExecuteNonQuery();
                            }
                            else if (CeroDigitos == "N")
                            {
                                for (int i = 1; i <= numMaxDigitos; i++)
                                {
                                    cmd.Parameters.Clear();
                                    cmd.Parameters.AddWithValue("@ID_CARTEL", BE.ID_CARTEL);
                                    cmd.Parameters.AddWithValue("@ID_MODELO", BE.ID_MODELO);
                                    cmd.Parameters.AddWithValue("@DIGITOS", i);
                                    cmd.Parameters.AddWithValue("@ID_CAMPO", CARTEL_MODELO_CAMPO_BE.ID_CAMPO);
                                    cmd.ExecuteNonQuery();
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public List <SCE_CARTEL_MODELO_BE> cboCartelModeloCMCP(int IdCategoria,
                                                               int IdPromocion,
                                                               int IdGuia,
                                                               int IdLinea)
        {
            List <SCE_CARTEL_MODELO_BE>       lstCartelesModelo    = new List <SCE_CARTEL_MODELO_BE>();
            List <SCE_CARTEL_MODELO_CAMPO_BE> lstCM_MULTICAMPO_VAL = new List <SCE_CARTEL_MODELO_CAMPO_BE>();
            List <SCE_CARTEL_MODELO_BE>       lstCM = new List <SCE_CARTEL_MODELO_BE>();
            SCE_CARTEL_MODELO_BE CM;

            try
            {
                DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);

                /*OBTENER EL LISTADO TODOS LOS CARTELES ASIGNADOS A LA CATEGORIA PROMOCION
                 * QUE TENGAN UNA PLANTILLA ASIGNADA PREVIAMENTE*/
                lstCartelesModelo = DA.cboCartelModeloCMCP(IdCategoria, IdPromocion);

                for (int i = 0; i < lstCartelesModelo.Count; i++)
                {
                    int IdCartel = Convert.ToInt32(lstCartelesModelo[i].ID_CARTEL);
                    int IdModelo = Convert.ToInt32(lstCartelesModelo[i].ID_MODELO);
                    int Digitos  = Convert.ToInt32(lstCartelesModelo[i].DIGITOS);

                    /*VALIDA QUE COINCIDAN LOS CAMPOS DEL CARTEL CON LOS CAMPOS LLENOS DE LA LINEA
                     * DE DETALLE DE LA GUIA (CAMPOS LLENOS DEL PRODUCTO)*/
                    if (DA.ValidaCartelModeloLineaProducto(IdLinea,
                                                           IdGuia,
                                                           IdCartel,
                                                           IdModelo,
                                                           Digitos) == false)
                    {
                        //De la lista validada anteriormente ahora excluye los carteles que no
                        //tienen igual numero de digitos
                        if (DA.TieneIgualNroDigitos(IdLinea,
                                                    IdGuia,
                                                    IdCartel,
                                                    IdModelo,
                                                    Digitos) == true)
                        {
                            CM             = new SCE_CARTEL_MODELO_BE();
                            CM.CODIGO      = IdCartel.ToString("0000") + IdModelo.ToString("00") + Digitos.ToString();
                            CM.DESCRIPCION = lstCartelesModelo[i].DESCRIPCION.ToString().Trim();
                            lstCM.Add(CM);
                        }
                    }
                }

                return(lstCM);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public List <SCE_CARTEL_MODELO_BE> cboCartelModeloCMCP(int IdCategoria, int IdPromocion)
        {
            List <SCE_CARTEL_MODELO_BE> lstBE = new List <SCE_CARTEL_MODELO_BE>();
            SCE_CARTEL_MODELO_BE        BE    = null;

            try
            {
                using (SqlConnection cn = new SqlConnection(SCE_SQLCONEXION.GetCadConexion(usrLogin)))
                {
                    cn.Open();

                    string sql = "SP_SCE_CARTEL_MODELO_CATEGORIA_PROMOCION_CBO";

                    using (SqlCommand cmd = new SqlCommand(sql, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@ID_CATEGORIA", IdCategoria);
                        cmd.Parameters.AddWithValue("@ID_PROMOCION", IdPromocion);

                        SqlDataReader reader = cmd.ExecuteReader();

                        while (reader.Read())
                        {
                            BE = new SCE_CARTEL_MODELO_BE();

                            BE.ID_CARTEL   = Convert.ToInt32(reader["ID_CARTEL"]);
                            BE.ID_MODELO   = Convert.ToInt32(reader["ID_MODELO"]);
                            BE.DIGITOS     = Convert.ToInt32(reader["DIGITOS"]);
                            BE.DESCRIPCION = Convert.ToString(reader["DESCRIPCION"]).Trim();

                            lstBE.Add(BE);
                        }

                        return(lstBE);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public List <SCE_CARTEL_MODELO_BE> ListarCMConf()
        {
            List <SCE_CARTEL_MODELO_BE> lstBE = new List <SCE_CARTEL_MODELO_BE>();
            SCE_CARTEL_MODELO_BE        BE    = null;

            try
            {
                using (SqlConnection cn = new SqlConnection(SCE_SQLCONEXION.GetCadConexion(usrLogin)))
                {
                    cn.Open();

                    string sql = "SP_SCE_CARTEL_MODELO_SEL4";

                    using (SqlCommand cmd = new SqlCommand(sql, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        SqlDataReader reader = cmd.ExecuteReader();

                        while (reader.Read())
                        {
                            BE = new SCE_CARTEL_MODELO_BE();

                            BE.ID_CARTEL     = Convert.ToInt32(reader["ID_CARTEL"]);
                            BE.ID_MODELO     = Convert.ToInt32(reader["ID_MODELO"]);
                            BE.DIGITOS       = Convert.ToInt32(reader["DIGITOS"]);
                            BE.DESCRIPCION   = Convert.ToString(reader["DESCRIPCION"]).Trim();
                            BE.NRODIGITOS    = Convert.ToString(reader["NRODIGITOS"]).Trim();
                            BE.NOM_PLANTILLA = Convert.ToString(reader["NOM_PLANTILLA"]).Trim();

                            lstBE.Add(BE);
                        }

                        return(lstBE);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void EliminarCMCP(int IdCartel, int IdModelo, List <SCE_CARTEL_MODELO_CATEGORIA_PROMOCION_BE> lstCartelModelosCategPromo)
        {
            try
            {
                BE               = new SCE_CARTEL_MODELO_BE();
                BE.ID_CARTEL     = IdCartel;
                BE.ID_MODELO     = IdModelo;
                BE.CATEGS_PROMOS = lstCartelModelosCategPromo;

                DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);

                using (TransactionScope scope = new TransactionScope())
                {
                    DA.EliminarCMCP(BE);
                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public List <SCE_CARTEL_MODELO_BE> cboCartelModeloCP()
        {
            List <SCE_CARTEL_MODELO_BE> lstBE = new List <SCE_CARTEL_MODELO_BE>();
            SCE_CARTEL_MODELO_BE        BE    = null;

            try
            {
                using (SqlConnection cn = new SqlConnection(SCE_SQLCONEXION.GetCadConexion(usrLogin)))
                {
                    cn.Open();

                    string sql = "SP_SCE_CARTEL_MODELO_SEL3";

                    using (SqlCommand cmd = new SqlCommand(sql, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        SqlDataReader reader = cmd.ExecuteReader();

                        while (reader.Read())
                        {
                            BE = new SCE_CARTEL_MODELO_BE();

                            BE.CODIGO      = Convert.ToString(reader["CODIGO"]).Trim();
                            BE.DESCRIPCION = Convert.ToString(reader["DESCRIPCION"]).Trim();

                            lstBE.Add(BE);
                        }

                        return(lstBE);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    protected void btnImportar_Click(object sender, EventArgs e)
    {
        System.Text.StringBuilder sbScript = new System.Text.StringBuilder();

        List <SCE_CARTEL_MODELO_CAMPO_BE> lstcmc = new List <SCE_CARTEL_MODELO_CAMPO_BE>();

        if (fuImportPlantillas.HasFile)
        {
            Session["sName"] = System.IO.Path.GetFileNameWithoutExtension(fuImportPlantillas.FileName);
            sExt             = System.Configuration.ConfigurationManager.AppSettings["EXCEL_FILE_EXTENCION"];
            Session["sPath"] = System.Configuration.ConfigurationManager.AppSettings["PATH_SERVER"] + Session["sName"] + sExt;

            if (ValidaExtension(sExt))
            {
                if (fuImportPlantillas.PostedFile.ContentLength > 4096)
                {
                    // Carga el archivo de la plantilla selecionada en el servidor
                    fuImportPlantillas.SaveAs((string)Session["sPath"]);

                    // Verificar si el archivo de la plantilla Excel tiene mas de una Hoja de Calculo
                    if (CARTEL_MODELO_BL.HaveMoreOneSheetExcel((string)Session["sPath"]) == true)
                    {
                        Util.RegisterAsyncAlert(upnlImportador, "__Alerta__", "La plantilla ha sido mal configurada porque tiene mas de una pestaña en esta. Por favor eliminar las pestañas adicionales y quede solo la que contiene el diseño de la plantilla y volver a reconfigurarla en el sistema.");

                        return;
                    }

                    // Obtiene los resultados de comparar los campos del Excel con los campos de la BD
                    bool   errores = false;
                    string PosFCX  = string.Empty;
                    string PosFCY  = string.Empty;

                    // Llena la grilla con el informe de la comparación del Excel y la BD
                    grvCampos.DataSource = CARTEL_MODELO_BL.GetInforme((string)Session["sPath"],
                                                                       Convert.ToInt32(hidIdCartel.Value),
                                                                       Convert.ToInt32(hidIdModelo.Value),
                                                                       Convert.ToInt32(hidDigitos.Value),
                                                                       ref errores,
                                                                       ref PosFCX,
                                                                       ref PosFCY);

                    grvCampos.DataBind();

                    if (errores == true) // En caso de que haiga diferencias entre el Excel y la BD
                    {
                        lblCartel.Text    = hidCartelModelo.Value.ToString();
                        lblDigitos.Text   = hidNroDigitos.Value.ToString();
                        lblPlantilla.Text = Session["sName"].ToString();

                        Util.RegisterAsyncAlert(upnlImportador, "__Alerta__", System.Configuration.ConfigurationManager.AppSettings["MCP_PNI"]);

                        upnlDetalleConf.Update();

                        sbScript.AppendFormat("document.getElementById('{0}').style.visibility='hidden';", btnVerPlantilla.ClientID);
                        Util.RegisterScript(upnlImportador, "__DesabilitaCtrol__", sbScript.ToString());

                        pnlBtnConfigurar.Visible  = false;
                        pnlDialgPlantilla.Visible = false;
                        pnlDetalle.Visible        = true;
                    }
                    else // En caso de que no haiga diferencias entre el Excel y la BD
                    {
                        // Convierte en PDF la plantilla Excel
                        CARTEL_MODELO_BL.ConvertExcelToPdf((string)Session["sPath"],
                                                           (System.Configuration.ConfigurationManager.AppSettings["PATH_SERVER"] + Session["sName"] + ".pdf"));

                        // Actualiza las tablas SCE_CARTEL_MODELO (NOM_PLANTILLA) y SCE_CARTEL_MODELO_CAMPO (Campos POS X y POS Y)
                        foreach (GridViewRow Row in grvCampos.Rows)
                        {
                            int i = Convert.ToInt32(Row.RowIndex);

                            CARTEL_MODELO_CAMPO_BE = new SCE_CARTEL_MODELO_CAMPO_BE();

                            CARTEL_MODELO_CAMPO_BE.ID_CAMPO = Convert.ToInt32(CAMPO_BL.GetIdCampo(Server.HtmlDecode(grvCampos.Rows[i].Cells[3].Text)));
                            CARTEL_MODELO_CAMPO_BE.POSX     = Server.HtmlDecode(grvCampos.Rows[i].Cells[1].Text);
                            CARTEL_MODELO_CAMPO_BE.POSY     = Server.HtmlDecode(grvCampos.Rows[i].Cells[2].Text);
                            lstcmc.Add(CARTEL_MODELO_CAMPO_BE);
                        }

                        // Actualiza la tabla SCE_CARTEL_MODELO (Campo NOM_PLANTILLA)
                        CARTEL_MODELO_BL.ActualizarCMC1(Convert.ToInt32(hidIdCartel.Value),
                                                        Convert.ToInt32(hidIdModelo.Value),
                                                        Convert.ToInt32(hidDigitos.Value),
                                                        Session["sName"].ToString(),
                                                        lstcmc,
                                                        PosFCX,
                                                        PosFCY);

                        // Llena el objeto con los resultados de la importacion realizada correctamente
                        CARTEL_MODELO_BE = CARTEL_MODELO_BL.ObtenerPorID1(Convert.ToInt32(hidIdCartel.Value),
                                                                          Convert.ToInt32(hidIdModelo.Value),
                                                                          Convert.ToInt32(hidDigitos.Value));

                        // Llena los labeles y la grilla con los campos que estan en la BD o NO
                        lblCartel.Text    = CARTEL_MODELO_BE.DESCRIPCION.ToString().Trim();
                        lblDigitos.Text   = CARTEL_MODELO_BE.NRODIGITOS.ToString().Trim();
                        lblPlantilla.Text = CARTEL_MODELO_BE.NOM_PLANTILLA.ToString().Trim();

                        /***********************************************************************************/
                        /*COPIA LA PLANTILLA EXCEL AL FILE SERVER POR SUPLANTACION DE WINDOWS*/
                        /***********************************************************************************/
                        //string strPathServer = System.Configuration.ConfigurationManager.AppSettings["PATH_SERVER"];
                        //string strPathFs = System.Configuration.ConfigurationManager.AppSettings["PATH_PLANTILLAS_FS"];

                        //string username = System.Configuration.ConfigurationManager.AppSettings["LOGIN_FS"];
                        //string password = System.Configuration.ConfigurationManager.AppSettings["PASSWORD_FS"];
                        //string domain = System.Configuration.ConfigurationManager.AppSettings["DOMINIO_FS"];

                        /***********************************************************************************/
                        /***********************************************************************************/

                        //// Create Impersonation Object
                        //WI impersonation = new WI(domain, username, password);

                        //// Start Impersonation
                        //impersonation.Impersonate();

                        ///*Copiar la plantilla Excel Generada en la servidor.*/
                        //FileInfo file = new FileInfo(Convert.ToString(Session["sPath"]));
                        //file.CopyTo(strPathFs + Session["sName"].ToString() + sExt, true);

                        //// Stop Impersonation
                        //impersonation.Revert();

                        /***********************************************************************************/
                        /***********************************************************************************/

                        //System.Security.Principal.WindowsImpersonationContext impersonationContext;
                        //impersonationContext = ((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate();

                        ///*Copiar la plantilla Excel Generada en la servidor.*/
                        //FileInfo file = new FileInfo(Session["sPath"].ToString());
                        //file.CopyTo(strPathFs + Session["sName"].ToString() + sExt, true);

                        //impersonationContext.Undo();

                        /***********************************************************************************/
                        /***********************************************************************************/

                        //if (impersonateValidUser(username, domain, password))
                        //{
                        //    //Insert your code that runs under the security context of the authenticating user here.
                        //    /*Copiar la plantilla Excel Generada en la servidor.*/
                        //    FileInfo file = new FileInfo(Convert.ToString(Session["sPath"]));
                        //    file.CopyTo(strPathFs + Session["sName"].ToString() + sExt, true);

                        //    undoImpersonation();
                        //}
                        //else
                        //{
                        //    //Your impersonation failed. Therefore, include a fail-safe mechanism here.
                        //}

                        /***********************************************************************************/
                        /***********************************************************************************/



                        /***********************************************************************************/
                        /***********************************************************************************/

                        // Llena la grilla de informe de importación
                        grvCampos.DataSource = CARTEL_MODELO_BE.CAMPOS;
                        grvCampos.DataBind();

                        Util.RegisterAsyncAlert(upnlImportador, "__Alerta__", System.Configuration.ConfigurationManager.AppSettings["MCP_PIC"]);

                        upnlDetalleConf.Update();

                        sbScript.AppendFormat("document.getElementById('{0}').style.visibility='visible';", btnVerPlantilla.ClientID);
                        Util.RegisterScript(upnlImportador, "__DesabilitaCtrol__", sbScript.ToString());

                        /************************/
                        CargaCartelesModelo();
                        upnlBusqueda.Update();
                        /************************/

                        pnlBtnConfigurar.Visible  = false;
                        pnlDialgPlantilla.Visible = false;
                        pnlDetalle.Visible        = true;
                    }
                }
                else
                {
                    Util.RegisterAsyncAlert(upnlImportador, "__Alerta__", "El archivo exede el tamaño permitido");

                    pnlBtnConfigurar.Visible  = false;
                    pnlDialgPlantilla.Visible = true;

                    upnlImportador.Update();
                }
            }
            else
            {
                Util.RegisterAsyncAlert(upnlImportador, "__Alerta__", "El archivo no es de tipo Excel");

                pnlBtnConfigurar.Visible  = false;
                pnlDialgPlantilla.Visible = true;

                upnlImportador.Update();
            }
        }
        else
        {
            Util.RegisterAsyncAlert(upnlImportador, "__Alerta__", "No ha seleccionado el archivo");

            pnlBtnConfigurar.Visible  = false;
            pnlDialgPlantilla.Visible = true;

            upnlImportador.Update();
        }
    }
    protected void btnBuscar_Click(object sender, ImageClickEventArgs e)
    {
        ImageButton img = (ImageButton)sender;
        GridViewRow row = (GridViewRow)img.Parent.Parent;

        System.Text.StringBuilder sbScript = new System.Text.StringBuilder();

        hidIdCartel.Value     = Server.HtmlDecode(row.Cells[1].Text);
        hidIdModelo.Value     = Server.HtmlDecode(row.Cells[2].Text);
        hidDigitos.Value      = Server.HtmlDecode(row.Cells[3].Text);
        hidNom.Value          = Server.HtmlDecode(row.Cells[4].Text) + " DE " + Server.HtmlDecode(row.Cells[5].Text);
        hidCartelModelo.Value = Server.HtmlDecode(row.Cells[4].Text);
        hidNroDigitos.Value   = Server.HtmlDecode(row.Cells[5].Text);

        if (CARTEL_MODELO_BL.ExistePlantilla(Convert.ToInt32(hidIdCartel.Value),
                                             Convert.ToInt32(hidIdModelo.Value),
                                             Convert.ToInt32(hidDigitos.Value)) == true)
        {
            CARTEL_MODELO_BE = CARTEL_MODELO_BL.ObtenerPorID1(Convert.ToInt32(hidIdCartel.Value),
                                                              Convert.ToInt32(hidIdModelo.Value),
                                                              Convert.ToInt32(hidDigitos.Value));

            if (CARTEL_MODELO_BE != null)
            {
                lblCartel.Text    = CARTEL_MODELO_BE.DESCRIPCION.ToString().Trim();
                lblDigitos.Text   = CARTEL_MODELO_BE.NRODIGITOS.ToString().Trim();
                lblPlantilla.Text = CARTEL_MODELO_BE.NOM_PLANTILLA.ToString().Trim();

                grvCampos.DataSource = CARTEL_MODELO_BE.CAMPOS;
                grvCampos.DataBind();

                sbScript.AppendFormat("document.getElementById('{0}').style.visibility='visible';", btnVerPlantilla.ClientID);

                pnlBtnConfigurar.Visible  = false;
                pnlDialgPlantilla.Visible = false;
                pnlDetalle.Visible        = true;
            }
            else
            {
                Util.RegisterAsyncAlert(upnlBusqueda, "__Alerta__", System.Configuration.ConfigurationManager.AppSettings["MCP_NEP"] + " " + Convert.ToString(hidNom.Value));

                sbScript.AppendFormat("document.getElementById('{0}').style.visibility='hidden';", btnVerPlantilla.ClientID);

                pnlBtnConfigurar.Visible  = false;
                pnlDialgPlantilla.Visible = false;
                pnlDetalle.Visible        = false;
            }

            upnlDetalleConf.Update();
            upnlConfigurar.Update();
        }
        else
        {
            upnlDetalleConf.Update();
            upnlConfigurar.Update();
            upnlImportador.Update();

            Util.RegisterAsyncAlert(upnlBusqueda, "__Alerta__", System.Configuration.ConfigurationManager.AppSettings["MCP_NEP"] + " " + Convert.ToString(hidNom.Value));

            pnlBtnConfigurar.Visible  = true;
            pnlDialgPlantilla.Visible = false;
            pnlDetalle.Visible        = false;
        }

        lblCartelPrint.Text = hidNom.Value;

        Util.RegisterScript(upnlConfigurar, "__DesabilitaCtrol__", sbScript.ToString());
    }
    protected void btnGuardar_Click(object sender, EventArgs e)
    {
        string strMsg        = "";
        int    numMaxDigitos = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["NroMaxDigitos"]);

        List <SCE_CARTEL_MODELO_BE> lstModelos = new List <SCE_CARTEL_MODELO_BE>();

        if (hidId.Value == "")
        {
            strMsg = CARTEL_BL.IsValid(0,
                                       txtDescripcion.Text.Trim().ToUpper(),
                                       (bool)Session["operacion"]);

            if (strMsg.Length > 0)
            {
                Util.RegisterAsyncAlert(upnlCarteles, "__Alerta__", strMsg);
                return;
            }

            foreach (GridViewRow Row in grvModelos.Rows)
            {
                int i = Convert.ToInt32(Row.RowIndex);

                CARTEL_MODELO_BE = new SCE_CARTEL_MODELO_BE();

                CheckBox check = Row.FindControl("chkSelection") as CheckBox;

                if (check.Checked)
                {
                    CARTEL_MODELO_BE.ID_MODELO = Convert.ToInt32(grvModelos.Rows[i].Cells[0].Text);
                    lstModelos.Add(CARTEL_MODELO_BE);
                }
            }

            CARTEL_BL.Insertar(txtDescripcion.Text.Trim().ToUpper(),
                               lstModelos,
                               numMaxDigitos,
                               chkCeroDigitos.Checked);

            //Util.RegisterAsyncAlert(upnlCarteles, "__Alerta__", Resources.Mensajes.msgCartelAlertEjecución);
        }
        else
        {
            strMsg = CARTEL_BL.IsValid(Convert.ToInt32(hidId.Value),
                                       txtDescripcion.Text.Trim().ToUpper(),
                                       (bool)Session["operacion"]);

            if (strMsg.Length > 0)
            {
                Util.RegisterAsyncAlert(upnlCarteles, "__Alerta__", strMsg);
                return;
            }

            foreach (GridViewRow Row in grvModelos.Rows)
            {
                int i = Convert.ToInt32(Row.RowIndex);
                CARTEL_MODELO_BE           = new SCE_CARTEL_MODELO_BE();
                CARTEL_MODELO_BE.ID_MODELO = Convert.ToInt32(grvModelos.Rows[i].Cells[0].Text);
                CheckBox check = Row.FindControl("chkSelection") as CheckBox;

                if (check.Checked)
                {
                    CARTEL_MODELO_BE.FLAGPERTENECE = 1;
                }
                else
                {
                    CARTEL_MODELO_BE.FLAGPERTENECE = 0;
                }

                lstModelos.Add(CARTEL_MODELO_BE);
            }

            CARTEL_BL.Actualizar(Convert.ToInt32(hidId.Value),
                                 txtDescripcion.Text.Trim().ToUpper(),
                                 lstModelos,
                                 numMaxDigitos,
                                 chkCeroDigitos.Checked);

            //Util.RegisterAsyncAlert(upnlCarteles, "__Alerta__", Resources.Mensajes.msgCartelAlertModificacion);
        }

        pnlDetalle.Visible = false;

        LoadData();

        System.Text.StringBuilder sbScript = new System.Text.StringBuilder();
        sbScript.AppendFormat("document.getElementById('{0}').value='';", txtNomCartelB.ClientID);
        Util.RegisterScript(upnlCarteles, "__DesabilitaCtrol__", sbScript.ToString());
    }
        public SCE_CARTEL_BE ObtenerPorID(int Id)
        {
            SCE_CARTEL_BE BE = null;

            try
            {
                using (SqlConnection cn = new SqlConnection(SCE_SQLCONEXION.GetCadConexion(usrLogin)))
                {
                    cn.Open();

                    string sql = "SP_SCE_CARTEL_GET";

                    using (SqlCommand cmd = new SqlCommand(sql, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.AddWithValue("@ID_CARTEL", Id);

                        SqlDataReader reader = cmd.ExecuteReader();

                        if (reader.Read())
                        {
                            BE = new SCE_CARTEL_BE();

                            BE.ID_CARTEL  = Convert.ToInt32(reader["ID_CARTEL"]);
                            BE.NOM_CARTEL = Convert.ToString(reader["NOM_CARTEL"]);

                            if (Convert.ToString(reader["CERO_DIGITOS"]) == "S")
                            {
                                BE.CERO_DIGITOS = 1;
                            }
                            else if (Convert.ToString(reader["CERO_DIGITOS"]) == "N")
                            {
                                BE.CERO_DIGITOS = 0;
                            }

                            /* LLENA LA LISTA DE MODELOS DEL CARTEL */
                            List <SCE_CARTEL_MODELO_BE> lstMODELOS = new List <SCE_CARTEL_MODELO_BE>();

                            SqlDataReader drMODELOS = null;
                            drMODELOS = getModelos(Id);

                            while (drMODELOS.Read())
                            {
                                SCE_CARTEL_MODELO_BE MODELO = new SCE_CARTEL_MODELO_BE();
                                MODELO.ID_MODELO     = drMODELOS.GetInt32(0);
                                MODELO.NOM_MODELO    = drMODELOS.GetString(1);
                                MODELO.FLAGPERTENECE = drMODELOS.GetInt32(2);
                                lstMODELOS.Add(MODELO);
                            }

                            BE.MODELOS = lstMODELOS;
                        }

                        return(BE);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void ActualizarCMC1(SCE_CARTEL_MODELO_BE BE, string PosFCX, string PosFCY)
        {
            try
            {
                using (SqlConnection cn = new SqlConnection(SCE_SQLCONEXION.GetCadConexion(usrLogin)))
                {
                    cn.Open();

                    string sqlCartelModelo = "SP_SCE_CARTEL_MODELO_UPD";

                    using (SqlCommand cmd = new SqlCommand(sqlCartelModelo, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.AddWithValue("@ID_CARTEL", BE.ID_CARTEL);
                        cmd.Parameters.AddWithValue("@ID_MODELO", BE.ID_MODELO);
                        cmd.Parameters.AddWithValue("@DIGITOS", BE.DIGITOS);
                        cmd.Parameters.AddWithValue("@NOM_PLANTILLA", BE.NOM_PLANTILLA);
                        cmd.ExecuteNonQuery();
                    }

                    string sqlCartelModelo3 = "SP_SCE_CARTEL_MODELO_UPD1";

                    using (SqlCommand cmd = new SqlCommand(sqlCartelModelo3, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.AddWithValue("@ID_CARTEL", BE.ID_CARTEL);
                        cmd.Parameters.AddWithValue("@ID_MODELO", BE.ID_MODELO);
                        cmd.Parameters.AddWithValue("@DIGITOS", BE.DIGITOS);
                        cmd.Parameters.AddWithValue("@POS_FC_X", PosFCX);
                        cmd.Parameters.AddWithValue("@POS_FC_Y", PosFCY);
                        cmd.ExecuteNonQuery();
                    }

                    string sqlCartelModelo1 = "SP_SCE_CARTEL_MODELO_CAMPO_DEL";

                    using (SqlCommand cmd = new SqlCommand(sqlCartelModelo1, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.Clear();
                        cmd.Parameters.AddWithValue("@ID_CARTEL", BE.ID_CARTEL);
                        cmd.Parameters.AddWithValue("@ID_MODELO", BE.ID_MODELO);
                        cmd.Parameters.AddWithValue("@DIGITOS", BE.DIGITOS);
                        cmd.ExecuteNonQuery();
                    }

                    string sqlCartelModelo2 = "SP_SCE_CARTEL_MODELO_CAMPO_UPD";

                    using (SqlCommand cmd = new SqlCommand(sqlCartelModelo2, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        foreach (SCE_CARTEL_MODELO_CAMPO_BE CARTEL_MODELO_CAMPO_BE in BE.CAMPOS)
                        {
                            cmd.Parameters.Clear();
                            cmd.Parameters.AddWithValue("@ID_CARTEL", BE.ID_CARTEL);
                            cmd.Parameters.AddWithValue("@ID_MODELO", BE.ID_MODELO);
                            cmd.Parameters.AddWithValue("@DIGITOS", BE.DIGITOS);
                            cmd.Parameters.AddWithValue("@ID_CAMPO", CARTEL_MODELO_CAMPO_BE.ID_CAMPO);
                            cmd.Parameters.AddWithValue("@POS_X", CARTEL_MODELO_CAMPO_BE.POSX);
                            cmd.Parameters.AddWithValue("@POS_Y", CARTEL_MODELO_CAMPO_BE.POSY);
                            cmd.ExecuteNonQuery();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public SCE_CARTEL_MODELO_BE ObtenerPorID1(int IdCartel, int IdModelo, int Digitos)
        {
            SCE_CARTEL_MODELO_BE BE = null;

            try
            {
                using (SqlConnection cn = new SqlConnection(SCE_SQLCONEXION.GetCadConexion(usrLogin)))
                {
                    cn.Open();

                    string sql = "SP_SCE_CARTEL_MODELO_GET2";

                    using (SqlCommand cmd = new SqlCommand(sql, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.AddWithValue("@ID_CARTEL", IdCartel);
                        cmd.Parameters.AddWithValue("@ID_MODELO", IdModelo);
                        cmd.Parameters.AddWithValue("@DIGITOS", Digitos);

                        SqlDataReader reader = cmd.ExecuteReader();

                        if (reader.Read())
                        {
                            BE = new SCE_CARTEL_MODELO_BE();

                            BE.NOM_CARTEL    = Convert.ToString(reader["NOM_CARTEL"]).Trim();
                            BE.NOM_MODELO    = Convert.ToString(reader["NOM_MODELO"]).Trim();
                            BE.DESCRIPCION   = Convert.ToString(reader["NOM_CARTEL"]).Trim() + '-' + Convert.ToString(reader["NOM_MODELO"]).Trim();
                            BE.NRODIGITOS    = Convert.ToString(reader["NRODIGITOS"]).Trim();
                            BE.NOM_PLANTILLA = Convert.ToString(reader["NOM_PLANTILLA"]).Trim();

                            /* LLENA LA LISTA DE CAMPOS DEL CARTEL-MODELO */
                            List <SCE_CARTEL_MODELO_CAMPO_BE> lstCARTELMODELOCAMPO = new List <SCE_CARTEL_MODELO_CAMPO_BE>();

                            SqlDataReader drCARTELMODELOCAMPO = null;
                            drCARTELMODELOCAMPO = getCampos1(IdCartel, IdModelo, Digitos);

                            while (drCARTELMODELOCAMPO.Read())
                            {
                                SCE_CARTEL_MODELO_CAMPO_BE CARTEL_MODELO_CAMPO = new SCE_CARTEL_MODELO_CAMPO_BE();
                                CARTEL_MODELO_CAMPO.ID_CAMPO    = drCARTELMODELOCAMPO.GetInt32(0);
                                CARTEL_MODELO_CAMPO.CAMPO       = drCARTELMODELOCAMPO.GetString(1).Trim();
                                CARTEL_MODELO_CAMPO.DESCRIPCION = drCARTELMODELOCAMPO.GetString(2).Trim();
                                if (!drCARTELMODELOCAMPO.IsDBNull(drCARTELMODELOCAMPO.GetOrdinal("POS_X")))
                                {
                                    CARTEL_MODELO_CAMPO.POSX = drCARTELMODELOCAMPO.GetString(3).Trim();
                                }

                                if (!drCARTELMODELOCAMPO.IsDBNull(drCARTELMODELOCAMPO.GetOrdinal("POS_Y")))
                                {
                                    CARTEL_MODELO_CAMPO.POSY = drCARTELMODELOCAMPO.GetString(4).Trim();
                                }

                                lstCARTELMODELOCAMPO.Add(CARTEL_MODELO_CAMPO);
                            }

                            BE.CAMPOS = lstCARTELMODELOCAMPO;
                        }

                        return(BE);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }