private int SocieteExists(string libelle) { if (!_context.Societe.Any(e => e.Libelle.Equals(libelle))) { Societe societe = new Societe() { Libelle = libelle }; _context.Societe.Add(societe); _context.SaveChanges(); return(societe.Id); } return(_context.Societe.Where(s => s.Libelle.Equals(libelle)).FirstOrDefault().Id); }
public int GetEnginByName(string nom) { var engin = _context.Engins.FirstOrDefault(x => x.NomEngin.ToLower() == nom.ToLower()); if (engin == null) { Engins engins = new Engins() { NomEngin = nom }; _context.Engins.Add(engins); _context.SaveChanges(); var newID = new { id = engins.Id }; return(newID.id); } return(engin.Id); }
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)); }