using MyOffice.Data.Models.Accounts; using MyOffice.Data.Models.Users; using MyOffice.Services.Account.Domain; namespace MyOffice.Services.Account.Domain { using AutoMapper; using MyOffice.Data.Models.Accounts; using MyOffice.Data.Models.Currencies; using MyOffice.Data.Models.Users; using System; public class AccountDto { public Guid Id { get; set; } public string CurrencyGlobalId { get; set; } = null!; public CurrencyGlobal? CurrencyGlobal { get; set; } public Guid CurrencyId { get; set; } public Currency? Currency { get; set; } public Guid UserId { get; set; } public UserDto? User { get; set; } public Guid OwnerId { get; set; } public UserDto? Owner { get; set; } public string Name { get; set; } = null!; public bool HasMotions { get; set; } public List? AccessRights { get; set; } public List? Categories { get; set; } } public class AccountAccessDto { public Guid AccountId { get; set; } public AccountDto? Account { get; set; } public Guid UserId { get; set; } public User? User { get; set; } public bool IsAllowRead { get; set; } public bool IsAllowWrite { get; set; } public bool IsAllowManage { get; set; } public AccountAccessTypeEnum Type { get; set; } } public class AccountAccountCategoryDto { public Guid CategoryId { get; set; } public AccountCategoryDto? Category { get; set; } = null!; } public class AccountMappingProfile : Profile { public AccountMappingProfile() { CreateMap(); CreateMap() .ForMember(x => x.HasMotions, o => o.MapFrom(x => x.Motions.Any())) ; CreateMap(); CreateMap(); CreateMap(); CreateMap() .ForMember(x => x.Id, o => o.MapFrom(x => x.Id)) .ForMember(x => x.Id, o => o.MapFrom(x => x.Id)) ; } } public class UserDto { public Guid Id { get; set; } public string UserName { get; set; } = null!; public string Email { get; set; } = null!; public string? FirstName { get; set; } public string? LastName { get; set; } public string? FullName { get; set; } public string? Phone { get; set; } public string CurrencyId { get; set; } public CurrencyGlobal? Currency { get; set; } } } public class AccountCategoryDto { public Guid Id { get; set; } public Guid UserId { get; set; } public string Name { get; set; } = null!; }