---
title: INoteService
summary: API reference for INoteService.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-24
library: SAIF.SAIFCode.Core
reference_type: package
---

# INoteService

`INoteService` declares a service contract in the Groups / Notes area, implemented outside this library (most likely in SAIF.Services, per the declare-here, enforce-elsewhere pattern documented for this library)*.

## Purpose
- Declares the operations that a SAIF.Services implementation must provide for the Groups / Notes area*.

## Context
- Namespace: `SAIF.Core.Contracts.Groups.Notes`
- Kind: Interface
- Assembly/package: `SAIF.Core` (NuGet package `SAIF.SAIFCode.Core`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `CanUserAddNote` | `bool CanUserAddNote { get; set; }` | Holds free-text note recorded against this INoteService*. |
| `CanUserSeeConfidentialNotes` | `bool CanUserSeeConfidentialNotes { get; set; }` | Holds free-text notes recorded against this INoteService*. |
| `AppendPrefixTextLength` | `int AppendPrefixTextLength { get; set; }` | Represents the append prefix text length associated with this INoteService*. |
| `EditSuffixTextLength` | `int EditSuffixTextLength { get; set; }` | Represents the edit suffix text length associated with this INoteService*. |
| `GetNote` | `Note GetNote(long noteId)` | Returns note, given `noteId`*. |
| `GetNotes` | `IEnumerable<Note> GetNotes(string groupAcronym, NoteFilterCriteria criteria)` | Returns notes, given `groupAcronym`, `criteria`*. |
| `EditNote` | `bool EditNote(long noteId, NoteEdit noteEdit, IMessageContainer messages)` | Handles edit note, given `noteId`, `noteEdit`, `messages`*. |
| `DeleteNote` | `bool DeleteNote(long noteId, IMessageContainer messages)` | Deletes note, given `noteId`, `messages`*. |
| `GetCategories` | `IEnumerable<Category> GetCategories()` | Returns categories*. |
| `GetAppendPrefixTextLength` | `int GetAppendPrefixTextLength()` | Returns append prefix text length*. |

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- Core/SAIF.Core/Contracts/Groups/Notes/INoteService.cs
