Пример #1
0
        ///Metodo guardar la asociacion de las empresas y usuarios
        private void btnGuardar_Click(object sender, RoutedEventArgs e)
        {
            /* var df=dgEmpresas
             * ReporteEmpresa item = (ReporteEmpresa)dgEmpresas.SelectedItem;
             * if (item != null)
             * {*/
            string declarant = cboEmpresas.SelectedValue.ToString();

            if (new clsEntityAccount().dgvCuentaDuplicada(Id, declarant) == false)
            {
                clsEntityAccount cuenta = new clsEntityAccount();
                cuenta.Cs_pr_Account_Id   = Guid.NewGuid().ToString();
                cuenta.Cs_pr_Declarant_Id = declarant;
                cuenta.Cs_pr_Users_Id     = Id;
                cuenta.cs_pxInsertar(false);
                dgEmpresas.ItemsSource = null;
                List <clsEntityModulo> modulos = new clsEntityModulo().cs_pxObtenerTodo();
                if (modulos != null)
                {
                    foreach (clsEntityModulo item in modulos)
                    {
                        clsEntityPermisos permiso = new clsEntityPermisos();
                        permiso.Cs_pr_Permisos_Id = Guid.NewGuid().ToString();
                        permiso.Cs_pr_Modulo      = item.Cs_pr_Modulo_Id;
                        permiso.Cs_pr_Cuenta      = cuenta.Cs_pr_Account_Id;
                        permiso.Cs_pr_Permitido   = "0";
                        permiso.cs_pxInsertar(false);
                    }
                }
                cs_pxCargarEmpresasLista();
                cs_pxCargarEmpresasGrid(Id);
            }
            // }
        }
        private void cs_pxCargarPermisos()
        {
            lista_permisos         = new List <ReportePermiso>();
            dgUsuarios.ItemsSource = null;
            dgUsuarios.Items.Clear();
            string cuenta = cboUsuarios.SelectedValue.ToString();

            if (cuenta != "")
            {
                //buscar todos los modulos de la base de datos
                List <clsEntityModulo> modulos = new clsEntityModulo().cs_pxObtenerTodo();
                if (modulos != null)
                {
                    foreach (clsEntityModulo item in modulos)
                    {
                        permiso = new ReportePermiso();
                        //buscar permiso por cuenta y modulo
                        entidad_permiso = new clsEntityPermisos().cs_pxObtenerPorCodigoCuenta(item.Cs_pr_Modulo_Id, cuenta);
                        if (entidad_permiso != null)
                        {
                            permiso.Id          = entidad_permiso.Cs_pr_Permisos_Id;
                            permiso.Modulo      = item.Cs_pr_Modulo;
                            permiso.ModuloPadre = item.Cs_pr_Modulo_Padre;
                            permiso.Permitido   = entidad_permiso.Cs_pr_Permitido;
                            if (permiso.Permitido == "1")
                            {
                                permiso.Check = true;
                            }
                            else
                            {
                                permiso.Check = false;
                            }
                        }
                        else
                        {
                            permiso.Id          = Guid.NewGuid().ToString();
                            permiso.Check       = false;
                            permiso.Modulo      = item.Cs_pr_Modulo;
                            permiso.ModuloPadre = item.Cs_pr_Modulo_Padre;
                            permiso.Usuario     = item.Cs_pr_Modulo_Id;
                            permiso.Permitido   = cuenta;
                        }

                        lista_permisos.Add(permiso);
                    }
                }
                dgUsuarios.ItemsSource = lista_permisos;
            }
        }
        private void actualizarPermisos(string IdCuenta)
        {
            //eliminar
            new clsEntityPermisos().cs_pxEliminarPermisos(IdCuenta);
            //asociar modulos a usuario
            List <clsEntityModulo> modulos = new clsEntityModulo().cs_pxObtenerTodo();

            if (modulos != null)
            {
                foreach (clsEntityModulo item in modulos)
                {
                    clsEntityPermisos permiso = new clsEntityPermisos();
                    permiso.Cs_pr_Permisos_Id = Guid.NewGuid().ToString();
                    permiso.Cs_pr_Modulo      = item.Cs_pr_Modulo_Id;
                    permiso.Cs_pr_Cuenta      = IdCuenta;
                    permiso.Cs_pr_Permitido   = "0";
                    permiso.cs_pxInsertar(false);
                }
            }
        }
        void AsignarPermisos()
        {
            try
            {
                clsEntityPermisos permiso;
                if (lista_permisos.Count > 0)
                {
                    //leer permisos asignados y modificar
                    foreach (ReportePermiso item in lista_permisos)
                    {
                        if (item.Check == true)
                        {
                            permiso = new clsEntityPermisos().cs_pxObtenerUnoPorId(item.Id);
                            if (permiso != null)
                            {
                                permiso.Cs_pr_Permitido = "1";
                                permiso.cs_pxActualizar(false);
                            }
                            else
                            {
                                clsEntityPermisos nuevo = new clsEntityPermisos();
                                nuevo.Cs_pr_Permisos_Id = item.Id;
                                nuevo.Cs_pr_Modulo      = item.Usuario;
                                nuevo.Cs_pr_Cuenta      = item.Permitido;
                                nuevo.Cs_pr_Permitido   = "1";
                                nuevo.cs_pxInsertar(false);
                            }
                        }
                        else
                        {
                            permiso = new clsEntityPermisos().cs_pxObtenerUnoPorId(item.Id);
                            if (permiso != null)
                            {
                                permiso.Cs_pr_Permitido = "0";
                                permiso.cs_pxActualizar(false);
                            }
                            else
                            {
                                clsEntityPermisos nuevo = new clsEntityPermisos();
                                nuevo.Cs_pr_Permisos_Id = item.Id;
                                nuevo.Cs_pr_Modulo      = item.Usuario;
                                nuevo.Cs_pr_Cuenta      = item.Permitido;
                                nuevo.Cs_pr_Permitido   = "0";
                                nuevo.cs_pxInsertar(false);
                            }
                        }
                    }

                    MessageBox.Show("Asignación exitosa.", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                }
                else
                {
                    MessageBox.Show("Debe seleccionar un usuario", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
            catch (Exception ex)
            {
                clsBaseLog.cs_pxRegistarAdd("permisos->" + ex.ToString());
                MessageBox.Show("Ha ocurrido un error al guardar los cambios. Para mayor informacion revise el archivo de errores.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }