Serenity.Net.Core assembly

global namespace

signature name description
class FixedWidthAttribute Sets a fixed column width that cannot be resized (min = max = width).

Serenity namespace

signature name description
enum AttributeOrigin Attribute source types for GetAttribute and GetAttributes
static class AuthorizationExtensions Authorization extension methods
static class CollectionExtensions Basic collection extensions
class ConfigurationFeatureToggles Default implementation for IFeatureToggles that reads from configuration's FeatureToggles section. Unless the value is explicitly set to "false" for a feature, it is considered enabled.
static class CoreTexts
enum DateElementOrder Date element orders
static class DateHelper Static class with common date utilities and constants
class DefaultSectionKeyAttribute Attribute to access the default section key for an option class
static class DistributedCacheExtensions Contains extensions methods to work with IDistributedCache provider.
static class EnumMapper Contains Enum mapping and other helper functions
static class ExceptionExtensions Exception data extensions
static class FeatureTogglesExtensions Extensions for IFeatureToggles
static class FileSystemExtensions IFileSystem extensions to reduce dependency on System.IO, in case these methods are also added to IFileSystem in the future
interface IFileSystem Base file system for abstracting physical disk access
class InformationalException An exception that is created purely for informational purposes, e.g. for logging something to exception log
interface INotLoggedException An exception that should not be logged.
static class Invariants Invariant culture related constants and formats.
interface IServiceResolver<TService> A generic version of IServiceProvider which resolves a service on demand.
interface ITemporaryFileSystem Base file system used by TemporaryFileHelper
interface ITextLocalizer Text localizer for current context language / pending state.
interface IUserDefinition User definition abstraction.
static class JSON Contains shortcuts to Json serialization / deserialization methods, and default Serenity settings.
static class JsonSettings Contains default Serenity JSON serialization settings for Newtonsoft.Json.
class LocalText Defines a localizable text resource. Contains a local text key and has implicit conversions to and from String.
static class MemoryCacheExtensions Contains extensions methods to work with IMemoryCache provider.
class NullTextLocalizer Null text localizer which returns null for all keys
static class PathHelper Contains Path related helper functions.
class PhysicalFileSystem Physical file sytem
static class ReflectionExtensions Reflection extensions
static class SpecialPermissionKeys Contains special permission key constants.
static class StringHelper This static class contains some helper functions that operate on String objects.
enum SummaryType Enumeration of aggregate function types for a column
class TemporaryFileInfo Base file info used by TemporaryFileHelper
class TemporaryPhysicalFileSystem Physical file sytem
static class TextLocalizerExtensions Extensions for local text context
class Throttler Provides throttling checks for operations. E.g. allow 10 login attempts per minute.
class TwoLevelCache Contains helper functions to use local and distributed cache in sync with optional cache invalidation.
static class TwoLevelCacheExtensions Contains extension functions to use local and distributed cache in sync with optional cache invalidation.
static class UriHelper Contains URI related helper functions.
struct ValueStopwatch A value stopwatch

Serenity.Abstractions namespace

signature name description
abstract class BaseAssemblyTypeSource Base type source implementation that accepts a list of assemblies
class DefaultTypeSource Default implementation for a type source that accepts an assembly list
interface IFeatureToggles An interface to access feature toggle values
interface IGetAllTexts Abstraction for local text registry that can return all registered entries
interface IGetAssemblies Abstraction for type source that can return a list of assemblies
interface IHasPassword Used to determine if user has a password. If interface not found on user definition it assumes user has a password.
interface IHttpContextItemsAccessor Interface for abstraction that should return HttpContext.Current.Items for web requests, and null for normal threads.
interface IImpersonator Interface for authorization services that supports temporary impersonating
interface ILanguageFallbacks Abstraction for local text registry that can return language fallbacks
interface ILocalTextInitializer Abstraction for local text registry initializer, which initializes local text registry with translations.
interface ILocalTextRegistry Abstraction for local text registry which stores translations for local text keys.
interface IPasswordStrengthValidator Abstraction to validate the password strength
interface IPermissionKeyLister Permission key lister abstraction
interface IPermissionService Permission service abstraction
interface IRemoveAll Abstraction for objects that supports clearing all items, like a cache or local text registry.
interface IRemoveCachedUser Abstraction to remove a cached user by its id or username
interface IRolePermissionService Role Permission Service abstraction
interface ISiteAbsoluteUrl Interface to access absolute base URL for current site, including the PathBase. Useful for reporting callbacks, or emails etc.
interface ITransientGrantor Interface for permission services that supports granting permissions temporarily
interface ITwoLevelCache An abstraction for a combination of in memory and distributed cache.
interface ITypeSource Abstraction for type source which is used as an extensibility point for Serenity applications
interface IUserAccessor Abstraction to access the current user
interface IUserClaimCreator Interface for getting user ClaimsPrincipal
interface IUserPasswordValidator Abstraction to validate a user password
interface IUserProvider Abstraction that is a combination of IUserAccessor, IImpersonator, IUserClaimCreator, IUserRetrieveService and IUserCacheInvalidator. Note that although the DefaultUserProvider implements IImpersonator, its methods may throw exceptions if the underlying IUserAccessor does not implement IImpersonator.
interface IUserRetrieveService Abstraction to retrieve a user definition by its id or username
static class TypeSourceExtensions Type source extension methods

