Serenity.Net.Services assembly

Serenity namespace

signature name description
enum CaptureOperationType Contains capture logging operation types
static class ChainableExtensions Contains method chaining extensions for objects like SQL queries that implement IChainable
interface IChainable Interface for chainable objects, e.g. with functions returning themselves.
interface ICriteria Shared criteria interface
interface ICustomValidator Custom validator abstraction
interface IValidationContext Validation context abstraction
struct OptionalValue<T> An optional value returned by some methods like interceptors. It can be used to indicate that the result is optional and if default is returned, the operation should continue normally.
static class PrefixHelper Contains static methods to determine prefix length for a list E.g. to find the prefix that all the columns of a table have

Serenity.ComponentModel namespace

signature name description
class AddBehaviorAttribute Attaches an explicit behavior

Serenity.Data namespace

signature name description
class Alias Used to define aliases like (T0).
static class AliasedFields Contains extension method to create aliased fields
static class AliasExtensions Contains extension methods for Alias objects
abstract class BaseCriteria Base criteria object type
abstract class BaseCriteriaVisitor A visitor implementation for BaseCriteria object trees.
class BinaryCriteria Binary criteria object, which has two operands and a operator.
class BooleanField Field with boolean value
static class BracketLocator Contains helper methods for locating / replacing brackets in an SQL expression
class ByteArrayField Field with a byte[] value
class CaptureLogAttribute Enables capture logging for a row type
static class ConnectionExtensions Contains DB connection related extensions
class ConnectionKeyAttribute Determines the connection key used for a class
class ConnectionStringEntry Connection string setting
class ConnectionStringInfo Contains a connection string, its key and provider name.
class ConnectionStringOptions Connection string options
static class ConnectionStringsExtensions Contains connection string extensions
class ConstantCriteria A constant criteria object, which only contains a value expression that would be converted to its string representation in SQL, not a parameterized value.
class Criteria An object that is used to create criterias by employing operator overloading features of C# language, instead of using string based criterias.
class CriteriaFieldExpressionReplacer Converts field names in a criteria to their corresponding SQL field expressions.
enum CriteriaOperator Set of criteria operator types
class CrossApply CROSS APPLY type of join
class CustomClassField<TValue> Base class for custom fields with reference type values
class DataAuditLogAttribute Indicates that the entity should be audit logged. This feature is only available in premium app.
class DatabaseAliasAttribute Determines database alias, used for unit test database contexts.
class DatabaseCaretReferences Helper class for replacing database caret references in format [^ConnectionKey] in SQL expressions.
static class DataReaderExtensions Extension methods for IDataReader objects.
class DateOnlyField Field with a DateOnly value
enum DateParts DateParts type
class DateTimeField Field with a DateTime value
class DateTimeKindAttribute Determines Time kind for a DateTime field.
class DateTimeOffsetField Field with a DateTimeOffset value
class DecimalField Field with a Decimal value
class DefaultConnectionStrings Default connection string source
class DefaultRowFieldsProvider Default row fields instance provider, that resolves row fields instances using ActivatorUtilities.CreateInstance through a IServiceProvider.
class DefaultRowTypeRegistry Default row type registry
class DefaultSqlConnections Default connection factory
class DefaultSqlDialectMapper Sql Dialect mapper
class DeltaLister<TItem> Helper class to find differences between to lists for updating
[Flags] enum DeltaOptions Delta options flags
class DialectExpressionSelector Selects field expressions based on dialect
static class DisplayOrderHelper A static class with helper functions to update display orders of all records or groups of records in a table.
class DoubleField Field with a Double value
class EmitFieldTypeAttribute Declares that the field generated for this template property should be of type specified.
class EmitNameAttribute Declares that the property generated for this template property should have the specified name, instead of the auto generated one.
static class EntityConnectionExtensions Contains extension methods to perform entity CRUD operations directly on connections. Please note that all these methods operate on a low level, and none of them call service behaviors or performs service validations.
static class EntityFieldExtensions Contains static extension methods for Field objects.
static class EntityQueryExtensions Extensions for objects implementing IDbWhere interface.
static class EntitySqlHelper Contains extension methods to query entities directly
static class EntitySqlQueryExtensions Extensions for SqlQuery.
class EnumField<TEnum> Field with an Enum value
enum ExpectedRows Expected number of rows enumeration for SQL Update / Delete operation. This enumeration is used to avoid updating/deleting multiple records by mistake when forgot to add a WHERE statement.
class FallbackRowFieldsProvider Fallback row fields provider for cases where a IServiceProvider is not available.
abstract class Field Base Field class
[Flags] enum FieldFlags Flags that determine basic properties of a field
enum FieldType Enumeration of field types
static class FilterableQueryExtensions Extensions for objects implementing IDbWhere interface.
class FirebirdDialect Firebird dialect
abstract class FunctionCallCriteria Criteria object that identifies a function call
abstract class GenericClassField<TValue> Base class for fields with reference type values
abstract class GenericField<TValue> Base generic class for fields with a value
abstract class GenericValueField<TValue> Base class for fields with a value type value
class GuidField Field with a Guid value
interface IAlias Interface for table aliases.
interface ICaptureLogHandler Capture logging handler abstraction
interface ICaptureLogRow Interface for capture logging row types
interface IConnectionProfiler An interface used to abstract profilers like Mini Profiler.
interface IConnectionString Contains a connection string, its key and provider name.
interface IConnectionStrings Abstraction to access connection strings along with dialect and provider information
interface IDeleteLogRow Interface for rows that have DeleteUserId and DeleteDate fields.
interface IDisplayNameRow An interface to provide access to a display name field
interface IDisplayOrderRow Basic interface for rows that has a display order field and provides a default sorting order.
class IdPropertyAttribute Determines that the attached property is the ID field of the table.
interface IEditableRow Methods and properties of a row to support desktop app grid etc. editing
interface IEmailRow An interface that provides access to email field
interface IEntity An interface for entities with Table property
interface IEntityWithJoins Interface for an entity with join information
interface IEnumTypeField Interface for fields with an enum type property
interface IField Field object abstraction for SQL query
interface IFieldWithJoinInfo Interface for a field with join and referenced join alias information
interface IFilterableQuery Interface for query classes (e.g. SqlSelect, SqlUpdate) having a where method to filter records
interface IGetExpressionByName Interface for query classes (e.g. SqlQuery) that can return expression given column name
interface IHasActualConnection Interfaces for types that has an ActualConnection property of type IDbConnection
interface IHasActualTransaction Interfaces for types that has an ActualTransaction property of type IDbTransaction
interface IHasCommandTimeout Interfaces for types that has an CommandTimeout property that determines the default command timeout for that connection
interface IHasConnectionStateChange Interfaces for types that has a connection StateChange event (e.g. connection)
interface IHasCurrentTransaction Interfaces for types that has a CurrentTransaction property of type IDbTransaction
interface IHasDialect Interfaces for types that has a Dialect property of type ISqlDialect
interface IHasLogger Interfaces for types that has an Logger
interface IHasOpenedOnce Interfaces for types that has an OpenedOnce property that determines if the connection has opened at least once
interface IHaveJoins Interface for row type that provides a list of its joins
interface IIdRow Basic interface for rows that has an ID field. You should put [IdProperty] attribute to corresponding field.
interface IInsertDateRow Interface for rows that has InsertDate field
interface IInsertLogRow Interface for rows that have InsertUserId and InsertDate fields
interface IInsertUserIdRow Interface for rows that has InsertUserId field
interface IIsActiveDeletedRow Marks an IIsActiveRow that -1 is used as deleted value
interface IIsActiveRow Interface for an entity with active field
interface IIsDeletedRow Determines that this row uses soft delete and the field that holds this flag
interface ILocalizationRow Interface for rows with a CultureId field
interface ILoggingRow A combination of IUpdateLogRow and IInsertLogRow
interface IMustRemoveT0 Obsolete interface
interface INameRow Marks a row as having a Name field (e.g. description for row). You should put [NameProperty] attribute to corresponding field
class InnerJoin INNER JOIN type
class InstanceNameAttribute Determines non-plural name for an entity.
class Int16Field Field with Int16 value
class Int32Field Field with Int32 value
class Int64Field Field with Int64 value
interface IParentIdRow Interface for rows that has a ParentId field
interface IPasswordRow An interface that provides access to password hash and salt fields
interface IQueryWithParams Interface for objects setting parameters by PARAM method (like SqlInsert, SqlUpdate, SqlDelete...)
interface IRow<TFields> Base interface for Rows with a known Fields type
interface IRow Row interface
interface IRowFieldsProvider Abstraction for row fields instance providers
interface IRowOperationInterceptor An interface that allows you to intercept SQL operations on entities. Note that this does not intercept all SQL operations, only the ones that are done through EntityConnectionExtensions. This interface should be implemented by the mock connection class used in tests.
interface IRowTypeRegistry Abstraction for row type registry.
interface ISetFieldByStatement Interface for objects setting values by SetTo method (like SqlInsert, SqlUpdate...)
interface ISqlConnections An interface used to abstract sql connections
interface ISqlDialect Abstraction for SQL dialect, e.g. syntax for different SQL server types and connection settings.
interface ISqlDialectMapper The sql dialect mapper
interface ISqlExpressionTranslator An interface custom ISqlDialect types can implement to change generated expressions for dynamic expression like ConcatExpressionAttribute. They should return NULL if it can't handle this expression type
interface ISqlOperationInterceptor An interface that makes it possible to intercept basic SQL operations on connections (e.g. SqlHelper extensions) mostly for testing purposes. Note that this does not intercept all SQL operations, only the ones that are done through SqlHelper extensions. It does not intercept Dapper operations, for example. This interface should be implemented by the mock connection class used in tests.
interface ISqlQuery SqlQuery interface.
interface ISqlQueryExtensible Extensible SQL query interface. Used to abstract Serenity.Data.Row dependency from SqlQuery.
interface ISqlQueryToString SqlQuery interface.
interface IUnitOfWork An interface to implement unit of work pattern, e.g. a transaction.
interface IUpdateDateRow Interface for rows that has a UpdateDate field
interface IUpdateLogRow Interface for rows that have UpdateUserId and UpdateDate fields
interface IUpdateUserIdRow Interface for rows that has a UpdateUserId field
abstract class Join Corresponds to an SQL JOIN (INNER, OUTER, CROSS etc.)
class JoinAliasLocator Locates alias references in an SQL expression
class JsonCriteriaConverter Serialize/deserialize a BaseCriteria object
class JsonField<TValue> Field with JSON value
class JsonRowConverter Serialize/deserialize a row
class JsonSafeCriteriaConverter Serialize/deserialize a BaseCriteria object and checks for safety of criteria expressions.
class LeftJoin LEFT JOIN type
class ListField<TItem> Field with a list value
class LocalizationRowAttribute Maps a row to its localization row
class MySqlDialect MySql dialect.
class NamePropertyAttribute Determines that the attached property is the name field of the table.
struct OldNewPair<TItem> A pair of old new values
class Oracle12cDialect Oracle12cDialect which uses OFFSET FETCH instead of ROWNUM
class OracleDialect Oracle dialect
class OuterApply OUTER APPLY join type
class ParamCriteria A criteria object containing a parameter name
struct Parameter Parameter struct
static class ParamPrefixReplacer Param prefix replacer
class PostgresDialect Postgres dialect
class QueryWithParams Base class for queries with params like SqlQuery, SqlUpdate, SqlInsert
static class QueryWithParamsExtensions Extension methods for classes implementing IDbWhereParam interface.
class RightJoin RIGHT JOIN type
abstract class Row<TFields> Base class for Serenity entities
static class RowExtensions Contains extensions for row objects
class RowField<TForeign> Field with a Row value
class RowFieldsBase Base class for row fields collection
static class RowFieldsProvider Contains extension methods and settings for row fields providers
class RowListField<TForeign> Field with a RowList value
class SafeCriteriaValidator Validates a criteria for allowed field names, operators and SQL injection safety
enum SelectLevel Select level enumeration
enum ServerType Contains server type names for common dialects
static class ServiceAuthorizationExtensions Contains static extension methods for DbField and Meta objects.
static class ServiceRequestExtensions Contains static extension methods for DbField and Meta objects.
static class SetFieldByStatementExtensions Extension methods for classes implementing IDbSet interface
class SingleField Field with a Single value
static class Sql Contains SQL expression generation helpers
class SqlCommandDumper http://stackoverflow.com/questions/265192/get-the-generated-sql-statement-from-a-sqlcommand-object (answer by Mitch)
static class SqlConversions Value to SQL constant expression conversions
class SqlDebugDumper Formats a debug version of a query, replacing parameters with SQL constants, fixing brackets, database caret references etc.
class SqlDelete Class to generate queries of form DELETE FROM tablename WHERE [conditions].
static class SqlHelper Contains static SQL related helper functions and extensions.
class SqlInsert Class to generate queries of the form INSERT INTO tablename (field1, field2..fieldN) VALUES (value1, value2..valueN)
class SqliteDialect Sqlite dialect.
static class SqlMapper Dapper wrapper
class SqlQuery SQL query string builder
class SqlServer2000Dialect SqlServer 2000 dialect.
class SqlServer2005Dialect Sql Server 2005 dialect.
class SqlServer2008Dialect Sql Server 2008 dialect.
class SqlServer2012Dialect Sql Server 2012 dialect.
static class SqlSettings Global SQL settings
static class SqlSyntax Contains SQL syntax helpers.
enum SqlUnionType Type of SQL UNIONs.
class SqlUpdate Generates queries of the form UPDATE tablename SET field1 = value1, field2 = value2 ... fieldN = valueN WHERE [filter].
class StreamField Field with a Stream value
class StringField Field with a String value
static class T0ReferenceRemover Removes T0. references in SQL expression
class TimeSpanField Field with a TimeSpan value
class TransactionlessUnitOfWork Unit of work implementation without an underlying actual transaction. Use with care only to pass a IUnitOfWork instance to some methods that you don't want to actually start a transaction.
class TransactionSettings Determines the transaction isolation level and defer start flag used for service endpoint action use when creating the UnitOfWork class
class TransactionSettingsAttribute Determines the transaction isolation level and defer start flag used for a service endpoint action use when creating the UnitOfWork class
class TwoLevelCachedAttribute This attribute marks a row so that when it is Inserted/Updated/Deleted through handler, its related cache, if any should be cleared. It doesn't turn on/off caching. A sample of related cached item to a row, might be its lookup if any.
class UnaryCriteria Unary criteria with one operand and operator
class UnitOfWork Unit of work implementation.
class UpperFunctionCriteria Criteria object that identifies an UPPER function call
class ValueCriteria Criteria object with one value
class VariantField Field with a Variant (e.g. SQL VARIANT) value
class WrappedConnection Wraps a connection to add current transaction and dialect support.
class WrappedTransaction Wraps a transaction instance to add current transaction support for the wrapped connection.

