public async Task <IActionResult> Post([FromForm] OfferDto newOffer, ICollection <IFormFile> files) { try { Offer offerAdd = new Offer(); offerAdd.categorie = new Categorie(); offerAdd.direction = new Direction(); offerAdd.commission = new Commission(); offerAdd.documents = new List <PieceOffer>(); if (files.Count() == 0) { throw new Exception("There is not file"); } offerAdd.code = newOffer.code; offerAdd.categorie.Id = int.Parse(newOffer.categorieId); offerAdd.direction.Id = int.Parse(newOffer.directionId); offerAdd.commission.Id = int.Parse(newOffer.commissionId); offerAdd.etat = newOffer.etat; offerAdd.intitule = newOffer.intitule; offerAdd.description = newOffer.description; offerAdd.placeDepot = newOffer.placeDepot; offerAdd.placeOpened = newOffer.placeOpened; offerAdd.dateLimit = DateTime.Parse(newOffer.dateLimit); offerAdd.dateOpened = DateTime.Parse(newOffer.dateOpened); offerAdd.manager = newOffer.manager; offerAdd.dateCreation = DateTime.Now; string pth = _hostingEnvironment.ContentRootPath; string folder = pth + "\\ClientApp\\app\\components\\Images"; PieceOffer document = new PieceOffer(); foreach (var file in files) { if (file.Length > 0) { string filePath = Path.Combine(folder, file.FileName); using (var stream = new FileStream(filePath, FileMode.Create)) { await file.CopyToAsync(stream); } document.name = file.FileName; document.type = file.ContentType; document.dateCreation = DateTime.Now; document.pathFile = filePath; offerAdd.documents.Add(document); } } offerRepository.AddOffer(offerAdd); return(Ok(true)); } catch (Exception e) { Log.Debug(e.Message + e.StackTrace); throw; } }