Пример #1
0
        public List <AccesosTipoUsuario> GetPermisosUsuario(int id)
        {
            Sql query = new Sql()
                        .Select("*").From("AccesosTipoUsuario")
                        .Where("ID_TipoUsuario = @0", id);

            return(_accesosTipoUsuarioRepository.GetByFilter(query));
        }
        public bool InsertUpdateTipoUsuario(TiposUsuario tipoPersonal, List <Acceso> accesos, out string Message)
        {
            Message = string.Empty;
            bool result = false;

            try
            {
                var id = _tipoUsuarioRepository.InsertOrUpdate <int>(tipoPersonal);
                tipoPersonal.ID = id;
                Sql query = new Sql()
                            .Select("*").From("AccesosTipoUsuario")
                            .Where("ID_TipoUsuario = @0", id);
                List <AccesosTipoUsuario> _detallesActuales = _accesosTipoUsuarioRepository.GetByFilter(query);

                // Eliminar detalles que no existen en los actuales
                foreach (var detalleNoExiste in _detallesActuales.Where(p => !accesos.Any(p2 => p2.ID == p.ID_Acceso)))
                {
                    _accesosTipoUsuarioRepository.Remove(detalleNoExiste);
                }

                //Insertar o Actualizar detalles existentes o nuevos
                foreach (var detalle in accesos)
                {
                    query = new Sql()
                            .Select("*").From("AccesosTipoUsuario")
                            .Where("ID_TipoUsuario = @0 and ID_Acceso = @1", id, detalle.ID);
                    AccesosTipoUsuario accesosPersonal = _accesosTipoUsuarioRepository.Get(query);
                    if (accesosPersonal == null)
                    {
                        accesosPersonal                = new AccesosTipoUsuario();
                        accesosPersonal.ID_Acceso      = detalle.ID;
                        accesosPersonal.ID_TipoUsuario = id;
                    }
                    _accesosTipoUsuarioRepository.InsertOrUpdate <int>(accesosPersonal);
                }

                Message = "Tipo de Usuario guardado " + tipoPersonal.Nombre + "con exito";
                result  = true;
            }
            catch (Exception ex)
            {
                Message = "TipoUsuario No pudo ser guardado Error: " + ex.Message;
            }

            return(result);
        }