示例#1
0
        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;
            }
        }
示例#2
0
        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();
                    }
                }
            }
        }