Serenity.Data.Mapping namespace

signature name description
class AuditedAttribute Indicates if the field is audited. For DataAuditLog, all fields are audited by default, but if the field has [Audited(false)] it will not be logged.
class AutoIncrementAttribute Marks the field as auto increment, e.g. generated on insert in SQL side
abstract class BaseExpressionAttribute Specifies SQL expression this property corresponds to. You may use brackets ([]) to escape identifiers. Brackets will be converted to database specific quotes.
class CaseAttribute Concat expression attribute
class CaseSwitchAttribute Case expression with simple switch value
class ColumnAttribute Explicitly specifies the database column name for property. Use this attribute if matching column name in database is different than the property name.
class ConcatAttribute Concat expression attribute
class DateDiffAttribute DateDiff expression attribute
class DatePartAttribute DatePart expression attribute
class ExpressionAttribute Specifies SQL expression this property corresponds to. You may use brackets ([]) to escape identifiers. Brackets will be converted to database specific quotes.
class ForeignKeyAttribute Specifies that this property is a foreign key to another field in a primary key table. There is no need for foreign key to exist in database actually. It is not checked. This is mostly used for joins.
class IdentityAttribute Marks the field as Identity, a combination of PrimaryKey, AutoIncrement and NotNull flags.
class InnerJoinAttribute INNER JOIN type
interface ISqlJoin Interface for SQL join types
class LeftJoinAttribute LEFT JOIN type
class LinkingSetRelationAttribute Specifies a linking set relation (1-N relation of ID values, like a check list.)
class LookupIncludeAttribute Marks the property so that it should be included in lookup by default.
class MasterDetailRelationAttribute Defines a master detail relation (1-N) between this row and another
class MinSelectLevelAttribute Determines minimum selection level for this field.
class NotMappedAttribute Specifies that this property is not mapped to an SQL column/expression
class NotNullAttribute Specifies that field can not be null.
class OriginAttribute Specifies that this column belongs to another table.
class OuterApplyAttribute Adds a OUTER APPLY to the row
class PrimaryKeyAttribute Marks the property as part of the primary key.
class QuickSearchAttribute Marks the property so that it should be included in quick text searches.
class ScaleAttribute Determines numeric scale (decimal places) for the field.
enum SearchType Quick search type enumeration
class SetFieldFlagsAttribute Used to turn on (include) or turn off (exclude) field flags.
class SizeAttribute Determines size (max length or numeric precision for) for the field.
class SqlDateTimeOffsetAttribute Dialect specific SQL expression for current date/time with timezone
class SqlNowAttribute Dialect specific SQL expression for current date/time in server's timezone
class SqlUtcNowAttribute Dialect specific SQL expression for UTC date/time
class TableNameAttribute Determines table name for the row.
class TextualFieldAttribute Determines textual field for this field. This is placed on foreign keys and specifies which field in joined table (view fields in this row that originates from foreign table) should be used for display / filtering.
class UniqueAttribute Defines a unique constraint on the field
class UniqueConstraintAttribute Adds a unique constraint check to the row.
class UpdatableExtensionAttribute Marks the JOIN as an updatable extension.