Serenity.ComponentModel namespace

signature name description
class AlignCenterAttribute Centers text horizontally (usually in a grid column).
abstract class AlignmentAttribute Controls horizontal alignment of text (usually in grid columns).
class AlignRightAttribute Right aligns text horizontally (usually in a grid column)
class AllowHideAttribute Controls users ability to hide a column, e.g. using column picker.
class AnnotationTypeAttribute Declares that the type with this attribute is an annotation type for another type, e.g. it contains attributes for the other type and its properties. This is mainly used to separate dependencies between rows and UI related properties like editor types etc.
class AsyncLookupEditorAttribute Indicates that the target property should use a "Lookup" editor with "async" set to true.
class BasedOnRowAttribute An attribute that indicates this type is based on another row type. Used with form, columns etc. types to map their properties to corresponding property in a row, so that they inherit attributes.
abstract class BaseUploadEditorAttribute Sets editor type as "ImageUpload", which only allows image files. Make sure you use this attribute in Row.cs, not Form.cs as the image upload behavior only works if it is in row, otherwise your files will stay in temporary directory.
class BooleanEditorAttribute Indicates that the target property should use a "Boolean" editor.
class BooleanFilteringAttribute Sets filtering type to "Boolean"
class BooleanFormatterAttribute Sets formatting type to "Boolean"
class CheckboxFormatterAttribute Sets formatting type to "Checkbox"
class CheckLookupEditorAttribute Indicates that the target property should use a "CheckLookup" editor.
class CollapsibleAttribute Used to specify a target is collapsible. Commonly used with form categories to make them collapsible.
class ColumnsScriptAttribute Indicates that this type should generate a columns script, which contains information about properties in this type and is an array of PropertyItem objects. Column scripts can be accessed from client side using Serenity.getColumns("Key")
class CssClassAttribute Sets the CSS class for columns and form fields. In forms, class is added to container div with .field class that contains both label and editor. For columns, it sets cssClass property of SlickColumn, which adds this class to slick cells for all rows. Slick column headers are not affected by this attribute, use HeaderCssClass for that.
abstract class CustomEditorAttribute Base attribute class that all other custom editor types derives from.
abstract class CustomFilteringAttribute Base class which other custom filtering types derive from.
abstract class CustomFormatterAttribute Base class for custom formatter type attributes
class DataScriptAttribute Indicates that this method / type should generate a remote data script. Data contained by remote data scripts can be accessed client side using Serenity.getRemoteData("Key") function.
class DateEditorAttribute Indicates that the target property should use a "Date" editor.
class DateFilteringAttribute Sets filtering type as "Date"
class DateFormatterAttribute Sets formatting type to "Date"
class DateTimeEditorAttribute Indicates that the target property should use a "DateTime" editor.
class DateTimeFilteringAttribute Indicates that this field should have date/time type of filtering
class DateTimeFormatterAttribute Sets formatting type to "DateTime".
class DateYearEditorAttribute Indicates that the target property should use a "DateYear" editor.
class DecimalEditorAttribute Indicates that the target property should use a "Decimal" editor.
class DecimalFilteringAttribute Indicates that this field should have decimal type of filtering
class DefaultFilenameFormatSanitizer Default implementation for IFilenameFormatSanitizer
class DisplayFormatAttribute Sets the display format for a column. This has no effect on editors! It is only for Display, "NOT Editing". For editing, you have to change UI culture.
class DistinctValuesEditorAttribute Indicates that the target property should use a "DistinctValues" editor and also defines an automatic lookup script for row fields.
abstract class DynamicScriptAttribute Base class for dynamic script attributes. Dynamic scripts contain dynamic data, but they are not parameterized.
class EditLinkAttribute Indicates that the property this attribute placed on should have an edit link
class EditorAddonAttribute Adds an editor addon to the target property.
class EditorAddonItem Editor addon item used within PropertyItem class
class EditorCssClassAttribute Sets CSS class for editor on forms only.
class EditorFilteringAttribute Indicates that property should a custom editor for filtering, which is usually determined by form editor type of the property.
class EditorOptionAttribute Sets an editor option for target property editor. Avoid using this where possible as option keys and values are not checked.
class EditorTypeAttribute Sets editor type of the target property.
class EmailAddressEditorAttribute Indicates that the target property should use a "EmailAddress" editor.
class EnumEditorAttribute Indicates that the target property should use a "Enum" editor.
class EnumFilteringAttribute Indicates that property should use enum type of filtering
class EnumFormatterAttribute Sets formatting type to "Enum".
class EnumKeyAttribute Sets the enumeration key of an enum
class FeatureKeySetAttribute Marks an enum as a set of feature toggles.
class FileDownloadFormatterAttribute Sets formatting type to "FileDownload".
class FileUploadEditorAttribute Sets editor type as "ImageUpload" (single), while allowing non-image files.
class FilteringIdFieldAttribute Specifies ID field to filter on a field. For example, if this attribute is placed on EmployeeName field, EmployeeId can be the filtering field, so that values are filtered on ID not text value.
class FilteringOptionAttribute Declares a new filtering option
class FilteringTypeAttribute Sets filtering type for the field
class FilterOnlyAttribute Indicates that this field should not be shown, and could not be made visible in column selection dialog, but only used for advanced filtering.
class FocusableAttribute Indicates if column cells can receive focus
class FormatterOptionAttribute Adds a formatter option
class FormatterTypeAttribute Sets formatter type.
class FormCssClassAttribute Sets CSS class for field on forms only.
class FormScriptAttribute Indicates that this type should generate a form script, which contains information about properties in this type and is an array of PropertyItem objects. Form scripts can be accessed from client side using Serenity.getForm("Key")
class FormWidthAttribute Sets CSS class for field on forms only. Useful for Bootstrap grid, e.g. col-md-4 etc.
class FullWidthAttribute Set form field width class to null, e.g. full width
class GenerateFieldsAttribute Marks a row class so that its fields should be generated by Serenity.Pro.Coder RowFieldsGenerator
class GenerateInterfaceAttribute Marks a class so that its accompanying interface is generated by Serenity.Pro.Coder InterfaceSourceGenerator
class GroupOrderAttribute Sets in which order this property should be grouped by. This is only meaningful when a grid has grouping, and it sets the default grouped columns. The properties with this attribute are the default ones grouped by and their groupOrder determines in which order they are grouped by.
class HalfWidthAttribute Marks form field with "col-sm-6" css class, which makes it allocate half of form row on device widths >= 768px (e.g. iPad)
class HeaderCssClassAttribute Sets the CSS class for grid column headers. It sets headerCssClass property of SlickColumn. This has no effect for forms.
class HiddenAttribute Sets a column as initially hidden
class HideLabelAttribute Sets label width to "0", e.g. hides the label
class HideOnInsertAttribute Controls whether this field is visible on new record mode
class HideOnUpdateAttribute Controls whether this field is visible on edit record mode
class HintAttribute Sets a hint for a form field. Hint is shown when field label is hovered. This has no effect on columns.
class HtmlContentEditorAttribute Indicates that the target property should use a "HtmlContent" editor. This is generally a CK editor that contains more functionalities compared to other ones.
class HtmlNoteContentEditorAttribute Indicates that the target property should use a "HtmlNoteContent" editor. This is generally a CK editor with only basic functionality for notes enabled.
class HtmlReportContentEditorAttribute Indicates that the target property should use a "HtmlReportContent" editor. This is generally a CK editor with only functionality compatible with common reporting tools like SSRS, Telerik, DevExpress etc. enabled.
class IconClassAttribute Sets icon class
interface ICustomizePropertyItems Represents a customized column / form script
interface IFilenameFormatSanitizer Abstraction for sanitizing values of replacement placeholders in a file name format string like |X|/|Y|. Sanitizer is called for each of the placeholders and for the result. Can be implemented by custom subclasses of upload editor attributes or registered in DI.
class IgnoreUIFieldAttribute Skips a property while generating grid column, form field, or report form parameter list. Use this to ignore a property for UI, but still use it for other purposes like JSON serialization. This might be useful for example when a type is used as a Service Request and Form Declaration at the same time. Unlike TransformIgnoreAttribute, this will generate the property in request types, but skip it in UI generation.
class ImageUploadEditorAttribute Sets editor type as "ImageUpload", which only allows image files. Make sure you use this attribute in Row.cs, not Form.cs as the image upload behavior only works if it is in row, otherwise your files will stay in temporary directory.
class ImplicitPermissionAttribute Placed on permission keys to define an implicitly assigned permissions when a user / role has the permission. Currently only implemented in premium app.
class InsertableAttribute Controls if this field is editable in new record mode. When used with fields, turns on or off the insertable flag.
class IntegerEditorAttribute Indicates that the target property should use a "Integer" editor.
class IntegerFilteringAttribute Indicates that property should use integer type of filtering
interface IUploadEditor Runs FileUploadBehavior or MultipleFileUploadBehavior behaviors. Make sure you use this attribute in Row.cs, not Form.cs as the image upload behavior only works if it is in row, otherwise your files will stay in temporary directory.
interface IUploadFileConstraints Constraints of the uploaded file size.
interface IUploadFileOptions Upload options related to the file name and encoding
interface IUploadImageContrains Constraints for the uploaded image.
interface IUploadImageOptions Options for the uploaded image and thumbnails
interface IUploadOptions Marker interface for all upload options
class JsonLocalTextAssetsAttribute Registers a folder with json local text files packed as static web assets for the assembly
class LabelWidthAttribute Determines label with of target property, and optionally the properties following it until another of this attribute is used.
class LocalTextPrefixAttribute Sets local text prefix for the row.
class LookupEditorAttribute Indicates that the target property should use a "Lookup" editor.
abstract class LookupEditorBaseAttribute Base class for lookup based editor types
class LookupFilteringAttribute Indicates that property should use lookup editor type of filtering
class LookupScriptAttribute Placed on rows / or custom lookup classes to denote it has a lookup script. When placed on a row class, lookup scripts only transfer ID and Name fields by default to client side for security / performance reasons. Make sure you add [LookupInclude] attribute to properties you'll need to access from script.
class MaskedEditorAttribute Indicates that the target property should use a "Masked" editor and also defines an automatic lookup script for row fields. Note that this requires https://www.npmjs.com/package/jquery.maskedinput, e.g. jquery.maskedinput.js which can be installed via libman or npm, and referenced in your scripts (via appsettings.bundles.json).
class MaxLengthAttribute Sets the maximum length of an editor attached to the target property.
class MediumHalfLargeQuarterWidthAttribute Marks form field with "col-md-6 col-lg-3" css class, which makes it allocate half of form row on device widths >= 992px (some desktop), and quarter on device widths >= 1200px
class MediumHalfLargeThirdWidthAttribute Marks form field with "col-md-6 col-lg-4" css class, which makes it allocate half of form row on device widths >= 992px (some desktop), and third on device widths >= 1200px
class MediumHalfWidthAttribute Marks form field with "col-md-6" css class, which makes it allocate half of form row on device widths >= 992px (some desktops)
class MediumQuarterWidthAttribute Marks form field with "col-md-3" css class, which makes it allocate quarter on device widths >= 992px (some desktops)
class MediumThirdLargeQuarterWidthAttribute Marks form field with "col-md-4 col-lg-3" css class, which makes it allocate third of form row on device widths >= 992px (some desktop), and quarter on device widths >= 1200px
class MinuteFormatterAttribute Sets formatting type to "Minute" which formats an integer value in HH:mm format.
class ModuleAttribute Sets the module name for the row. Module name is usually the folder name under ~/Modules folder entity resides in.
class MultipleFileUploadEditorAttribute Sets editor type to "MultipleImageUpload" while allowing non-image files.
class MultipleImageUploadEditorAttribute Sets editor type to "MultipleImageUpload" which doesn't allow non-image file types by default.
class NestedLocalTextsAttribute Indicates that this class contains local texts with optionally subclasses that also contains local texts with keys joined by "." between each class name. The topmost class has no local text prefix by default and its name doesn't take role in local text key generation.
class NestedPermissionKeysAttribute Indicates that this class contains permission keys with optional subclasses that also contains permission keys.
class NonInterfaceMemberAttribute Indicates that a property or method should not be included in the automatically generated interface when using GenerateInterfaceAttribute.
class NotFilterableAttribute Indicates that the field this attribute is placed on is not filterable.
class NumberFormatterAttribute Sets formatting type to "Number"
class OneThirdWidthAttribute Marks form field with "col-md-4" css class, which makes it allocate a third of form row on device widths >= 992px (e.g. medium desktop)
class PasswordEditorAttribute Indicates that the target property should use a "Password" editor.
enum PasswordValidationResult Password validation result
class PinColumnAttribute Pins column to the start (left for LTR, right for RTL) or end (right for LTR, left for RTL) side of the grid. Note that pinning a column requires FrozenLayout or EnhancedLayout. Only EnhancedLayout supports pinning to end side.
class PinToEndAttribute Pins column to the "end" (right for LTR, left for RTL) side of the grid. Note that pinning a column to end side requires EnhancedLayout.
class PinToStartAttribute Pins column to the "start" (left for LTR, right for RTL) side of the grid. Note that pinning a column requires FrozenLayout or EnhancedLayout.
class PlaceholderAttribute Sets a placeholder for a form field. Placeholder text is shown inside the editor when its value is empty. Only editors using basic inputs and Select2 editor supports this.
class PropertyItem Corresponds to a property item (e.g. a field in property grid with a label and editor, or a column specification in a grid)
class PropertyItemsData The data format of a property items script (form or columns)
class QuarterWidthAttribute Marks form field with "col-lg-3 col-sm-6" css class, which makes it allocate half of form row on device widths >= 768 (e.g. ipad), and quarter on device widths >= 1200px (desktop)
class QuickFilterAttribute Indicates that this property should have a quick filter on grid.
class QuickFilterOptionAttribute Add an option to the quick filtering.
class RadioButtonEditorAttribute Indicates that the target property should use a "RadioButton" editor.
class RecaptchaAttribute Indicates that the target property should use a "Recaptcha" (Google).
class RegisterPermissionKeyAttribute Registers a permission key.
class RegisterScopedAttribute Enables auto registering for the implementation type this attribute is placed on by using AddScoped method.
abstract class RegisterServiceAttribute Enables auto registering for the implementation type this attribute is placed on.
class RegisterSingletonAttribute Enables auto registering for the implementation type this attribute is placed on by using AddSingleton method.
class RegisterTransientAttribute Enables auto registering for the implementation type this attribute is placed on by using AddTransient method.
class RequiredAttribute Determines if field is required in form.
class RequiredPermissionAttribute Specifies required permission to access an object, e.g. a report
class RequiresFeatureAttribute An attribute that can be placed on targets to toggle them at runtime based features. Use FeatureBarrierAttribute for MVC controllers, controller actions, or Razor pages.
class ResetFormWidthAttribute Resets form field width to null. It maybe used to cancel UntilNext flag of a prior width attribute.
class ResetLabelWidthAttribute Resets form css class to null, it maybe used to cancel a prior LabelWidth attribute with UntilNext = true
class ResizableAttribute Determines resizability of a target column.
class ScriptIncludeAttribute Enables script code generation for the type this attribute is placed on. By default, types which are used in an endpoint / row is automatically enabled for code generation. Use this only for non-referenced types.
class ServiceLookupEditorAttribute Indicates that the target property should use a "ServiceLookup" editor.
abstract class ServiceLookupEditorBaseAttribute Base class for service lookup based editor types
class ShowSelectionAttribute Controls whether the CSS class for selected cells (default "selected") is applied to cells in this column when the containing row is selected. By default, the selected CSS class is applied to all columns in a selected row. Set this attribute to false to exclude specific columns from receiving the selected styling. This is useful for columns with custom formatters or styling that don't work well with the selected appearance.
class SkipNameCheckAttribute Skips validation of the property name against the row's field names when [BasedOnRow(CheckNames = true)] is used.
class SkipOnLoadAttribute Indicates that the target property should not get read from the source entity when a form or grid is loading. This means, the editor of the property saves the value to the entity on save, but it doesn't get read back from it when loading first time or refreshing. Useful for properties that should retain editor state without syncing to the entity on load.
class SkipOnSaveAttribute Indicates that the target property should not get written when a form or grid is saved. This means, the editor of the property reads the value from the entity, but it doesn't get written back to the entity being saved. Useful for read-only or computed properties that shouldn't update the entity.
class SortableAttribute Indicates if sorting is enabled for this property
class SortOrderAttribute Sets the column as sorted by default, and its index among sorted columns. Negative values means descending sort. Applies only to columns.
class StringEditorAttribute Indicates that the target property should use a "String" editor.
class SummaryTypeAttribute Determines type of aggregate function for a column to use
class TabAttribute Sets a tab for a form field.
class TabbableAttribute Indicates if a column is tabbable when enableCellNavigation is true in a grid. By default, all columns are tabbable, but you can set this attribute to false to prevent it from being tabbable. Note that if a column has [Focusable(false)], it won't be tabbable even if it has [Tabbable(true)], because focusable is checked first. This attribute is useful when you want to have a column that can be focused when clicked or with arrow and home/end keys, but not when tabbing through cells. It is similar to having tabindex=-1 on an input.
class TextAreaEditorAttribute Indicates that the target property should use a "TextArea" editor.
class ThreeQuarterWidthAttribute Marks form field with "col-lg-9" css class, which makes it allocate three quarter on device widths >= 1200px
class TimeEditorAttribute Indicates that the target property should use a "Time (HH:mm)" editor. The editor does not support editing seconds or milliseconds. It is a simple dropdown editor that allows selecting a time between StartHour and EndHour Note that this editor type returns an integer value that is number of minutes from midnight. Use it only with Integer typed fields. You may use multiplier option to store seconds (60) or milliseconds (60000). Use TimeSpanEditor for TimeSpan fields.
class TimeSpanEditorAttribute Indicates that the target property should use a "Time (HH:mm)" editor. The editor does not support editing seconds or milliseconds. It is a simple dropdown editor that allows selecting a time between StartHour and EndHour Note that this editor type returns a string value that is in format HH:mm. Use it only with TimeSpan typed fields. Use TimeEditor for integer fields.
class TransformIgnoreAttribute Disables script code generation for the type / property this attribute is placed on. If placed on a form / column property it will also skip generating a corresponding column / form field for that property.
class TwoThirdWidthAttribute Marks form field with "col-md-8" css class, which makes it allocate two third of form row on device widths >= 992px (e.g. medium desktop)
class TypeSourceAssemblyAttribute Marks an assembly as a source of types for ITypeSource
class UnboundAttribute Marks the column / form field as unbound (non-data / UI-only). As it derives from SkipNameCheckAttribute it skips checking the property name when [BasedOnRow] attribute is used. When used on a column property, it will have no field name in the generated column, only a column id. This is useful for columns that do not correspond to actual data fields, such as ones that host action buttons, status indicators etc. When used on a form field property, the form will not try to load or save any value for it, similar to how SkipOnSave / SkipOnLoad works. This can be considered a mixture of [SkipNameCheck] and [SkipOnLoad]/[SkipOnSave].
class UpdatableAttribute Controls if this field is editable in update record mode. When used with fields, turns on or off the updatable flag.
class UploadOptions Set of default upload options
class URLEditorAttribute Indicates that the target property should use a "Url" editor.
class UrlFormatterAttribute Sets formatting type to "Url"
class VisibleAttribute Controls initial visibility of a column / form field.
class WidthAttribute Sets column width

