|
|
@ -9,6 +9,7 @@ using EventHub.Events; |
|
|
using Microsoft.AspNetCore.Authorization; |
|
|
using Microsoft.AspNetCore.Authorization; |
|
|
using Volo.Abp.Application.Dtos; |
|
|
using Volo.Abp.Application.Dtos; |
|
|
using Volo.Abp.BlobStoring; |
|
|
using Volo.Abp.BlobStoring; |
|
|
|
|
|
using Volo.Abp.Content; |
|
|
using Volo.Abp.Domain.Repositories; |
|
|
using Volo.Abp.Domain.Repositories; |
|
|
|
|
|
|
|
|
namespace EventHub.Admin.Events |
|
|
namespace EventHub.Admin.Events |
|
|
@ -36,9 +37,7 @@ namespace EventHub.Admin.Events |
|
|
public async Task<EventDetailDto> GetAsync(Guid id) |
|
|
public async Task<EventDetailDto> GetAsync(Guid id) |
|
|
{ |
|
|
{ |
|
|
var @event = await _eventRepository.GetAsync(id); |
|
|
var @event = await _eventRepository.GetAsync(id); |
|
|
|
|
|
|
|
|
var eventDetailDto = ObjectMapper.Map<Event, EventDetailDto>(@event); |
|
|
var eventDetailDto = ObjectMapper.Map<Event, EventDetailDto>(@event); |
|
|
eventDetailDto.CoverImageContent = await GetCoverImageAsync(id); |
|
|
|
|
|
|
|
|
|
|
|
return eventDetailDto; |
|
|
return eventDetailDto; |
|
|
} |
|
|
} |
|
|
@ -69,16 +68,26 @@ namespace EventHub.Admin.Events |
|
|
@event.SetTime(input.StartTime, @event.EndTime); |
|
|
@event.SetTime(input.StartTime, @event.EndTime); |
|
|
await _eventManager.SetCapacityAsync(@event, input.Capacity); |
|
|
await _eventManager.SetCapacityAsync(@event, input.Capacity); |
|
|
|
|
|
|
|
|
await SetCoverImageAsync(blobName: id.ToString(), input.CoverImageContent); |
|
|
if (input.CoverImageStreamContent != null && input.CoverImageStreamContent.ContentLength > 0) |
|
|
|
|
|
{ |
|
|
|
|
|
await SetCoverImageAsync(blobName: id.ToString(), input.CoverImageStreamContent); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
await _eventRepository.UpdateAsync(@event); |
|
|
await _eventRepository.UpdateAsync(@event); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public async Task<byte[]> GetCoverImageAsync(Guid id) |
|
|
[AllowAnonymous] |
|
|
|
|
|
public async Task<IRemoteStreamContent> GetCoverImageAsync(Guid id) |
|
|
{ |
|
|
{ |
|
|
var blobName = id.ToString(); |
|
|
var blobName = id.ToString(); |
|
|
|
|
|
var coverImageStream = await _eventBlobContainer.GetOrNullAsync(blobName); |
|
|
|
|
|
|
|
|
|
|
|
if (coverImageStream == null) |
|
|
|
|
|
{ |
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
return await _eventBlobContainer.GetAllBytesOrNullAsync(blobName); |
|
|
return new RemoteStreamContent(coverImageStream); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public async Task<List<CountryLookupDto>> GetCountriesLookupAsync() |
|
|
public async Task<List<CountryLookupDto>> GetCountriesLookupAsync() |
|
|
@ -94,9 +103,9 @@ namespace EventHub.Admin.Events |
|
|
return ObjectMapper.Map<List<Country>, List<CountryLookupDto>>(countries); |
|
|
return ObjectMapper.Map<List<Country>, List<CountryLookupDto>>(countries); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private async Task SetCoverImageAsync(string blobName, byte[] coverImageContent, bool overrideExisting = true) |
|
|
private async Task SetCoverImageAsync(string blobName, IRemoteStreamContent streamContent, bool overrideExisting = true) |
|
|
{ |
|
|
{ |
|
|
await _eventBlobContainer.SaveAsync(blobName, coverImageContent, overrideExisting); |
|
|
await _eventBlobContainer.SaveAsync(blobName, streamContent.GetStream(), overrideExisting); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|