public async Task <Event> UpdateEvent(DataForUpdatingEventDto eventDataFromClient)
        {
            var eventFromDb = await _context.Events.FindAsync(eventDataFromClient.Id);

            var eventForUpdate = _mapper.Map <Event>(eventDataFromClient);

            if (eventDataFromClient.Icon != null)
            {
                await _service.DeleteEventIcon(eventFromDb.Id, eventFromDb.Icon);

                var imageUrl =
                    await _service.UploadEventIcon(eventDataFromClient.Id.ToString(), eventDataFromClient.Icon);

                eventForUpdate.Icon = !eventFromDb.Icon.Equals(imageUrl) ? imageUrl : eventFromDb.Icon;
            }
            else
            {
                eventForUpdate.Icon = eventFromDb.Icon;
            }

            CopyChanges(eventForUpdate, eventFromDb);
            await _context.SaveChangesAsync();

            return(eventFromDb);
        }
예제 #2
0
 public async Task <ActionResult <Event> > UpdateEvent([FromForm] DataForUpdatingEventDto eventDataFromClient)
 {
     return(Ok(await _repo.UpdateEvent(eventDataFromClient)));
 }