Serenity.Data.Schema namespace

signature name description
class FieldInfo Meta data information for an SQL column
class FirebirdSchemaProvider Firebird metadata provider.
class ForeignKeyInfo SQL metadata for a foreign key
interface ISchemaProvider Abstraction for SQL metadata providers
class MySqlSchemaProvider MySql metadata provider
class OracleSchemaProvider Oracle metadata provider.
class PostgresSchemaProvider PostgreSQL metadata provider
class SqliteSchemaProvider SQLite metadata provider
class SqlServerSchemaProvider SQL server metadata provider
class TableName Table schema/name and view information

Serenity.Extensions.DependencyInjection namespace

signature name description
static class DataServiceCollectionExtensions Contains extensions to register data services
static class EntityServiceCollectionExtensions Contains extensions to register entity services
static class ServiceCollectionExtensions Contains dependency injection extensions for IServiceCollection

Serenity.IO namespace

signature name description
class CommandLineTools Contains functions related to command line

Serenity.JsonConverters namespace

signature name description
class CriteriaJsonConverter Serialize/deserialize a BaseCriteria object
class RowJsonConverter Serialize/deserialize a row
class SafeCriteriaJsonConverter Serialize/deserialize a BaseCriteria object and checks for safety of criteria expressions.
class SortByJsonConverter Serialize/deserialize a SortBy object as string