Serenity.Data namespace

signature name description
class Base32 This class is based on the Base32 class from DC# 0.31 All credits to Jonathan Bindel.
static class BinarySerialization Contains helper functions for serialization and deserialization of data items (e.g.cached items)
class DeletePermissionAttribute Sets delete permission for the row.
class FieldInsertPermissionAttribute Sets default read permission for fields of a row which doesn't have a InsertPermission themselves.
class FieldModifyPermissionAttribute Sets default read permission for fields of a row which doesn't have a ModifyPermission themselves.
class FieldReadPermissionAttribute Sets default read permission for fields of a row which doesn't have a ReadPermission themselves.
class FieldUpdatePermissionAttribute Sets default read permission for fields of a row which doesn't have a UpdatePermission themselves.
class FileReadAccessAttribute Base attribute to specify file read access control on a property.
class FileReadPermissionAttribute A subclass of FileReadAccessAttribute that specifies a permission
class InsertPermissionAttribute Sets delete permission for the row.
class JsonSafeInt64Converter Serialize/deserialize a row
class ModifyPermissionAttribute Sets modify permission for the row. Modify permission is used for Insert/Update/Delete if they are not explicitly specified.
class NavigationPermissionAttribute Sets navigation permission for the row, which if exists takes precedence over ReadPermissionAttribute to determine permission for row's page and navigation item.
abstract class PermissionAttributeBase An abstract base attribute that all permission related attributes derive from.
class ReadPermissionAttribute Sets read permission for the row.
class ServiceLookupPermissionAttribute Sets a permission to read only lookup fields in a row via List service Lookup field means ID, Name, and [LookupInclude] properties in a row. You must use [AuthorizeList(typeof(XRow))] instead of ServiceAuthorize in service endpoint.
class UpdatePermissionAttribute Sets update permission for the row.

