public int Insertar(PerfilOpcionInfo perfilOpcionInfo)
        {
            int resultado;

            try
            {
                using (var oConnection = new SqlConnection(HelperAccesoDatos.GetCadenaConexion()))
                {
                    var sqlComando = new SqlCommand {
                        Connection = oConnection, CommandText = "InsertarPerfilOpcion", CommandType = CommandType.StoredProcedure
                    };

                    sqlComando.Parameters.Add("PerfilId", SqlDbType.Int).Value = perfilOpcionInfo.PerfilId;
                    sqlComando.Parameters.Add("OpcionId", SqlDbType.Int).Value = perfilOpcionInfo.OpcionId;

                    oConnection.Open();
                    resultado = Convert.ToInt32(sqlComando.ExecuteScalar());

                    oConnection.Close();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(resultado);
        }
        private static PerfilOpcionInfo CargarPerfilOpcionInfo(IDataReader dr)
        {
            int colCount = dr.FieldCount;
            var values   = new object[colCount];

            #region Indices
            int indPerfilId      = dr.GetOrdinal("PerfilId");
            int indOpcionId      = dr.GetOrdinal("OpcionId");
            int indOpcionPadreId = dr.GetOrdinal("OpcionPadreId");
            int indNombre        = dr.GetOrdinal("Nombre");
            int indOrden         = dr.GetOrdinal("Orden");
            int indActivo        = dr.GetOrdinal("Activo");
            #endregion

            var perfilOpcionInfo = new PerfilOpcionInfo();
            dr.GetValues(values);

            #region Campos
            perfilOpcionInfo.PerfilId      = Convert.ToInt32(values[indPerfilId]);
            perfilOpcionInfo.OpcionId      = Convert.ToInt32(values[indOpcionId]);
            perfilOpcionInfo.OpcionPadreId = Convert.ToInt32(values[indOpcionPadreId]);
            perfilOpcionInfo.Nombre        = Convert.ToString(values[indNombre]);
            perfilOpcionInfo.Orden         = Convert.ToInt32(values[indOrden]);
            perfilOpcionInfo.Activo        = Convert.ToInt32(values[indActivo]);
            #endregion

            return(perfilOpcionInfo);
        }
예제 #3
0
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            var list = new List <TreeNode>();

            perfilOpcion = new PerfilOpcion();
            //Recorremos los nodos para grabar
            foreach (TreeNode nodos in trvOpciones.Nodes)
            {
                //Agregamos el nodo padre a la lista
                list.Add(nodos);
                //Recorremos los nodos hijo
                if (nodos.ChildNodes.Count > 0)
                {
                    list.AddRange(RecorrerNodosHijo(nodos.ChildNodes));
                }
            }

            var listaOpciones = new List <PerfilOpcionInfo>();
            PerfilOpcionInfo perfilOpcionInfo;
            var perfilId    = Convert.ToInt32(ddlNumeroRegistros.SelectedValue);
            var usuarioInfo = ObtenerUsuarioInfo();

            foreach (TreeNode opciones in list)
            {
                if (opciones.Checked)
                {
                    perfilOpcionInfo = new PerfilOpcionInfo();

                    perfilOpcionInfo.OpcionId = Convert.ToInt32(opciones.Value);
                    perfilOpcionInfo.PerfilId = perfilId;
                    perfilOpcionInfo.Activo   = opciones.Checked ? 1 : 0;
                    // perfilOpcionInfo.UsuarioIdModificacion = oUsuarioInfo.UsuarioId;

                    listaOpciones.Add(perfilOpcionInfo);
                }
            }

            if (listaOpciones.Count > 0)
            {
                perfilOpcion.Eliminar(perfilId, 0);
                foreach (var o in listaOpciones)
                {
                    perfilOpcion.Insertar(o);
                }
                // opcionPerfil.Actualizar(listaOpciones);

                MostrarOpciones(Convert.ToInt32(ddlNumeroRegistros.SelectedValue));
                string mensaje = "Se modificó las opciones correctamente.";
                RegistrarScript("MostrarMensaje('" + mensaje + "');", "Mensaje");
            }
        }
        public int Insertar(PerfilOpcionInfo perfilOpcionInfo)
        {
            int resultado = 0;

            try
            {
                resultado = _perfilOpcionAccesoDatos.Insertar(perfilOpcionInfo);
            }
            catch (Exception ex)
            {
                bool rethrow = ExceptionPolicy.HandleException(ex, Constantes.ExcepcionPoliticaLogicaNegocio);
                if (rethrow)
                {
                    throw;
                }
            }
            return(resultado);
        }