Serenity.Localization namespace

signature name description
static class EntityLocalTexts EntityLocalTexts

Serenity.PropertyGrid namespace

signature name description
class BasicPropertyProcessor Basic property processor
class DefaultPropertyItemProvider Default property item provider
interface IPropertyItemProvider Abstraction for the provider that returns a list of property items for a given type
interface IPropertyProcessor Interface for property processors, which sets properties of a PropertyItem object by analysing a IPropertySource object.
interface IPropertySource Abstracts the property source that returns PropertyInfo and some other info
class LocalizablePropertyProcessor Property processor for handling localizable properties
class PropertyInfoSource Property info source for a reflection PropertyInfo object
abstract class PropertyProcessor Base class for property processors, which sets properties of a PropertyItem object by analysing a IPropertySource object.
class PropertyProcessorOptions Property item generation options for BasicPropertyProcessor

Serenity.Reporting namespace

signature name description
abstract class BaseCellDecorator Base class for cell decorators, implementing all ICellDecorator members.
abstract class BaseReport Base class for reports that implement IReport and optionally IReportWithAdditionalData
class CellDecoratorAttribute Attribute used to set the ICellDecorator type for a property.
class EnumDecorator A decorator used to export enum name instead of the enum integer value.
class GenerateCsvRequest Request model for a CSV exporter.
class GenerateExcelFileRequest Request model for an Excel exporter.
class HtmlReportRenderUrl Response type for IHtmlReportRenderUrlBuilder.GetRenderUrl method
class HtmlToPdfOptions HTML to PDF options
interface ICellDecorator Cell decorator interface mainly used for Excel export styling.
interface ICustomFileName Interface to customize the output file name, e.g. name of the XLSX or PDF file outputted by reports. By default, reports has output file name of format "_yyyyMMdd_HHmmss.ext".
interface ICustomizeHtmlToPdf An interface reports can implement to customize HTML to PDF converter settings.
interface ICustomTitle Interface to customize the report title.
interface IDataOnlyReport Interface for reports that only contain data, e.g. no design. These are usually Excel/CSV etc. export type of reports.
interface IDataReportExcelRenderer Excel exporter interface for data only reports. This is usually implemented by ClosedXML based exporter. The interface abstracts that dependency.
interface IExcelExporter Interface for Excel exporters
interface IExternalReport This interface marks a report class as a report that should open an external URL, e.g. an SSRS report url, or any arbitrary site The URL should be returned from GetData() method of report class.
interface IHtmlReportCallbackUrlBuilder Abstraction for HTML report callback url builder
interface IHtmlReportPdfRenderer PDF exporter interface for HTML reports.
interface IHtmlReportRenderUrlBuilder Interface abstraction to get HTML report render URL
interface IHtmlToPdfConverter Abstraction for service that converts HTML to PDF
interface IHtmlToPdfOptions Set of options for HTML to PDF converter (WKHTMLToPdf)
interface IReport The basic interface for all reports
interface IReportCallbackInterceptor Abstraction for a report callback interceptor that is called by ~/Serenity.Extensions/Report/Render. This is implemented by HtmlReportCallbackUrlInterceptor to implement impersonation and transient granting during report callbacks.
interface IReportFactory Abstraction for the a report factory that creates a report by its key and populates it with the JSON options passed
interface IReportRegistry Abstraction for the registry which holds and allows querying list of available reports by their keys and categories.
interface IReportRenderer Abstraction for the a report render that renders a report
interface IReportRetrieveHandler Abstraction for report info retriever
interface IReportWithAdditionalData The interface for reports that return some type of additional data. For example, the system settings. This can be considered as additional datasets.
interface IWKHtmlToPdfConverter WKHTMLToPdf converter interface
class ReportAttribute Marks a class as Report
class ReportColumn Information about a report column
static class ReportColumnConverter Contains methods to extract ReportColumns from other types.
class ReportDesignAttribute The attribute used to determine the location of the report design which is usually a CSHTML file.
static class ReportFactoryExtensions Contains extension methods for IReportFactory
class ReportRegistry Default report registry implementation
class ReportRenderOptions Render request a report
class ReportRenderResult Render result for a report
class ReportRetrieveRequest Request model to retrieve a report by its key. This only returns the metadata, e.g. parameters of report etc.
class ReportRetrieveResponse Response model for a report retrieve request.
class TabularDataReport An implementation of a data only report which is used mainly for Excel export.
class UseWKHtmlToPdfAttribute Marks a report to determine if it should use WKHTML instead of another converter, e.g. Puppeteer etc. (only if configured in service provider).

