public async Task <ActionResult <string> > PostFiche_Suivi([FromBody] Fiche_Suivi fiche_Suivi) { ValidationContraint validationFiche_Suivi = new ValidationContraint(_context); string testval = validationFiche_Suivi.testPost(fiche_Suivi); if (testval == "true") { return(await mediator.Send(new CreateGenericCommand <Fiche_Suivi>(fiche_Suivi))); } else { return(testval); } }
public async Task <ActionResult <string> > PostFiche_Suivi(IFormFile fiche_SuiviFormFile) { ValidationContraint validationFiche_Suivi = new ValidationContraint(_context); // fiche_SuiviFormFile. StringValues EquipementFilialeID; StringValues Index_Debitmetre; StringValues FraisEntretienReparation; StringValues Date; StringValues Etat; StringValues PointDeRoseeDuSecheur; StringValues THuileC; StringValues TempsArret; StringValues Nbre_Heurs_Total; StringValues TSecheurC; StringValues Remarques; StringValues PriseCompteurDernierEntretien; StringValues Nbre_Heurs_Charge; StringValues Index_Electrique; StringValues TypeDernierEntretien; StringValues NombreHeuresProductionUsineLeJourPrecedent; StringValues NombreDeJoursOuvrablesDuMois; // Request.Form.TryGetValue("Date", out Date); Request.Form.TryGetValue("EquipementFilialeID", out EquipementFilialeID); Request.Form.TryGetValue("Nbre_Heurs_Total", out Nbre_Heurs_Total); Request.Form.TryGetValue("Nbre_Heurs_Charge", out Nbre_Heurs_Charge); Request.Form.TryGetValue("TempsArret", out TempsArret); Request.Form.TryGetValue("Etat", out Etat); Request.Form.TryGetValue("PointDeRoseeDuSecheur", out PointDeRoseeDuSecheur); Request.Form.TryGetValue("Index_Debitmetre", out Index_Debitmetre); Request.Form.TryGetValue("FraisEntretienReparation", out FraisEntretienReparation); Request.Form.TryGetValue("PriseCompteurDernierEntretien", out PriseCompteurDernierEntretien); Request.Form.TryGetValue("Remarques", out Remarques); Request.Form.TryGetValue("THuileC", out THuileC); Request.Form.TryGetValue("Index_Electrique", out Index_Electrique); Request.Form.TryGetValue("TypeDernierEntretien", out TypeDernierEntretien); Request.Form.TryGetValue("NombreHeuresProductionUsineLeJourPrecedent", out NombreHeuresProductionUsineLeJourPrecedent); Request.Form.TryGetValue("NombreDeJoursOuvrablesDuMois", out NombreDeJoursOuvrablesDuMois); if (Request.Form.TryGetValue("NombreDeJoursOuvrablesDuMois", out NombreDeJoursOuvrablesDuMois) == false) { NombreDeJoursOuvrablesDuMois = "0"; } var fiche_Suivi = new Fiche_Suivi() { EquipementFilialeID = Guid.Parse(EquipementFilialeID), FraisEntretienReparation = Convert.ToInt32(FraisEntretienReparation), Date = Convert.ToDateTime(Date), Etat = ConvertFromStringToListeEtat(Etat), PointDeRoseeDuSecheur = PointDeRoseeDuSecheur, THuileC = Convert.ToDouble(THuileC), TempsArret = Convert.ToDouble(TempsArret), Nbre_Heurs_Total = Convert.ToInt32(Nbre_Heurs_Total), Remarques = Remarques, PriseCompteurDernierEntretien = Convert.ToInt32(PriseCompteurDernierEntretien), Nbre_Heurs_Charge = Convert.ToInt32(Nbre_Heurs_Charge), Index_Electrique = Convert.ToInt32(Index_Electrique), TypeDernierEntretien = ConvertFromStringToTypeEntretien(TypeDernierEntretien), NombreHeuresProductionUsineLeJourPrecedent = Convert.ToInt32(NombreHeuresProductionUsineLeJourPrecedent), NombreDeJoursOuvrablesDuMois = Convert.ToInt32(NombreDeJoursOuvrablesDuMois), Index_Debitmetre = Convert.ToInt32(Index_Debitmetre) }; //Request.Form.Files string testval = validationFiche_Suivi.testPost(fiche_Suivi); if (testval == "true") { // fiche_Suivi.FicheSuiviID= await mediator.Send(new CreateFicheSuiviCommand(fiche_Suivi)); _context.Fiche_Suivis.Add(fiche_Suivi); _context.SaveChanges(); foreach (IFormFile formFile in Request.Form.Files) { if (formFile.Length > 0) { var filePath = Path.GetTempFileName(); using (var stream = System.IO.File.Create(filePath)) { await formFile.CopyToAsync(stream); } } var tempAttachement = new Attachment(); _context.Attachments.Add(tempAttachement); try { var file = formFile; var folderName = Path.Combine("Resources", "FicheSuiviFiles"); var pathToSave = Path.Combine(Directory.GetCurrentDirectory(), folderName); if (file.Length > 0) { var OriginFileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"'); var OriginFileFormat = file.FileName.Substring(file.FileName.LastIndexOf('.') + 1, ((file.FileName.Length - 1) - file.FileName.LastIndexOf('.'))); var fileName = "pieceJointeFS" + tempAttachement.AttachmentId; var fullPath = Path.Combine(pathToSave, fileName); var dbPath = Path.Combine(folderName, fileName); using (var stream = new FileStream(fullPath, FileMode.Create)) { file.CopyTo(stream); } //create attachement for DB table tempAttachement.AttachmentName = fileName; tempAttachement.AttachmentFileFormat = file.FileName.Substring(file.FileName.LastIndexOf('.') + 1, ((file.FileName.Length - 1) - file.FileName.LastIndexOf('.'))); tempAttachement.AttachmentOriginFileName = OriginFileName; tempAttachement.FicheSuiviID = fiche_Suivi.FicheSuiviID; tempAttachement.AttachmentPhysicalPath = fullPath; //assign attachement to fichSuivi _context.Entry(tempAttachement).State = EntityState.Added; _context.SaveChanges(); } _context.SaveChanges(); } catch (Exception ex) { } } return("Added done"); } else { return(testval); } }