public async Task <IDataResult <Evidence> > UpdateEvidenceAsync(UpdateEvidenceDTO updateEvidenceDTO) { var evidence = await _evidenceDal.GetEvidenceWithImageAsync(e => e.PublicId == updateEvidenceDTO.PublicId); var image = evidence.EvidenceImages.FirstOrDefault(eI => eI.EvidenceId == updateEvidenceDTO.Id).Image; var uploadResult = await _cloudinaryOperations.UpdateImageAsync(updateEvidenceDTO.ImageFile, evidence.PublicId); evidence.PublicId = uploadResult.PublicId; image.Url = uploadResult.Url.ToString(); evidence.Argument = updateEvidenceDTO.Argument; await _evidenceDal.UpdateEvidenceWithImageAsync(evidence, image); return(new SuccessfulDataResult <Evidence>(evidence, HttpStatusCode.OK)); }
public async Task <IDataResult <Mission> > UpdateMissionAsync(UpdateMissionDTO updateMissionDTO) { var mission = await _missionDal.GetMissionWithImagesAsync(m => m.PublicId == updateMissionDTO.PublicId); var image = mission.MissionImages.FirstOrDefault(mI => mI.MissionId == updateMissionDTO.Id).Image; var uploadResult = await _cloudinaryOperations.UpdateImageAsync(updateMissionDTO.ImageFile, mission.PublicId); mission.PublicId = uploadResult.PublicId; mission.Latitude = updateMissionDTO.Latitude; mission.Longitude = updateMissionDTO.Longitude; mission.Title = updateMissionDTO.Title; mission.Content = updateMissionDTO.Content; mission.CreatedDate = updateMissionDTO.CreatedDate; mission.Difficulty = updateMissionDTO.Difficulty; mission.OwnerUserId = updateMissionDTO.OwnerUserId; image.Url = uploadResult.Url.ToString(); await _missionDal.UpdateMissionWithImageAsync(mission, image); return(new SuccessfulDataResult <Mission>(mission, HttpStatusCode.Created)); }