Exemplo n.º 1
0
        public async Task <MonumentPreviewDto> Handle(CreateMonumentCommand request, CancellationToken cancellationToken)
        {
            var monumentEntity = new MonumentEntity()
            {
                UserId           = _context.UserId,
                FormOfProtection = request.FormOfProtection,
                ConstructionDate = request.ConstructionDate,
                Name             = request.Name,
                Address          = new AddressEntity()
                {
                    Area         = request.Address.Area,
                    City         = request.Address.City,
                    Commune      = request.Address.Commune,
                    District     = request.Address.District,
                    Province     = request.Address.Province,
                    Street       = request.Address.Street,
                    StreetNumber = request.Address.StreetNumber
                }
            };

            var result = await _dbContext.Monuments.AddAsync(monumentEntity, cancellationToken);

            await _dbContext.SaveChangesAsync();

            return(result.Entity.ToPreviewDto(new PictureEntity()));
        }
Exemplo n.º 2
0
 public static MonumentPreviewDto ToPreviewDto(this MonumentEntity monumentEntity, PictureEntity pictureEntity)
 {
     return(new MonumentPreviewDto()
     {
         Id = monumentEntity.Id,
         ConstructionDate = monumentEntity.ConstructionDate,
         Name = monumentEntity.Name,
         OwnerName = monumentEntity.User.Email,
         Picture = pictureEntity.ToDto(true),
         Address = monumentEntity.Address.ToDto(),
         ModifiedDate = monumentEntity.ModifiedDate,
         CreatedDate = monumentEntity.CreatedDate
     });
 }
Exemplo n.º 3
0
 public static MonumentDto ToDto(this MonumentEntity monumentEntity, ICollection <PictureEntity> pictureEntities)
 {
     return(new MonumentDto()
     {
         Id = monumentEntity.Id,
         ConstructionDate = monumentEntity.ConstructionDate,
         Name = monumentEntity.Name,
         OwnerName = monumentEntity.User.Email,
         Pictures = pictureEntities.Select(s => s.ToDto()).ToList(),
         Address = monumentEntity.Address.ToDto(),
         ModifiedBy = monumentEntity.User.ModifiedBy,
         ModifiedDate = monumentEntity.User.ModifiedDate,
         FormOfProtection = monumentEntity.FormOfProtection
     });
 }