void galatee_Check(object sender, EventArgs e) { UcDetailCompteur ctrs = sender as UcDetailCompteur; if (ctrs.isOkClick) { int i = 1; List <CsCompteur> _LesCompteurs = (List <CsCompteur>)ctrs.MyObject; foreach (CsCompteur _LeCompteur in _LesCompteurs) { CsCanalisation canal = new CsCanalisation() { CENTRE = demandecheck.CENTRE, CLIENT = demandecheck.CLIENT, NUMDEM = demandecheck.NUMDEM, PRODUIT = demandecheck.PRODUIT, PROPRIO = "1", MARQUE = _LeCompteur.MARQUE, TYPECOMPTEUR = _LeCompteur.TYPECOMPTEUR, NUMERO = _LeCompteur.NUMERO, INFOCOMPTEUR = _LeCompteur.NUMERO, FK_IDCENTRE = demandecheck.FK_IDCENTRE, FK_IDPRODUIT = int.Parse(demandecheck.FK_IDPRODUIT.ToString()), FK_IDMAGAZINVIRTUEL = _LeCompteur.PK_ID, //FK_IDCOMPTEUR = _LeCompteur.PK_ID, FK_IDTYPECOMPTEUR = _LeCompteur.FK_IDTYPECOMPTEUR, FK_IDMARQUECOMPTEUR = _LeCompteur.FK_IDMARQUECOMPTEUR, FK_IDCALIBRE = _LeCompteur.FK_IDCALIBRECOMPTEUR, FK_IDDEMANDE = demandecheck.PK_ID, LIBELLETYPECOMPTEUR = _LeCompteur.NUMERO, POSE = System.DateTime.Now, USERCREATION = UserConnecte.matricule, USERMODIFICATION = UserConnecte.matricule, DATECREATION = System.DateTime.Now, DATEMODIFICATION = System.DateTime.Now, FK_IDPROPRIETAIRE = 1, }; if (leReglageCompteur != null) { canal.FK_IDREGLAGECOMPTEUR = leReglageCompteur.PK_ID; } lesCanalisationACree.Add(canal); if (i == _LesCompteurs.Count) { LstDemande.FirstOrDefault(c => c.NUMDEM == ((CsDemandeBase)this.dgDemande.SelectedItem).NUMDEM).COMPTEUR += _LeCompteur.NUMERO; LstDemande.FirstOrDefault(c => c.FK_IDMAGAZINVIRTUEL == ((CsDemandeBase)this.dgDemande.SelectedItem).FK_IDMAGAZINVIRTUEL).FK_IDMAGAZINVIRTUEL += _LeCompteur.PK_ID; } else { LstDemande.FirstOrDefault(c => c.NUMDEM == ((CsDemandeBase)this.dgDemande.SelectedItem).NUMDEM).COMPTEUR += _LeCompteur.NUMERO + ", "; LstDemande.FirstOrDefault(c => c.FK_IDMAGAZINVIRTUEL == ((CsDemandeBase)this.dgDemande.SelectedItem).FK_IDMAGAZINVIRTUEL).FK_IDMAGAZINVIRTUEL += _LeCompteur.PK_ID; } i++; } //dgDemande.ItemsSource = null; dgDemande.ItemsSource = LstDemande; } }
private void chk_Checked(object sender, RoutedEventArgs e) { demandecheck = ((CheckBox)sender).Tag as CsDemandeBase; CsDemandeBase _LaDemandeSelect = new CsDemandeBase(); if (this.dgDemande.SelectedItem != null) { _LaDemandeSelect = (CsDemandeBase)this.dgDemande.SelectedItem; } if (_LaDemandeSelect != null) { //LstDemandeValide.Add(_LaDemandeSelect); //if (lesCanalisationACree.Count > 0) //{ // List<CsCompteur> lstcompt = new List<CsCompteur>(); // List<CsCompteur> lstcompt2 = new List<CsCompteur>(); // foreach (CsCanalisation can in lesCanalisationACree) // lstcompt.Add(LstCompteur.Where(x => x.PK_ID == int.Parse(can.FK_IDMAGAZINVIRTUEL.ToString())).FirstOrDefault()); // foreach (CsCompteur cpt in LstCompteur) // { // if (lstcompt != null && lstcompt.Count != 0 ) // { // if (lstcompt.Where(x => x.PK_ID == cpt.PK_ID).FirstOrDefault() == null) // lstcompt2.Add(cpt); // } // } // LstCompteur = lstcompt2; //} //List<CsCompteur> lesCompteurDispo = new List<CsCompteur>(); //lesCompteurDispo = LstCompteur; if (this.dgDemande.ItemsSource != null) { List <CsDemandeBase> lstDemandelie = ((List <CsDemandeBase>) this.dgDemande.ItemsSource).Where(t => !string.IsNullOrEmpty(t.COMPTEUR)).ToList(); if (lstDemandelie != null && lstDemandelie.Count != 0) { List <int> lstIdCompteur = lstDemandelie.Select(o => o.FK_IDMAGAZINVIRTUEL).ToList(); LstCompteur = LstCompteur.Where(j => !lstIdCompteur.Contains(j.PK_ID)).ToList(); } } if (_LaDemandeSelect.PRODUIT != SessionObject.Enumere.ElectriciteMT) { leReglageCompteur = SessionObject.LstReglageCompteur.FirstOrDefault(t => t.CODE == _LaDemandeSelect.REGLAGECOMPTEUR); if (leReglageCompteur != null && leReglageCompteur.PK_ID != 0) { string CodePhase = "2"; if (_LaDemandeSelect.REGLAGECOMPTEUR != null && _LaDemandeSelect.REGLAGECOMPTEUR.Substring(0, 1) == "4") { CodePhase = "4"; } List <CsCalibreCompteur> LeCalibreEquivalant = SessionObject.LstCalibreCompteur.Where(t => t.CODEPHASE == CodePhase && t.REGLAGEMAXI >= leReglageCompteur.REGLAGEMAXI && t.FK_IDPRODUIT == _LaDemandeSelect.FK_IDPRODUIT).ToList(); List <int> lesIdCalibre = LeCalibreEquivalant.Select(u => u.PK_ID).ToList(); List <CsCompteur> lstcompteurCritere = LstCompteur.Where(t => t.FK_IDCALIBRECOMPTEUR != null && t.CODESITE == _LaDemandeSelect.SITE && t.CODEPRODUIT == _LaDemandeSelect.PRODUIT && lesIdCalibre.Contains(t.FK_IDCALIBRECOMPTEUR.Value)).ToList(); UcDetailCompteur ctr = new UcDetailCompteur(_LaDemandeSelect, lstcompteurCritere); ctr.Closed += new EventHandler(galatee_Check); ctr.Show(); } } } }