AyCode.Core/AyCode.Models
Loretta fdff39c44b Add structured metadata blocks to all project/repo docs
Added standardized metadata blocks to the top of each project and repo documentation file. These blocks define project type, and for repos, include layer and dependencies, improving clarity and enabling better tooling support.
2026-03-30 08:53:56 +02:00
..
Enums Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00
Messages Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00
Users Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02: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 structured metadata blocks to all project/repo docs 2026-03-30 08:53:56 +02:00

README.md

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