public bool Update(CsCentre pCentre) { try { //return Entities.UpdateEntity<Galatee.Entity.Model.CENTRE>(Entities.ConvertObject<Galatee.Entity.Model.CENTRE, CsCentre>(pCentre)); List <int> lstIdCentreInit = new List <int>(); List <int> lstIdProduitAnc = new List <int>(); List <int> lstIdProduitNouv = new List <int>(); List <int> lstIdProduitAJouter = new List <int>(); List <int> lstIdProduitSupprimer = new List <int>(); List <int> lstIdProduitNonModifier = new List <int>(); List <CsProduit> lstProduitAsupp = new List <CsProduit>(); List <CsProduit> lstProduitAjout = new List <CsProduit>(); List <CsProduit> lstProduitCentre = Entities.GetEntityListFromQuery <CsProduit>(ParamProcedure.PARAM_PRODUIT_CENTRE(pCentre.FK_IDCODESITE)); foreach (CsProduit items in lstProduitCentre) { lstIdProduitAnc.Add(items.FK_IDPRODUIT); } foreach (CsProduit items in pCentre.LESPRODUITSDUSITE) { lstIdProduitNouv.Add(items.FK_IDPRODUIT); } lstIdProduitAJouter = lstIdProduitNouv.Where(t => !lstIdProduitAnc.Contains(t)).ToList(); lstProduitAjout = pCentre.LESPRODUITSDUSITE.Where(t => lstIdProduitAJouter.Contains(t.FK_IDPRODUIT)).ToList(); // Supprimer lstIdProduitSupprimer = lstIdProduitAnc.Where(t => !lstIdProduitNouv.Contains(t)).ToList(); lstProduitAsupp = lstProduitCentre.Where(t => lstIdProduitSupprimer.Contains(t.FK_IDPRODUIT)).ToList(); lstProduitAsupp.ForEach(t => t.DATEFIN = System.DateTime.Today); // CENTRE leCentre = new CENTRE(); leCentre = Entities.ConvertObject <Galatee.Entity.Model.CENTRE, CsCentre>(pCentre); leCentre.PRODUITCENTRE = Entities.ConvertObject <Galatee.Entity.Model.PRODUITCENTRE, CsProduit>(pCentre.LESPRODUITSDUSITE); int result = -1; using (galadbEntities ctx = new galadbEntities()) { Entities.UpdateEntity <Galatee.Entity.Model.CENTRE>(leCentre, ctx); Entities.InsertEntity <Galatee.Entity.Model.PRODUITCENTRE>(Entities.ConvertObject <Galatee.Entity.Model.PRODUITCENTRE, CsProduit>(lstProduitAsupp), ctx); Entities.InsertEntity <Galatee.Entity.Model.PRODUITCENTRE>(Entities.ConvertObject <Galatee.Entity.Model.PRODUITCENTRE, CsProduit>(lstProduitAjout), ctx); result = ctx.SaveChanges(); } return(result == -1 ? false : true); } catch (Exception ex) { throw ex; } }
public bool Insert(List <CsCentre> pCentreCollection) { try { List <CENTRE> lstCentre = new List <CENTRE>(); foreach (CsCentre item in pCentreCollection) { CENTRE leCentre = new CENTRE(); leCentre = Entities.ConvertObject <Galatee.Entity.Model.CENTRE, CsCentre>(item); leCentre.PRODUITCENTRE = Entities.ConvertObject <Galatee.Entity.Model.PRODUITCENTRE, CsProduit>(item.LESPRODUITSDUSITE); lstCentre.Add(leCentre); } return(Entities.InsertEntity <Galatee.Entity.Model.CENTRE>(lstCentre)); } catch (Exception ex) { throw ex; } }