private void Recherche()
        {
            ObjMATRICULE critere = new ObjMATRICULE();

            try
            {
                busyIndicator.IsBusy = true;
                var admClient = new AcceuilServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Accueil"));
                critere.MATRICULE = (string.IsNullOrEmpty(this.Txt_matricule.Text)) ? null : this.Txt_matricule.Text;
                critere.LIBELLE   = (string.IsNullOrEmpty(this.Txt_name.Text)) ? null : this.Txt_name.Text;
                critere.FONCTION  = (string.IsNullOrEmpty(this.Txt_codeFonction.Text))
                                       ? null
                                       : this.Txt_codeFonction.Text;

                LayoutRoot.Cursor = Cursors.Wait;
                admClient.GetUserByIdFonctionMatriculeNomCompleted += (sen, result) =>
                {
                    if (result.Cancelled || result.Error != null)
                    {
                        LayoutRoot.Cursor = Cursors.Arrow;
                        string error = result.Error.Message;
                        Message.ShowError(error, Languages.txtDevis);
                        return;
                    }
                    if (result.Result == null || result.Result.Count == 0)
                    {
                        LayoutRoot.Cursor = Cursors.Arrow;
                        Message.ShowError(
                            "Aucun agent ne correspond aux critères saisis !",
                            Languages.txtDevis);
                        return;
                    }
                    if (result.Result != null && result.Result.Count > 0)
                    {
                        List <CsUtilisateur> lstUtulisateur = new List <CsUtilisateur>();
                        var lstCentreDistnct = result.Result.Select(t => new { t.MATRICULE, t.LIBELLE }).Distinct().ToList();
                        foreach (var item in lstCentreDistnct)
                        {
                            CsUtilisateur leUSer = new CsUtilisateur();
                            leUSer.MATRICULE = item.MATRICULE;
                            leUSer.LIBELLE   = item.LIBELLE;
                            leUSer.PK_ID     = result.Result.FirstOrDefault(t => t.MATRICULE == item.MATRICULE).PK_ID;
                            lstUtulisateur.Add(leUSer);
                        }
                        this.Dtg_agent.ItemsSource = lstUtulisateur;
                    }
                    busyIndicator.IsBusy = false;
                    LayoutRoot.Cursor    = Cursors.Arrow;
                };
                admClient.GetUserByIdFonctionMatriculeNomAsync(critere.FONCTION, critere.MATRICULE, critere.LIBELLE);
            }
            catch (Exception ex)
            {
                busyIndicator.IsBusy = false;
                throw ex;
            }
        }
        private void Recherche(string Matricule, string NomAgent)
        {
            ObjMATRICULE critere = new ObjMATRICULE();

            try
            {
                busyIndicator.IsBusy = true;
                var admClient = new AcceuilServiceClient(Utility.Protocole(), Utility.EndPoint("Accueil"));
                LayoutRoot.Cursor = Cursors.Wait;
                admClient.GetUserByIdGroupeValidationMatriculeNomAsync((Guid)Txt_codeFonction.Tag, _centreID, SessionObject.Enumere.CodeFonctionMetreur, Matricule, NomAgent);
                admClient.GetUserByIdGroupeValidationMatriculeNomCompleted += (sen, result) =>
                {
                    if (result.Cancelled || result.Error != null)
                    {
                        LayoutRoot.Cursor = Cursors.Arrow;
                        string error = result.Error.Message;
                        Message.ShowError(error, Languages.txtDevis);
                        return;
                    }
                    if (result.Result == null || result.Result.Count == 0)
                    {
                        LayoutRoot.Cursor = Cursors.Arrow;
                        Message.ShowError(
                            "Aucun agent ne correspond aux critères saisis !",
                            Languages.txtDevis);
                        return;
                    }
                    if (result.Result != null && result.Result.Count > 0)
                    {
                        List <ServiceAccueil.CsUtilisateur> lstUser = new List <ServiceAccueil.CsUtilisateur>();
                        var LstDistinct = result.Result.Select(t => new { t.PK_ID, t.LIBELLE, t.MATRICULE, t.LOGINNAME, t.E_MAIL }).Distinct().ToList();
                        foreach (var item in LstDistinct)
                        {
                            lstUser.Add(new ServiceAccueil.CsUtilisateur
                            {
                                LOGINNAME = item.LOGINNAME,
                                MATRICULE = item.MATRICULE,
                                PK_ID     = item.PK_ID,
                                LIBELLE   = item.LIBELLE,
                                E_MAIL    = item.E_MAIL
                            });
                        }
                        this.Dtg_agent.ItemsSource = lstUser;
                    }
                    busyIndicator.IsBusy = false;
                    LayoutRoot.Cursor    = Cursors.Arrow;
                };
            }
            catch (Exception ex)
            {
                busyIndicator.IsBusy = false;
                throw ex;
            }
        }
        public static bool UpdateOrInsertElementsDeDevis(List <ObjELEMENTDEVIS> entityCollection, ObjMATRICULE pAgent)
        {
            List <ObjELEMENTDEVIS> ListEltDevisForUpdate = new List <ObjELEMENTDEVIS>();
            List <ObjELEMENTDEVIS> ListEltDevisForInsert = new List <ObjELEMENTDEVIS>();
            bool result = false;

            try
            {
                foreach (ObjELEMENTDEVIS eltDevis in entityCollection)
                {
                    var dt = DevisProcedures.DEVIS_ELEMENTDEVIS_RetourneByDevisIdOrdreFournitureId(eltDevis.FK_IDDEMANDE, eltDevis.ORDRE, eltDevis.FK_IDFOURNITURE.Value
                                                                                                   );
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        ObjELEMENTDEVIS obj = Entities.GetEntityFromQuery <ObjELEMENTDEVIS>(dt);
                        eltDevis.PK_ID            = obj.PK_ID;
                        eltDevis.USERCREATION     = obj.USERCREATION;
                        eltDevis.DATECREATION     = obj.DATECREATION;
                        eltDevis.USERMODIFICATION = pAgent.MATRICULE;
                        eltDevis.DATEMODIFICATION = DateTime.Now;
                        ListEltDevisForUpdate.Add(eltDevis);
                    }
                    else
                    {
                        eltDevis.USERCREATION = pAgent.MATRICULE;
                        eltDevis.DATECREATION = DateTime.Now;
                        ListEltDevisForInsert.Add(eltDevis);
                    }
                }
                if (ListEltDevisForInsert.Count > 0)
                {
                    result = Entities.InsertEntity <Galatee.Entity.Model.ELEMENTDEVIS>(Entities.ConvertObject <Galatee.Entity.Model.ELEMENTDEVIS, ObjELEMENTDEVIS>(entityCollection));
                }
                if (ListEltDevisForUpdate.Count > 0)
                {
                    result = Entities.UpdateEntity <Galatee.Entity.Model.ELEMENTDEVIS>(Entities.ConvertObject <Galatee.Entity.Model.ELEMENTDEVIS, ObjELEMENTDEVIS>(entityCollection));
                }

                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }