public async Task <bool> SetAccommodationAttachmentsAsync(AccommodationAttachmentsFormModel accommodationAttachmentsForm) { try { var accommodation = _context.Accommodations.FirstOrDefault(c => c.Id == accommodationAttachmentsForm.AccommodationId); if (accommodation is null) { throw new ReservationGlobalException(AccommodationServiceErrors.AccommodationNotExistError); } if (accommodationAttachmentsForm.UploadFiles != null && accommodationAttachmentsForm.UploadFiles.Count > 0) { var notFoundFiles = 0; var filesAddress = new List <FileAddress>(); accommodationAttachmentsForm.UploadFiles.ForEach(uf => { var fileAddress = _context.FileAddresses.Find(uf); if (fileAddress == null) { notFoundFiles++; } filesAddress.Add(fileAddress); }); if (notFoundFiles > 0) { throw new ReservationGlobalException(AccommodationServiceErrors.NotExistFileAddresstError); } filesAddress.ForEach(async fa => { var accommodationAttachment = new AccommodationAttachment() { Accommodation = accommodation, FileId = fa.FileId, FileSize = fa.FileSize, FileType = fa.FileType, }; await _context.AccommodationAttachments.AddAsync(accommodationAttachment); }); await _context.SaveChangesAsync(); } return(true); } catch (Exception ex) { throw new ReservationGlobalException(AccommodationServiceErrors.SetAccommodationAttachmentsError, ex); } }
public async Task <IActionResult> SetAccommodationAttachments([FromBody] AccommodationAttachmentsFormModel accommodationAttachmentsForm) { return(Ok(GetRequestResult(await _accommodationService.SetAccommodationAttachmentsAsync(accommodationAttachmentsForm)))); }