|
|
|
@@ -0,0 +1,92 @@
|
|
|
|
|
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<AccountAccessDto>? AccessRights { get; set; }
|
|
|
|
|
public List<AccountAccountCategoryDto>? 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<User, UserDto>();
|
|
|
|
|
|
|
|
|
|
CreateMap<Account, AccountDto>()
|
|
|
|
|
.ForMember(x => x.HasMotions, o => o.MapFrom(x => x.Motions.Any()))
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
CreateMap<AccountDetailed, AccountDetailedDto>();
|
|
|
|
|
|
|
|
|
|
CreateMap<AccountAccess, AccountAccessDto>();
|
|
|
|
|
|
|
|
|
|
CreateMap<AccountAccountCategory, AccountAccountCategoryDto>();
|
|
|
|
|
|
|
|
|
|
CreateMap<AccountCategory, AccountCategoryDto>()
|
|
|
|
|
.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!;
|
|
|
|
|
}
|