コード例 #1
0
ファイル: PerfilDa.cs プロジェクト: RSEANCAS/pm
        public List <PerfilBe> ListarPerfilDefaultPorUsuario(int?codigoUsuario, SqlConnection cn)
        {
            List <PerfilBe> lista = null;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_perfil_listar_default_x_usuario", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@codigoUsuario", codigoUsuario.GetNullable());

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            lista = new List <PerfilBe>();

                            while (dr.Read())
                            {
                                PerfilBe item = new PerfilBe();
                                item.CodigoPerfil = dr.GetData <int>("CodigoPerfil");
                                item.Nombre       = dr.GetData <string>("Nombre");
                                item.FlagActivo   = dr.GetData <bool>("FlagActivo");
                                item.Check        = dr.GetData <bool>("Check");

                                lista.Add(item);
                            }
                        }
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(lista);
        }
コード例 #2
0
ファイル: PerfilDa.cs プロジェクト: RSEANCAS/pm
        public PerfilBe ObtenerPerfil(int codigoPerfil, SqlConnection cn)
        {
            PerfilBe item = null;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_perfil_obtener", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@codigoPerfil", codigoPerfil.GetNullable());

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            item = new PerfilBe();

                            if (dr.Read())
                            {
                                item.CodigoPerfil = dr.GetData <int>("CodigoPerfil");
                                item.Nombre       = dr.GetData <string>("Nombre");
                                item.FlagActivo   = dr.GetData <bool>("FlagActivo");
                            }
                        }
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(item);
        }
コード例 #3
0
        void CargarPerfil()
        {
            PerfilBe item = perfilBl.ObtenerPerfil(codigoPerfil.Value);

            txtNombre.Text = item.Nombre;
            CargarListaMenu();
        }
コード例 #4
0
ファイル: PerfilDa.cs プロジェクト: RSEANCAS/pm
        public bool GuardarPerfil(PerfilBe registro, SqlConnection cn, out int codigoPerfil)
        {
            codigoPerfil = 0;
            bool seGuardo = false;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_perfil_guardar", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SqlParameter {
                        ParameterName = "@codigoPerfil", Value = registro.CodigoPerfil.GetNullable(), Direction = ParameterDirection.InputOutput
                    });
                    cmd.Parameters.AddWithValue("@nombre", registro.Nombre.GetNullable());
                    cmd.Parameters.AddWithValue("@usuarioModi", registro.UsuarioModi.GetNullable());

                    int filasAfectadas = cmd.ExecuteNonQuery();

                    seGuardo = filasAfectadas > 0;

                    if (seGuardo)
                    {
                        codigoPerfil = (int)cmd.Parameters["@codigoPerfil"].Value;
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(seGuardo);
        }
