Exemple #1
0
        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;
            }
        }