public async Task <ActionResult <CheckList> > Post([FromBody] CheckList checkList) { /*CheckList check = new CheckList() * { * NombreP = checkList.NombreP, * Transporteur = checkList.Transporteur, * Tracteur = checkList.Tracteur, * Date = checkList.Date, * CatchAll = BsonDocument.Parse(checkList.CatchAll.ToString()) * };*/ var blockage = new Blockage(); var jsonDoc = JsonConvert.SerializeObject(checkList.CatchAll); checkList.CatchAll = BsonSerializer.Deserialize <Dictionary <string, object> >(jsonDoc); System.Diagnostics.Debug.WriteLine(jsonDoc); System.Diagnostics.Debug.WriteLine(checkList.CatchAll); var conducteur = _conducteurRepo.GetConducteurByCIN(checkList.Conducteur["cin"]); var vehicule = _vehiculeRepo.GetVehiculeByMatricule(checkList.Vehicule["matricule"]); var site = _siteRepo.GetSiteByLibelle(checkList.Site); var conducteurID = conducteur != null ? conducteur.Id : -1; var vehiculeID = vehicule != null ? vehicule.Id : -1; var siteID = site != null ? site.Id : -1; // var blockageID = -1; if (!string.IsNullOrEmpty(checkList.ImageURL)) { var imagePath = ConvertImage(checkList.ImageURL); checkList.ImageURL = imagePath; /*foreach (var image in checkList.ImagesURL) * { * var imagePath = ConvertImage(image.Value); * checkList.ImagesURL[image.Key] = imagePath; * var imageKey = image.Key; * var index = 0; * foreach (var item in image.Value) * { * var imagePath = ConvertImage(item); * checkList.ImagesURL[imageKey][index] = imagePath; * index++; * System.Diagnostics.Debug.WriteLine("Image Path: " + imagePath); * System.Diagnostics.Debug.WriteLine("Image Index: " + checkList.ImagesURL[imageKey][index]); * } * }*/ } if (conducteur == null) { Conducteur cond = new Conducteur() { Cin = checkList.Conducteur["cin"], NomComplet = checkList.Conducteur["nomComplet"] }; await _conducteurRepo.Create(cond); conducteurID = cond.Id; } if (vehicule == null) { Vehicule vehi = new Vehicule() { Matricule = checkList.Vehicule["matricule"], IdEngin = _vehiculeRepo.GetEnginByName(checkList.Vehicule["engin"]) }; await _vehiculeRepo.Create(vehi); vehiculeID = vehi.Id; } if (site == null) { Site st = new Site() { Libelle = checkList.Site, }; await _siteRepo.Create(site); siteID = st.Id; } checkList.Vehicule["idVehicule"] = vehiculeID.ToString(); checkList.Conducteur["idConducteur"] = conducteurID.ToString(); await _checkListRepo.Create(checkList); System.Diagnostics.Debug.WriteLine(checkList.Id.ToString()); System.Diagnostics.Debug.WriteLine(checkList.Controlleur); _context.CheckListRef.Add(new CheckListRef() { IdCheckListRef = checkList.Id.ToString(), Date = checkList.Date.Value.Date, Rating = checkList.Rating, Etat = checkList.Etat, IdConducteur = conducteurID, IdVehicule = vehiculeID, IdSite = siteID, IdControlleur = Convert.ToInt32(checkList.Controlleur["id"]) }); if (checkList.Etat) { blockage.IdVehicule = vehiculeID; blockage.DateBlockage = checkList.Date.Value.Date; blockage.IdCheckList = checkList.Id; blockage.ImageUrl = checkList.ImageURL; _context.Blockage.Add(blockage); } _context.SaveChanges(); // checkList.Vehicule["idBlockage"] = blockage.IdVehicule != null ? blockage.Id.ToString() : "-1"; // System.Diagnostics.Debug.WriteLine("BlockageID:" + blockageID); return(CreatedAtAction("GetCheckList", new { id = checkList.Id.ToString() }, checkList)); }
public async Task <ActionResult <CheckList> > Post([FromBody] CheckList checkList) { /*CheckList check = new CheckList() * { * NombreP = checkList.NombreP, * Transporteur = checkList.Transporteur, * Tracteur = checkList.Tracteur, * Date = checkList.Date, * CatchAll = BsonDocument.Parse(checkList.CatchAll.ToString()) * };*/ var blockage = new Blockage(); var jsonDoc = JsonConvert.SerializeObject(checkList.CatchAll); checkList.CatchAll = BsonSerializer.Deserialize <Dictionary <string, object> >(jsonDoc); System.Diagnostics.Debug.WriteLine(jsonDoc); System.Diagnostics.Debug.WriteLine(checkList.CatchAll); var conducteur = _conducteurRepo.GetConducteurByNumBadge(checkList.Conducteur["numBadge"]); var vehicule = _vehiculeRepo.GetVehiculeByMatricule(checkList.Vehicule["matricule"]); var site = _siteRepo.GetSiteByLibelle(checkList.Site); var conducteurID = conducteur != null ? conducteur.Id : -1; var vehiculeID = vehicule != null ? vehicule.Id : -1; var siteID = site != null ? site.Id : -1; var blockageID = -1; if (conducteur == null) { Conducteur cond = new Conducteur() { NumBadge = checkList.Conducteur["numBadge"], NomComplet = checkList.Conducteur["nomComplet"] }; await _conducteurRepo.Create(cond); conducteurID = cond.Id; } if (vehicule == null) { Vehicule vehi = new Vehicule() { Matricule = checkList.Vehicule["matricule"], IdEngin = _vehiculeRepo.GetEnginByName(checkList.Vehicule["engin"]) }; await _vehiculeRepo.Create(vehi); vehiculeID = vehi.Id; } if (site == null) { Site st = new Site() { Libelle = checkList.Site, }; await _siteRepo.Create(site); siteID = st.Id; } checkList.Vehicule["idVehicule"] = vehiculeID.ToString(); checkList.Conducteur["idConducteur"] = conducteurID.ToString(); await _checkListRepo.Create(checkList); System.Diagnostics.Debug.WriteLine(checkList.Id.ToString()); _context.CheckListRef.Add(new CheckListRef() { IdCheckListRef = checkList.Id.ToString(), Date = checkList.Date.Value.Date, Rating = checkList.Rating, Etat = checkList.Etat, IdConducteur = conducteurID, IdVehicule = vehiculeID, IdSite = siteID }); if (checkList.Etat) { blockage.IdVehicule = vehiculeID; blockage.DateBlockage = checkList.Date.Value.Date; blockage.IdCheckList = checkList.Id; _context.Blockage.Add(blockage); } _context.SaveChanges(); checkList.Vehicule["idBlockage"] = blockage.IdVehicule != null?blockage.Id.ToString() : "-1"; System.Diagnostics.Debug.WriteLine("BlockageID:" + blockageID); return(CreatedAtAction("GetCheckList", new { id = checkList.Id.ToString() }, checkList)); }