Added comprehensive README.md documentation to every project and subfolder in the solution. Each README describes the purpose, key files, structure, dependencies, and design patterns for its area. This improves codebase navigability and maintainability, and includes a maintenance note to keep docs in sync with future code changes. |
||
|---|---|---|
| .. | ||
| Enums | ||
| Messages | ||
| Users | ||
| AcModelDtoBase.cs | ||
| AyCode.Models.csproj | ||
| README.md | ||
README.md
AyCode.Models
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 withGuid Id. Generic versionAcModelDtoBase<TMainEntity>addsCreateMainEntity()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 withUserDtoandProfileDto.CopyUserDtoValuesToUser()for reverse mapping.AcUserModelDtoBase.cs— Extends min base withServiceProvidersandUserToServiceProviderslists.AcUserModelDtoDetailBase.cs— Full detail DTO: populates email, phone, address, timestamps. Bidirectional mapping viaCopyUserDtoValuesToUser().AcPasswordDtoBase.cs— Base withNewPasswordproperty.AcChangePasswordDto.cs— Extends password base withUserId+OldPassword.AcForgotPasswordDto.cs— Extends password base withEmail.
Dependencies
| Dependency | Purpose |
|---|---|
AyCode.Core |
Core types |
AyCode.Entities |
Entity base classes for DTO-entity mapping |
AyCode.Interfaces |
Interface contracts implemented by DTOs |
LLM Maintenance: If you modify code in this folder, update this README to reflect the changes. If you notice the README content does not match the current code, automatically update the README to match the code.