Serenity.Extensions.DependencyInjection namespace

signature name description
static class CoreServiceCollectionExtensions Contains extensions to register core services
class ServiceResolver<TService> A generic version of IServiceProvider which resolves a service on demand.

Serenity.IO namespace

signature name description
enum DeleteType File deletion type.
class GlobFilter A fast glob implementation, compatible with .gitignore patterns of GIT
class TemporaryFileHelper Contains helper functions for temporary files and folders

Serenity.JsonConverters namespace

signature name description
class EnumJsonConverter Serializes enum values as numbers while trying to handle string values while deserializing
class HashSetStringJsonConverter Serialize/deserialize a HashSet object as string
class NullableJsonConverter Tries to handle empty string for nullable values like JSON.NET does
class NullAsDefaultJsonConverter Ignores null values while deserializing. Should only be used on Value types!
class ObjectJsonConverter Provides deserialization for object type similar to Newtonsoft https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/converters-how-to?pivots=dotnet-8-0#deserialize-inferred-types-to-object-properties
class SafeInt64JsonConverter Serialize/deserialize a long value converting it to string if it is higher than precision double can handle

Serenity.Localization namespace

signature name description
class DefaultTextLocalizer Implementation of text localizer for current ui culture name and text registry
static class EnumLocalTextRegistration Contains initialization method for adding local text translations defined by Description attributes in enumeration classes.
class FallbackLocalTextSource Adds key fallback to any ILocalTextSource implementation
interface ILocalText An interface implemented by LocalText class to access initial translation value. Some classes like NestedLocalTextRegistration uses this type to avoid re-registering a initialized local text object, when their Initialization method called more than once.
static class JsonLocalTextRegistration Contains helper methods for registration of local texts in hierarchical/dictionary formatted JSON files.
struct LanguageIdKeyPair A pair of a languageID and text key
class LocalTextRegistry Default ILocalTextRegistry implementation.
static class NavigationLocalTextRegistration Contains initialization method for adding navigation item attribute related local texts
static class NestedLocalTextRegistration Contains helper methods for registration of local texts in nested static classes. Nested static contains LocalText objects with actual translations as keys. This class locates them (with NestedLocalTextsAttribute at outermost class), determines keys by path from outermost to nested class name, replaces existing LocalText instance with a InitializedLocalText instance containing this generated key and initial translation, and registers this translation in ILocalTextRegistry provider.
static class NestedPermissionKeyRegistration Contains helper methods for registration of permission keys in nested static classes. These classes contains string constants containing permission keys. Display name for permission keys can be set by [DisplayName] attribute. Display name for groups can be set by [Description] attribute on classes themselves. For group display name to work, all constants in a class must start with same group prefix.
static class PropertyItemsLocalTextRegistration Contains initialization method for adding local text keys implicitly defined by DisplayName, Tab, Placeholder, Hint etc. attributes used in Form definitions