コード例 #5
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            bool estaValidado = ValidarFormulario();

            if (!estaValidado)
            {
                return;
            }

            PerfilBe registro = new PerfilBe();

            if (codigoPerfil.HasValue)
            {
                registro.CodigoPerfil = codigoPerfil.Value;
            }
            registro.Nombre = txtNombre.Text.Trim();
            TreeNode[]    treeNodeArray     = tvwMenu.Nodes.Cast <TreeNode>().ToArray();
            List <MenuBe> listaMenuMarcados = ListarMenuesMarcados(treeNodeArray);

            registro.ListaMenu = listaMenuMarcados;

            bool seGuardoRegistro = perfilBl.GuardarPerfil(registro);

            if (seGuardoRegistro)
            {
                DialogResult = MessageBox.Show("¡El registro se guardó correctamente!", "¡Bien hecho!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Close();
            }
            else
            {
                MessageBox.Show("¡Ocurrió un error! Contáctese con el administrador del sistema", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #6
0
        public bool GuardarPerfil(PerfilBe registro)
        {
            bool seGuardo = false;

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    cn.Open();
                    int codigoPerfil = 0;
                    seGuardo = perfilDa.GuardarPerfil(registro, cn, out codigoPerfil);
                    if (seGuardo)
                    {
                        if (registro.ListaMenu != null)
                        {
                            if (registro.CodigoPerfil > 0)
                            {
                                seGuardo = perfilMenuDa.EliminarPerfilMenuPorPerfil(registro.CodigoPerfil, cn);
                            }

                            if (seGuardo)
                            {
                                foreach (MenuBe item in registro.ListaMenu)
                                {
                                    PerfilMenuBe itemPerfilMenu = new PerfilMenuBe();
                                    itemPerfilMenu.CodigoPerfil = codigoPerfil;
                                    itemPerfilMenu.CodigoMenu   = item.CodigoMenu;

                                    seGuardo = perfilMenuDa.GuardarPerfilMenu(itemPerfilMenu, cn);
                                    if (!seGuardo)
                                    {
                                        break;
                                    }
                                }
                            }
                        }
                    }

                    if (seGuardo)
                    {
                        scope.Complete();
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(seGuardo);
        }
コード例 #7
0
        List <PerfilBe> ListarPerfilesMarcados(TreeNode[] nodes)
        {
            List <PerfilBe> lista = null;

            foreach (TreeNode node in nodes)
            {
                if (node.Checked)
                {
                    PerfilBe item = new PerfilBe {
                        CodigoPerfil = (int)node.Tag
                    };
                    lista = lista ?? new List <PerfilBe>();
                    lista.Add(item);
                }
            }

            return(lista);
        }
コード例 #8
0
        public PerfilBe ObtenerPerfil(int codigoPerfil)
        {
            PerfilBe item = null;

            try
            {
                cn.Open();
                item = perfilDa.ObtenerPerfil(codigoPerfil, cn);
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(item);
        }
コード例 #9
0
        public bool CambiarFlagActivoPerfil(PerfilBe registro)
        {
            bool seGuardo = false;

            try
            {
                cn.Open();
                seGuardo = perfilDa.CambiarFlagActivoPerfil(registro, cn);
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(seGuardo);
        }
コード例 #10
0
ファイル: PerfilDa.cs プロジェクト: RSEANCAS/pm
        public bool CambiarFlagActivoPerfil(PerfilBe registro, SqlConnection cn)
        {
            bool seGuardo = false;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_perfil_cambiar_flagactivo", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@codigoPerfil", registro.CodigoPerfil.GetNullable());
                    cmd.Parameters.AddWithValue("@flagActivo", registro.FlagActivo.GetNullable());
                    cmd.Parameters.AddWithValue("@usuarioModi", registro.UsuarioModi.GetNullable());

                    int filasAfectadas = cmd.ExecuteNonQuery();

                    seGuardo = filasAfectadas > 0;
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(seGuardo);
        }
コード例 #11
0
ファイル: PerfilDa.cs プロジェクト: RSEANCAS/pm
        public List <PerfilBe> BuscarPerfil(string nombre, bool flagActivo, SqlConnection cn)
        {
            List <PerfilBe> resultados = null;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_perfil_buscar", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@nombre", nombre.GetNullable());
                    cmd.Parameters.AddWithValue("@flagActivo", flagActivo.GetNullable());

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            resultados = new List <PerfilBe>();

                            while (dr.Read())
                            {
                                PerfilBe item = new PerfilBe();
                                item.Fila         = dr.GetData <int>("Fila");
                                item.CodigoPerfil = dr.GetData <int>("CodigoPerfil");
                                item.Nombre       = dr.GetData <string>("Nombre");
                                item.FlagActivo   = dr.GetData <bool>("FlagActivo");

                                resultados.Add(item);
                            }
                        }
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(resultados);
        }
コード例 #12
0
        private void mitToggleActivar_Click(object sender, EventArgs e)
        {
            MenuItem mitControl = (MenuItem)sender;
            dynamic  data       = (object)mitControl.Tag;

            DialogResult dr = MessageBox.Show($"¿Estás seguro que deseas {(data.FlagActivo ? "Inactivar" : "Activar")} el registro?", "Confirmar", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dr == DialogResult.Yes)
            {
                PerfilBe registro = new PerfilBe();
                registro.CodigoPerfil = data.CodigoPerfil;
                registro.FlagActivo   = !data.FlagActivo;
                bool seGuardo = perfilBl.CambiarFlagActivoPerfil(registro);
                if (seGuardo)
                {
                    MessageBox.Show($"Se cambió el estado del registro a {(registro.FlagActivo ? "Activo" : "Inactivo")}", "¡Bien hecho!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    BuscarPerfiles();
                }
                else
                {
                    MessageBox.Show("¡Ocurrió un error! Contáctese con el administrador del sistema", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
コード例 #13
0
        public List <PerfilBe> ListarPorUsuario(int usuarioId, int empresaId, SqlConnection cn)
        {
            List <PerfilBe> lista = null;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_perfil_listar_x_usuario", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@usuarioId", usuarioId);
                    cmd.Parameters.AddWithValue("@empresaId", empresaId);

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            lista = new List <PerfilBe>();
                            while (dr.Read())
                            {
                                PerfilBe item = new PerfilBe();
                                item.PerfilId   = dr.GetData <int>("PerfilId");
                                item.EmpresaId  = dr.GetData <int>("EmpresaId");
                                item.Nombre     = dr.GetData <string>("Nombre");
                                item.FlagActivo = dr.GetData <bool>("FlagActivo");
                                lista.Add(item);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                lista = null;
            }
            return(lista);
        }