SHA256
GuestDocument Versions - Part 1:
- Changed GuestDocument PK from `DocumentType`+`DocumentNumber` to to `ID`+`Version` for future versioning. - Added DB field "IsLastVersion" to simplify queries where only last/current version is allowed. - Updated GuestDocument DB fields type for `CreateTime` & `UpdateTime` to add precision. - Updated usages of GuestDocument PK to new PK. - Limit delete of a GuestDocument when it's currently used in a StayEntry. Note: DB changes require recreating db tables, so all data is lost and migration "rollback" is not allowed.
This commit is contained in:
@@ -6,11 +6,23 @@ public interface IGuestDocumentEntityService
|
||||
{
|
||||
public Task<Result> CreateDocumentAsync(GuestDocumentDTO dto);
|
||||
public Task<Result> UpdateDocumentAsync(GuestDocumentDTO dto);
|
||||
public Task<Result> DeleteDocumentAsync(GuestDocumentDTO dto);
|
||||
public Task<Result> DeleteDocumentAsync(string docType, string docNum);
|
||||
|
||||
public Task<GuestDocumentDTO?> GetDtoByIdAsync(string docType, string docNum);
|
||||
/// <summary>
|
||||
/// Same behavior as <see cref="DeleteDocumentAsync(long)"/>
|
||||
/// </summary>
|
||||
public Task<Result> DeleteDocumentAsync(GuestDocumentDTO dto);
|
||||
|
||||
/// <summary>
|
||||
/// Delete documents by ID.
|
||||
/// This operation will delete all versions of a document.
|
||||
/// </summary>
|
||||
/// <param name="id">ID of the document to Delete</param>
|
||||
public Task<Result> DeleteDocumentAsync(long id);
|
||||
|
||||
public Task<GuestDocumentDTO?> GetLastVersionDtoByIdAsync(long id);
|
||||
public Task<GuestDocumentDTO?> GetLastVersionDtoByDocumentAsync(string docType, string docNum);
|
||||
|
||||
public Task<IEnumerable<GuestDocumentDTO>> GetDtoListAsync(bool onlyLastVersion);
|
||||
public Task<IEnumerable<GuestDocumentDTO>> GetDtoListByFilterAsync(GuestDocFilterDTO filter, int limit = 0);
|
||||
public Task<IEnumerable<GuestDocumentDTO>> GetDtoListAsync();
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user