Serenity.Services namespace

signature name description
abstract class BaseDeleteBehavior Base class for types implementing IDeleteBehavior
abstract class BaseListBehavior Base class for behaviors implementing IListBehavior
class BaseRepository An base class that can be used for repositories (obsolete, BaseRequestHandler) that accept a IRequestContext instance.
abstract class BaseRequestHandler An abstract class that can be used as base for request handlers that accept a IRequestContext instance.
abstract class BaseRetrieveBehavior Base class for behaviors implementing IRetrieveBehavior
abstract class BaseSaveBehavior Base class for behaviors implementing ISaveBehavior
abstract class BaseSaveDeleteBehavior Base class for behaviors implementing save and delete behavior interfaces
abstract class BaseUndeleteBehavior Base class for types implementing IUndeleteBehavior
static class BehaviorProviderExtensions Extension methods for behavior provider
class CaptureLogBehavior Capture log behavior
class CaptureLogConsts Contains constants related to the capture logging
static class DataValidation Contains validation related helper methods for service handlers
static class DataValidationTexts
class DefaultBehaviorFactory Default IBehaviorFactory implementation
class DefaultBehaviorProvider Default implementation for IBehaviorProvider
class DefaultHandlerActivator Default implementation of the IHandlerActivator
class DefaultHandlerAttribute Specifies that the class this attribute attached to is the default handler (list, create, delete, update etc). and should be used by some behaviors like MasterDetailRelationBehavior instead of creating a generic handler.
class DefaultHandlerFactory Default implementation for the IDefaultHandlerFactory
static class DefaultHandlerFactoryExtensions Extension methods for IDefaultHandlerFactory
class DefaultHandlerRegistry Default implentation for the IDefaultHandlerFactory
class DefaultImplicitBehaviorRegistry Default implementation for the IImplicitBehaviorRegistry
class DefaultRequestContext Default implementation for a IRequestContext
class DeleteRequest Service object for delete requests
class DeleteRequestHandler<TRow> Base generic class for delete request handlers that use DeleteRequest as the request type, and DeleteResponse as the response type.
class DeleteRequestHandler<TRow,TDeleteRequest,TDeleteResponse> Generic base class for delete request handlers
class DeleteResponse The response object returned from a delete service
class DisplayOrderFilterHelper Display order related helper methods
class GenericHandlerTypeAttribute Assigns the generic handler type (e.g. SaveRequestHandler for a handler interface (like ISaveRequestHandler)
interface IBehaviorFactory Behavior factory abstraction
interface IBehaviorProvider Interface abstraction for behavior provider which resolves list of behavior instances of a specified type, like ISaveBehavior etc.
interface ICreateHandler<TRow> Interface for create request handlers
interface ICreateHandler<TRow,TSaveRequest,TSaveResponse> Interface for create request handlers with custom request / response types.
interface IDefaultHandlerFactory Interface to get a new instace of a default request handler, given its row type and the handler interface
interface IDefaultHandlerRegistry Abstraction for the registry that contains default handler types.
interface IDeleteBehavior A delete behavior that can be used as a mixin within a DeleteRequestHandler lifecycle
interface IDeleteExceptionBehavior This is an extension for delete behaviors that should be called for exceptions that occur during delete. It could be useful to preview the exception and raise another exception for FK / PK database errors etc.
interface IDeleteHandler<TRow> Interface for delete request handlers that use DeleteRequest as request, and DeleteResponse as response types.
interface IDeleteHandler<TRow,TDeleteRequest,TDeleteResponse> Interface for delete request handlers with custom delete request / response types.
interface IDeleteRequestHandler Represents a DeleteRequestHandler. Is used with DeleteBehavior objects.
interface IDeleteRequestProcessor Abstraction for delete request handlers with a Process method.
interface IFieldBehavior Represents a request handler behavior that is targeted to a field.
interface IHandlerActivator Abstraction for request handler activator, that is used to create instances of an handler type.
interface IImplicitBehavior An implicit behavior is a request handler behavior (save/list/retrieve/delete etc.) which can be implicitly activated for a row type without explicitly attached to that row type.
interface IImplicitBehaviorRegistry An interface to query list of implicit behaviors registered through the dependency resolver. Implicit behaviors are automatically activated behaviors by querying via their ActivateFor method. See IImplicitBehavior
interface IIncludeExcludeColumns Abstraction for service objects containing include / exclude column sets. See ListRequest and RetrieveRequest.
interface IListBehavior A list behavior that can be used as a mixin within a ListRequestHandler lifecycle
interface IListExceptionBehavior This is an extension for list behaviors that should be called for exceptions that occur during list. It could be useful to preview the exception and raise another exception for JSON serialization errors etc.
interface IListHandler<TRow> Interface for list request handlers
interface IListHandler<TRow,TListRequest> Interface for list request handlers with a custom list request type.
interface IListHandler<TRow,TListRequest,TListResponse> Interface for list request handlers with custom list request / response types.
interface IListMapFieldExpressionBehavior An extension for list behaviors that can map fields to custom expressions within a ListRequestHandler lifecycle. Note that the first behavior that returns a non-null value will be used.
interface IListRequestHandler Represents a ListRequestHandler. Is used with ListBehavior objects.
interface IListRequestProcessor Abstraction for list request handlers with a Process method.
interface IListResponse The interface for list response. This is used to easily access list response members as the ListResponse class itself is generic.
interface IRequestContext A service request context abstraction containing services that are mostly used by all service handler types. This is a type similar to the HttpContext but is specialized for service handlers.
interface IRequestHandler<TRow> Marker interface for request handlers that operate on a specific entity type.
interface IRequestHandler<TRow,TRequest,TResponse> Marker interface for request handlers that operate on a specific entity type, request type and a response type.
interface IRequestType<TRequestType> Interface to access the request type of a request handler
interface IResponseType<TResponseType> Interface to access the response type of a request handler
interface IRetrieveBehavior A retrieve behavior that can be used as a mixin within a RetrieveRequestHandler lifecycle
interface IRetrieveExceptionBehavior This is an extension for retrieve behaviors that should be called for exceptions that occur during retrieve. It could be useful to preview the exception and raise another exception for JSON serialization errors etc.
interface IRetrieveHandler<TRow> Interface for list request handlers
interface IRetrieveHandler<TRow,TRetrieveRequest,TRetrieveResponse> Interface for retrieve request handlers with custom retrieve request / response types.
interface IRetrieveRequestHandler Represents a RetrieveRequestHandler. Is used with RetrieveBehavior objects.
interface IRetrieveRequestProcessor Abstraction for retrieve request handlers with a Process method.
interface IRetrieveResponse Interface for a RetrieveResponse. As the RetrieveResponse itself is generic, this allows easier access to its members.
interface ISaveBehavior A save behavior that can be used as a mixin within a SaveRequestHandler lifecycle
interface ISaveExceptionBehavior This is an extension for save behaviors that should be called for exceptions that occur during save. It could be useful to preview the exception and raise another exception for FK / PK database errors etc.
interface ISaveHandler<TRow> Interface for save request handlers
interface ISaveHandler<TRow,TSaveRequest,TSaveResponse> Interface for save request handlers with custom request / response types.
interface ISaveRequest Interface for a SaveRequest. As the SaveRequest itself is generic, this allows easier access to its members.
interface ISaveRequestHandler Represents a SaveRequestHandler. Is used with SaveBehavior objects.
interface ISaveRequestProcessor Abstraction for save request handlers with a Process method.
interface IUndeleteBehavior A undelete behavior that can be used as a mixin within a UndeleteRequestHandler lifecycle
interface IUndeleteExceptionBehavior This is an extension for undelete behaviors that should be called for exceptions that occur during delete. It could be useful to preview the exception and raise another exception for FK / PK database errors etc.
interface IUndeleteHandler<TRow> Interface for undelete request handlers that use UndeleteRequest as request, and UndeleteResponse as response types.
interface IUndeleteHandler<TRow,TUndeleteRequest,TUndeleteResponse> Interface for undelete request handlers with custom undelete request / response types.
interface IUndeleteRequestHandler Represents a UndeleteRequestHandler. Is used with UndeleteBehavior objects.
interface IUndeleteRequestProcessor Abstraction for undelete request handlers with a Process method.
interface IUpdateHandler<TRow> Interface for update request handlers
interface IUpdateHandler<TRow,TSaveRequest,TSaveResponse> Interface for update request handlers with custom request / response types.
class JsonServiceClient A JSON service client implementation
class JsonSortByConverter Serialize/deserialize a SortBy object as string
class LinkingSetRelationBehavior Behavior class that handles LinkingSetRelationAttribute
class ListRequest The request model for a List service.
class ListRequestHandler<TRow> Base generic class for list request handlers that use ListRequest as the request type, and ListResponse as the response type.
class ListRequestHandler<TRow,TListRequest> Base generic class for list request handlers that use a custom list request as the request type, and ListResponse as the response type.
class ListRequestHandler<TRow,TListRequest,TListResponse> Generic base class for list request handlers
class ListResponse<T> The response model for a list service.
class LocalizationBehavior Behavior for handling localizable rows / properties
class MasterDetailRelationBehavior Behavior class that handles MasterDetailRelationAttribute
static class RequestHandlerExtensions Contains extension methods to create request / response types for a request handler instance
enum RetrieveColumnSelection The group of columns to retrieve
class RetrieveRequest The request model for a Retrieve service
class RetrieveRequestHandler<TRow> Base generic class for retrieve request handlers that use RetrieveRequest as the request type, and RetrieveResponse as the response type.
class RetrieveRequestHandler<TRow,TRetrieveRequest,TRetrieveResponse> Generic base class for retrieve request handlers
class RetrieveResponse<T> The service response model for a Retrieve service
class RowValidationContext A validation context for rows
class SaveRequest<TEntity> The service model for a Save (Create / Update) service.
class SaveRequestHandler<TRow> Base generic class for save request handlers that use SaveRequest as the request type, and SaveResponse as the response type.
class SaveRequestHandler<TRow,TSaveRequest,TSaveResponse> Generic base class for save request handlers
enum SaveRequestType Save request type for save request processors
class SaveResponse The response model for a Save service
class ServiceError The error object model returned from a service
static class ServiceHelper Contains some helper methods for service handlers
static class ServiceQueryHelper Contains static helper methods for service handler queries.
class ServiceRequest The base request object model for all service requests. Your custom request objects should all derive from this type.
class ServiceResponse The base service response object model for all service response types. Your custom response objects should derive from this class.
class SortBy A sort column. In JSON this is deserialized from strings in the format "field" or "field desc"
static class TreeOrdering Tree based sorting helper. E.g. in a tree, a node's parents should come before itself. Such an ordering is not easy in SQL so we use this helper to do ordering client side.
static class TwoLevelCacheInvalidationExtensions Contains helper methods for two level cache invalidation
class UndeleteRequest The request model for an undelete service
class UndeleteRequestHandler<TRow> Base generic class for undelete request handlers that use UndeleteRequest as the request type, and UndeleteResponse as the response type.
class UndeleteRequestHandler<TRow,TUndeleteRequest,TUndeleteResponse> Generic base class for undelete request handlers
class UndeleteResponse The response model for an undelete service
class UniqueConstraintSaveBehavior Behavior that handles UniqueConstraintAttribute
class UniqueFieldSaveBehavior Interface that handles UniqueConstraintAttribute on fields
class UpdatableExtensionBehavior Behavior that handles UpdatableExtensionAttribute
class UpdateInsertLogBehavior Behavior class that handles assignment of relevant fields for rows with IInsertLogRow and IUpdateLogRow interfaces
class UploadedFile Uploaded file item which is used by multiple upload editors to store file information in a string field as JSON array.
class ValidateParentBehavior Validation behavior for rows that have a parent record via IParentIdRow interface

Serenity.Web namespace

signature name description
class ColumnsScript Dynamic script type for columns (ColumnsScriptAttribute)
class CombinedUploadStorage A combined upload storage implementation that uses two upload storage instances, while serving one of them from a sub path like "/temporary/"
class ConcatenatedScript A dynamic script that is formed from concatenation of other scripts
class CopyTemporaryFileOptions Options for copying a temporary file to its target
class CopyTemporaryFileResult Result of the copying of a temporary file to its target
abstract class DataScript<TData> Generic subclass of the DataScript
class DataScript Dynamic script that contains remote data
class DefaultImageProcessor Default implementation for the IImageProcessor
class DefaultUploadProcessor Default implementation for IUploadProcessor
class DefaultUploadValidator Default implementation for IUploadValidator
class DiskUploadStorage A file system based upload storage implementation
class DiskUploadStorageOptions Options for DiskUploadStorage
abstract class DynamicScript Base abstract implementation for IDynamicScript
static class FileMetadataKeys Contains file metadata key constants
class FilesToDelete A container that stores list of file paths to delete (old files) if the upload related operation is successful. If it is not, the old files will be kept while the new files will be deleted.
static class FilesToDeleteExtensions Extension methods for FilesToDelete
static class FileUploadTexts
class FormatFilenameOptions Options for formatting a file name
class FormScript Dynamic script type for forms (FormScriptAttribute)
interface IDiskUploadFileSystem Extension for IFileSystem with disk upload storage specific methods.
interface IFilesToDelete Interface for a files to delete container (FilesToDelete)
interface IImageProcessor Image processor abstraction
class ImageChecker Checks stream data if valid image file and validate required conditions.
enum ImageCheckResult ImageChecker's result codes.
static class ImageCheckResultTexts
class ImageEncoderParams Parameters for image encoding. Currently only contains a JPEG quality parameter.
class ImageFormatInfo Information about an image format
interface IUploadAVScanner Abstraction for an upload antivirus scanner, which scans temporary uploads before getting processed
interface IUploadProcessor Abstraction for an upload processor, which handles temporary uploads
interface IUploadStorage Abstraction for an upload storage
interface IUploadValidator An upload validator abstraction for checking IUploadFileConstraints and IUploadImageContrains
enum OverwriteOption Enum that contains what to do when a file at desired path exists
class PhysicalDiskUploadFileSystem Implementation of the IDiskUploadFileSystem
class ProcessedUploadInfo Information about a processed temporary upload
abstract class PropertyItemsScript Abstract base class for ColumnsScript and FormScript
class TempUploadStorage A subclass of DiskUploadStorage specialized for the temporary upload folder, allowing to purge temporary files
static class ThumbnailGenerator Static class that contains thumbnail generator methods
static class UploadFormatting Contains helper methods for upload file name formatting
static class UploadPathHelper Contains helper functions for upload paths
class UploadSettings Upload settings
static class UploadStorageExtensions Extension methods for IUploadStorage and related classes