//-------------------------------------------------------------------------------------------------------

        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 string IsValid(string IdCartelModelo, int IdCategoria, int IdPromocion)
        {
            string mensaje = "";

            try
            {
                if (IdCartelModelo == "0")
                {
                    return(mensaje = System.Configuration.ConfigurationManager.AppSettings["CMCP_CN"]);
                }

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

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

                if (DA.ExisteCartelModeloInTB_CMCP(IdCartel, IdModelo, IdCategoria, IdPromocion))
                {
                    return(mensaje = System.Configuration.ConfigurationManager.AppSettings["CMCP_CD"]);
                }

                return(mensaje);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        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;
            }
        }
        public System.Data.DataTable ListarPV()
        {
            int numMaxDigitos = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["NroMaxDigitos"]);

            System.Data.DataTable dt = new System.Data.DataTable();
            dt = null;

            try
            {
                DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
                if (DA.Listar().Count > 0)
                {
                    if (DA.ListarPV().Count > 0)
                    {
                        dt = PivotDtCartelXModelo(ListToDataTable(DA.ListarPV()), "NOM_CAMPO", numMaxDigitos);
                        return(dt);
                    }
                    else
                    {
                        return(dt);
                    }
                }
                else
                {
                    return(dt);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        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 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_CATEGORIA_PROMOCION_BE> ListarCMCP(int IdCategoria, int IdPromocion)
 {
     try
     {
         DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
         return(DA.ListarCMCP(IdCategoria, IdPromocion));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public string ObtenerPlantilla(int IdCartel, int IdModelo, int Digitos)
 {
     try
     {
         DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
         return(DA.ObtenerPlantilla(IdCartel, IdModelo, Digitos));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public List <SCE_CARTEL_MODELO_BE> cboCartelModeloCMCP(int IdCategoria, int IdPromocion)
 {
     try
     {
         DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
         return(DA.cboCartelModeloCMCP(IdCategoria, IdPromocion));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public List <SCE_CARTEL_MODELO_BE> cboCartelModeloCP()
 {
     try
     {
         DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
         return(DA.cboCartelModeloCP());
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public System.Data.DataTable ListarCMConf()
 {
     try
     {
         DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
         return(ListToDataTable(DA.ListarCMConf()));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public List <SCE_CARTEL_MODELO_BE> Listar()
 {
     try
     {
         DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
         return(DA.Listar());
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public SCE_CARTEL_MODELO_BE ObtenerPorID(int IdCartel, int IdModelo)
 {
     try
     {
         DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
         return(DA.ObtenerPorID(IdCartel, IdModelo));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public bool TieneCPConfiguradoCM(int IdCategoria, int IdPromocion)
 {
     try
     {
         DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
         return(DA.TieneCPConfiguradoCM(IdCategoria, IdPromocion));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 /* CARGA DATA DE CAMPOS DESDE LA BD */
 private List <SCE_CARTEL_MODELO_CAMPO_BE> CargarData(int IdCartel, int IdModelo, int Digitos)
 {
     try
     {
         DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
         return(DA.grvCampos(IdCartel, IdModelo, Digitos));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public bool ExisteParCategPromoSeleccionado(int IdCategoria, int IdPromocion)
 {
     try
     {
         DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
         return(DA.ExisteParCategPromoSeleccionado(IdCategoria, IdPromocion));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public string GetTipoHojaModelo(string IdCartelModelo)
        {
            int IdCartel = Convert.ToInt32(IdCartelModelo.Substring(0, 4).ToString().Trim());
            int IdModelo = Convert.ToInt32(IdCartelModelo.Substring(4, 2).ToString().Trim());

            try
            {
                DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
                return(DA.GetTipoHojaModelo(IdModelo));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public string ObtenerPlantilla(string Codigo)
        {
            int IdCartel = Convert.ToInt32(Codigo.Substring(0, 4).ToString().Trim());
            int IdModelo = Convert.ToInt32(Codigo.Substring(4, 2).ToString().Trim());
            int Digitos  = Convert.ToInt32(Codigo.Substring(6, 1).ToString().Trim());

            try
            {
                DA.SCE_CARTEL_MODELO_DA DA = new DA.SCE_CARTEL_MODELO_DA(usrLogin);
                return(DA.ObtenerPlantilla(IdCartel, IdModelo, Digitos));
            }
            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;
            }
        }