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())); }
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 }); }
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 }); }