コード例 #1
0
        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));
        }