public async Task RemoveEventImage(RemoveEventImageModel request) { var eventEntity = await _eventRepository.GetEvent(request.EventUid); var imageEntity = eventEntity.EventImageContentEntities.Single(x => x.EventImageContentUid == request.ImageUid); await _eventRepository.RemoveEventImage(imageEntity); await _imageLogic.RemoveImage(request.ImageUid); }
public async Task <PersonModel> UpdatePerson(UpdatePersonModel updatePersonModel, Guid personUid) { var entity = await _personRepository.GetPerson(personUid); if (!string.IsNullOrEmpty(updatePersonModel.Name)) { entity.Name = updatePersonModel.Name; } if (!string.IsNullOrEmpty(updatePersonModel.Description)) { entity.Description = updatePersonModel.Description; } if (updatePersonModel.Age.HasValue) { entity.Age = updatePersonModel.Age; } if (updatePersonModel.CityId.HasValue) { entity.CityId = updatePersonModel.CityId; } if (!string.IsNullOrEmpty(updatePersonModel.Login)) { entity.Login = updatePersonModel.Login; } if (string.IsNullOrWhiteSpace(entity.Login) && string.IsNullOrWhiteSpace(updatePersonModel.Login)) { entity.Login = await GenarateLogin(updatePersonModel.Name); } if (updatePersonModel.Token != null) { entity.Token = updatePersonModel.Token; await _personRepository.RemoveTokenForEveryPerson(updatePersonModel.Token); } var deleteOldImage = false; var imageToDelete = entity.PersonImageContentEntity; if (updatePersonModel.Image != null) { deleteOldImage = entity.PersonImageContentEntity != null; var imageUid = await _imageLogic.SaveImage(updatePersonModel.Image); var miniImageUid = await _imageLogic.SaveImage(updatePersonModel.MiniImage); entity.PersonImageContentEntity = new PersonImageContentEntity { PersonImageContentUid = imageUid, PersonMiniatureImageContentUid = miniImageUid }; } else { entity.PersonImageContentEntity = null; } var model = _mapper.Map <PersonModel>(entity); entity.FriendList = null; entity.City = null; entity.SwipeHistory = null; await _personRepository.UpdatePerson(entity); if (deleteOldImage) { await _personRepository.RemovePersonImage(imageToDelete); await _imageLogic.RemoveImage(imageToDelete.PersonImageContentUid); if (imageToDelete.PersonMiniatureImageContentUid.HasValue) { await _imageLogic.RemoveImage(imageToDelete.PersonMiniatureImageContentUid.Value); } } return(model); }