Serenity.Navigation namespace

signature name description
interface INavigationItemSource Navigation item source abstraction
interface INavigationModel Navigation model abstraction
interface INavigationModelFactory Factory abstraction for navigation models
class NavigationGroupAttribute Defines a navigation group, which are usually the icons on the sidebar band
class NavigationItem A node in a navigation tree model
abstract class NavigationItemAttribute Navigation item attribute
class NavigationMenuAttribute Navigation menu without a link
class NavigationSectionAttribute Navigation section attribute

Serenity.Plugins namespace

signature name description
class CssFile CSS file dependency for plugins
interface IBackgroundJobs Interface for plugins that has a list of background jobs
interface IConfigureServices Interface for plugins that requires to configure their own services / options
interface ICssFiles CSS file dependencies for plugins.
interface INavigationItems Abstraction for plugins with navigation entries
interface IPlugin Abstraction for plugins
interface IScriptFiles Abstraction for plugins with script file dependencies
class NavigationEntry Plugin navigation entry abstraction.
class PrecompiledViewsAttribute Indicates that this plugin assembly contains precompiled views (by RazorGenerator)
class ScriptFile Plugin script file registration

Serenity.Reflection namespace

signature name description
static class AnnotationTypeExtensions Extension methods for annotation types
class AnnotationTypeRegistry Default annotation type registry
class AssemblySorter Sorts assemblies based on their dependencies
class CodeWriter Used to write formatted code to a string builder.
interface IAnnotatedType Annotated type information
interface IAnnotationTypeRegistry An interface to query list of annotation types for a given type
interface IIntrinsicPropertyAttributeProvider Marks a composite attribute that can provide additional intrinsic attributes for a target property. The intrinsic attributes should be declared on its PropertyAttributes property.
interface IPropertyInfo An interface to virtualize property attribute access
class WrappedProperty A class that basically implements IPropertyInfo for PropertyInfo objects

