AyCode.Models
@project {
type = "framework"
}
Shared DTOs (Data Transfer Objects) and view models for the AyCode platform. Bridges entities and interfaces into client/server-transferable models.
Folder Structure
| Folder |
Purpose |
Enums/ |
Message-related enums (content types, message types) |
Messages/ |
Email message model (currently inactive) |
Users/ |
User DTOs: minimal, standard, detail variants + password DTOs |
Root Files
AcModelDtoBase.cs — Abstract base DTO with Guid Id. Generic version AcModelDtoBase<TMainEntity> adds CreateMainEntity() for DTO-to-entity instantiation via reflection.
Key Files
Enums/
MessageContentType.cs — Enum: Text, Image, Video, Audio, File, Location, Contact, Sticker, Gif, VoiceNote, System.
MessageTypesEnum.cs — Enum: email(1), sms(2), push(3), chat(4).
Users/
AcUserModelDtoMinBase.cs — Minimal user DTO with UserDto and ProfileDto. CopyUserDtoValuesToUser() for reverse mapping.
AcUserModelDtoBase.cs — Extends min base with ServiceProviders and UserToServiceProviders lists.
AcUserModelDtoDetailBase.cs — Full detail DTO: populates email, phone, address, timestamps. Bidirectional mapping via CopyUserDtoValuesToUser().
AcPasswordDtoBase.cs — Base with NewPassword property.
AcChangePasswordDto.cs — Extends password base with UserId + OldPassword.
AcForgotPasswordDto.cs — Extends password base with Email.
Dependencies
| Dependency |
Purpose |
AyCode.Core |
Core types |
AyCode.Entities |
Entity base classes for DTO-entity mapping |
AyCode.Interfaces |
Interface contracts implemented by DTOs |