AyCode.Core/AyCode.Models
Loretta fbe142c6f3 Add detailed README.md files for all projects and folders
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.
2026-03-28 17:24:56 +01:00
..
Enums Add detailed README.md files for all projects and folders 2026-03-28 17:24:56 +01:00
Messages Add detailed README.md files for all projects and folders 2026-03-28 17:24:56 +01:00
Users Add detailed README.md files for all projects and folders 2026-03-28 17:24:56 +01:00
AcModelDtoBase.cs AcModels improvements... 2024-06-03 19:04:23 +02:00
AyCode.Models.csproj Add .targets file 2025-08-31 13:07:34 +02:00
README.md Add detailed README.md files for all projects and folders 2026-03-28 17:24:56 +01:00

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 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

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.