protected void imgAgregar_Click(object sender, ImageClickEventArgs e)
        {
            DINAMICA_CRIPTOGRAFIA dinamicaCriptografia = new DINAMICA_CRIPTOGRAFIA()
            {
                DNC_NOMBRE = ((TextBox)this.grvDinamicaCriptografia.FooterRow.FindControl("txtNombreFooter")).Text,
                DNC_TIPO = int.Parse(((DropDownList)this.grvDinamicaCriptografia.FooterRow.FindControl("drlTipoFooter")).SelectedValue)
            };

            MENSAJE mensaje = new MENSAJE()
            {
                MEN_CODIGO = int.Parse(this.drlMensaje.SelectedValue)
            };

            dinamicaCriptografia.MENSAJE = mensaje;

            EstadoOperacion Estado = BusinessLayer.Seguridad.DinamicaCriptografiaBL.insertarDinamicaCriptografia(dinamicaCriptografia);

            if (Estado.Estado)
            {
                this.grvDinamicaCriptografia.DataBind();
            }
            else
            {
                this.lblMensaje.Text = Estado.Mensaje;
            }
        }
        public CriptografiaMensaje(DINAMICA_CRIPTOGRAFIA entidad, PASO_DINAMICA pasoDinamica)
            : base(pasoDinamica)
        {
            this.entidad = entidad;

            this.tipoCriptografia = (EnumTipoCriptografia)
            Enum.ToObject(typeof(EnumTipoCriptografia), entidad.DNC_TIPO);
        }
 protected void dsDinamicaCriptografia_Selected(object sender, ObjectDataSourceStatusEventArgs e)
 {
     if (drlMensaje.SelectedValue != "-1")
     {
         List<DINAMICA_CRIPTOGRAFIA> lista = (List<DINAMICA_CRIPTOGRAFIA>)e.ReturnValue;
         if (lista.Count == 0)
         {
             DINAMICA_CRIPTOGRAFIA dinamicaCriptografia = new DINAMICA_CRIPTOGRAFIA();
             dinamicaCriptografia.DNC_NOMBRE = "";
             lista.Add(dinamicaCriptografia);
         }
     }
 }
        public static EstadoOperacion eliminarDinamicaCriptografia(DINAMICA_CRIPTOGRAFIA DinamicaCriptografia)
        {
            DbFactory Factoria = DataAccessFactory.ObtenerProveedor();
            try
            {
                using (Switch contexto = new Switch())
                {
                    using (contexto.CreateConeccionScope())
                    {
                        string query =
                                "DELETE FROM DINAMICA_CRIPTOGRAFIA" +
                                 " WHERE DNC_CODIGO = @codigo";

                        DbCommand Comando = contexto.CreateCommand(query, CommandType.Text);
                        Comando.Parameters.Add(Factoria.CrearParametro("@codigo", DinamicaCriptografia.DNC_CODIGO));

                        if (Comando.ExecuteNonQuery() != 1)
                        {
                            return new EstadoOperacion(false, null, null);
                        }

                        return new EstadoOperacion(true, null, null);
                    }
                }
            }
            catch (DbException e)
            {
                DbExceptionProduct exception = Factoria.CrearException(e);
                if (exception.ForeignKeyError())
                {
                    return new EstadoOperacion(false, "La Dinamica Criptografia tiene Campos CriptografĂ­a y no se puede eliminar", e, true);
                }
                else
                {
                    return new EstadoOperacion(false, e.Message, e);
                }
            }
            catch (Exception e)
            {

                return new EstadoOperacion(false, e.Message, e);
            }
        }
        public static EstadoOperacion insertarDinamicaCriptografia(DINAMICA_CRIPTOGRAFIA DinamicaCriptografia)
        {
            try
            {
                using (Switch contexto = new Switch())
                {

                    using (contexto.CreateConeccionScope())
                    {
                        DinamicaCriptografia.DNC_CODIGO = (from c in contexto.DINAMICA_CRIPTOGRAFIA
                                                           orderby c.DNC_CODIGO descending
                                                           select c.DNC_CODIGO).FirstOrDefault() + 1;

                        string query =
                                "INSERT INTO DINAMICA_CRIPTOGRAFIA" +
                               "(DNC_CODIGO" +
                               ",DNC_NOMBRE" +
                               ",DNC_TIPO" +
                               ",MEN_CODIGO)" +
                            "VALUES " +
                               "(@codigo" +
                               ",@nombre" +
                               ",@tipo" +
                               ",@mensaje_codigo)";

                        DbCommand Comando = crearComando(contexto, DinamicaCriptografia, query);

                        if (Comando.ExecuteNonQuery() != 1)
                        {
                            return new EstadoOperacion(false, null, null);
                        }
                        return new EstadoOperacion(true, null, null);
                    }
                }
            }
            catch (Exception e)
            {

                return new EstadoOperacion(false, e.Message, e);
            }
        }
        private static DbCommand crearComando(Switch contexto, DINAMICA_CRIPTOGRAFIA DinamicaCriptografia, string query)
        {
            DbFactory Factoria = DataAccessFactory.ObtenerProveedor();

            DbCommand Comando = contexto.CreateCommand(query, CommandType.Text);
            Comando.Parameters.Add(Factoria.CrearParametro("@codigo", DinamicaCriptografia.DNC_CODIGO));
            Comando.Parameters.Add(Factoria.CrearParametro("@nombre", DinamicaCriptografia.DNC_NOMBRE));
            Comando.Parameters.Add(Factoria.CrearParametro("@tipo", DinamicaCriptografia.DNC_TIPO));
            if (DinamicaCriptografia.MENSAJE !=null)
            {
                Comando.Parameters.Add(Factoria.CrearParametro("@mensaje_codigo", DinamicaCriptografia.MENSAJE.MEN_CODIGO));
            }

            return Comando;
        }
        public static EstadoOperacion modificarDinamicaCriptografia(DINAMICA_CRIPTOGRAFIA DinamicaCriptografia)
        {
            try
            {
                using (Switch contexto = new Switch())
                {
                    using (contexto.CreateConeccionScope())
                    {
                        string query =
                            "UPDATE DINAMICA_CRIPTOGRAFIA" +
                               " SET DNC_NOMBRE = @nombre" +
                                  ",DNC_TIPO = @tipo" +
                             " WHERE DNC_CODIGO = @codigo";

                        DbCommand Comando = crearComando(contexto, DinamicaCriptografia, query);

                        if (Comando.ExecuteNonQuery() != 1)
                        {
                            return new EstadoOperacion(false, null, null);
                        }

                        return new EstadoOperacion(true, null, null);
                    }
                }
            }
            catch (Exception e)
            {

                return new EstadoOperacion(false, e.Message, e);
            }
        }
 public static EstadoOperacion modificarDinamicaCriptografia(DINAMICA_CRIPTOGRAFIA DinamicaCriptografia)
 {
     return DataAccess.Seguridad.DinamicaCriptografiaDA.modificarDinamicaCriptografia(DinamicaCriptografia);
 }
        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            int codigoMensaje = int.Parse(Request.QueryString["Mensaje"]);

            CRIPTOGRAFIA_CAMPO criptografiaCampo = new CRIPTOGRAFIA_CAMPO();
            criptografiaCampo.CRC_CODIGO = int.Parse(Request.QueryString["Campo"]);

            DINAMICA_CRIPTOGRAFIA dinamicaCriptografia = new DINAMICA_CRIPTOGRAFIA()
            {
                DNC_CODIGO = int.Parse(Request.QueryString["Dinamica"])
            };
            criptografiaCampo.DINAMICA_CRIPTOGRAFIA = dinamicaCriptografia;

            CAMPO campoOrigen = new CAMPO()
            {
                CAM_CODIGO = int.Parse(this.drlCampoOrigen.SelectedValue),
                MEN_CODIGO = codigoMensaje
            };
            criptografiaCampo.CAMPO_RESULTADO = campoOrigen;

            criptografiaCampo.CRC_ALGORITMO = int.Parse(this.drlAlgoritmo.SelectedValue);
            criptografiaCampo.CRC_TIPO_LLAVE_1 = int.Parse(this.drlTipoLlave1.SelectedValue);

            if (criptografiaCampo.CRC_TIPO_LLAVE_1 == TipoLlaveBL.obtenerCodigoCampo())
            {
                CAMPO campoLlave1 = new CAMPO()
                {
                    CAM_CODIGO = int.Parse(this.drlCampoLlave1.SelectedValue),
                    MEN_CODIGO = codigoMensaje
                };
                criptografiaCampo.CAMPO_LLAVE_1 = campoLlave1;
            }

            if (criptografiaCampo.CRC_TIPO_LLAVE_1 == TipoLlaveBL.obtenerCodigoLlaveFija())
            {
                criptografiaCampo.CRC_LLAVE_1 = this.txtLlaveFija1.Text;
            }

            criptografiaCampo.CRC_SEGUNDA_LLAVE = this.chkSegundaLlave.Checked;
            if (criptografiaCampo.CRC_SEGUNDA_LLAVE)
            {
                criptografiaCampo.CRC_TIPO_LLAVE_2 = int.Parse(this.drlTipoLlave2.SelectedValue);

                if (criptografiaCampo.CRC_TIPO_LLAVE_2 == TipoLlaveBL.obtenerCodigoCampo())
                {
                    CAMPO campoLlave2 = new CAMPO()
                    {
                        CAM_CODIGO = int.Parse(this.drlCampoLlave2.SelectedValue),
                        MEN_CODIGO = codigoMensaje
                    };
                    criptografiaCampo.CAMPO_LLAVE_2 = campoLlave2;
                }

                if (criptografiaCampo.CRC_TIPO_LLAVE_2 == TipoLlaveBL.obtenerCodigoLlaveFija())
                {
                    criptografiaCampo.CRC_LLAVE_2 = this.txtLlaveFija2.Text;
                }

                criptografiaCampo.CRC_OPERACION_LLAVE = int.Parse(this.drlOperacionLlave.SelectedValue);
            }

            EstadoOperacion estadoOperacion = CriptografiaCampoBL.modificarCriptografiaCampo(criptografiaCampo);
            if (estadoOperacion.Estado)
            {
                Regresar();
            }
            else
            {
                this.lblMensaje.Text = estadoOperacion.Mensaje;
            }
        }