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)); }
public async Task <IActionResult> UpdateMission([FromForm] UpdateMissionDTO updateMissionDTO) { var result = await _missionService.UpdateMissionAsync(updateMissionDTO); return(StatusCode(result.HttpStatusCode, result.Data)); }