Serenity.Services namespace

signature name description
enum ColumnSelection Column selection types for List services
class DefaultUserClaimCreator Default implementation for IUserClaimCreator
class DefaultUserProvider Default implementation for IUserProvider which is a combination of IUserAccessor and IUserRetrieveService.
interface IIsSensitiveMessage An interface to determine if the message of an exception might contain sensitive information that should not be shown to the end user. Currently only ValidationError implements this and returns false by default unless set explicitly.
interface IRequestHandler Marker interface for standard and custom request handlers
class JsonStringHashSetConverter Serialize/deserialize a IdentifierSet object as string
static class PermissionExpressionParser A simple parser / evaluator for logic permission expressions
class ValidationError Generic validation error mostly used by services.

Serenity.Web namespace

signature name description
class FileReadAccessSettings Settings for file read access control
interface IDynamicScript Dynamic script abstraction
interface IGetScriptData Provides access to the data object of a dynamic script
enum ImageScaleMode Thumbnail scaling modes
class ImpersonatingUserAccessor Adds impersonation support to any IUserContext implementation
interface INamedDynamicScript A dynamic script with default registration name
interface IScriptContent Cached dynamic script content
interface IScriptName Provides access to the registration name for a dynamic script
class LocalTextPackages Corresponds to LocalTextPackages section of the appsettings.json file
class LogicOperatorPermissionService Adds AND OR operator support to any IPermissionService implementation
class RecaptchaSettings Settings for Recaptcha integration Get your keys from https://www.google.com/recaptcha/admin/ Generate keys for the V2, not V3
class TransientGrantingPermissionService Adds temporary granting support to any IPermissionService implementation