private void ChargeDonneDemande(int pk_id)
        {
            AcceuilServiceClient service = new AcceuilServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Accueil"));

            service.RetourneListeDemandeScelleCompleted += (s, args) =>
            {
                try
                {
                    if (args != null && args.Cancelled)
                    {
                        return;
                    }
                    lademande = args.Result;

                    if (lademande != null)
                    {
                        CsActivite activite = lstAllActivite.Where(c => c.Activite_ID == lademande.FirstOrDefault().FK_IDACTIVITE).FirstOrDefault();
                        Galatee.Silverlight.ServiceAccueil.CsUtilisateur user   = lstAllUser.Where(c => c.PK_ID == lademande.FirstOrDefault().FK_IDAGENT).FirstOrDefault();
                        Galatee.Silverlight.ServiceAccueil.CsCentre      centre = SessionObject.LstCentre.Where(c => c.PK_ID == lademande.FirstOrDefault().FK_IDCENTRE).FirstOrDefault();


                        txtcentre.Text = lademande.First().LIBELLECENTREDESTINATAIRE;
                        txtcentre.Tag  = lademande.First().FK_IDCENTRE;

                        txtAgent.Text = lademande.First().LIBELLESITEAGENT;
                        txtAgent.Tag  = lademande.First().FK_IDAGENT;

                        txtService.Text = lademande.First().LIBELLEACTIVITE;
                        txtService.Tag  = lademande.First().FK_IDACTIVITE;

                        string NombreScelle = lademande.FirstOrDefault().NOMBRE_DEM != null?lademande.FirstOrDefault().NOMBRE_DEM.ToString() : string.Empty;

                        string Couleur = lademande.FirstOrDefault().LIBELLECOULEUR != null?lademande.FirstOrDefault().LIBELLECOULEUR : string.Empty;

                        txtnombreDem.Text        = NombreScelle;
                        txtCouleur.Text          = Couleur;
                        Nbr_ScelleDemandeRestant = int.Parse(NombreScelle);

                        int IdCentreRecuperationDeLot = lademande.FirstOrDefault().FK_IDCENTREFOURNISSEUR;
                        ChargeLot(IdCentreRecuperationDeLot, lademande.First());
                    }
                }
                catch (Exception ex)
                {
                    Message.ShowError(ex, "Erreur");
                }
            };
            service.RetourneListeDemandeScelleAsync(pk_id);
        }
 private void Btn_reset_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         this.Dtg_agent.ItemsSource = null;
         //this.Cbo_Fonction.SelectedItem = null;
         this.Txt_matricule.Text    = string.Empty;
         this.Txt_name.Text         = string.Empty;
         this.Txt_codeFonction.Text = string.Empty;
         AgentSelectionne           = null;
     }
     catch (Exception ex)
     {
         Message.ShowError(ex.Message, Languages.txtDevis);
     }
 }
        private void OKButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (Dtg_agent.SelectedItem != null)
                {
                    this.BtnOK.IsEnabled = false;
                    //var agent = Dtg_agent.SelectedItem as CsRHabilitationGrouveValidation;
                    List <CsAffectationDemandeUser> lstAffectation = new List <CsAffectationDemandeUser>();
                    var agent = Dtg_agent.SelectedItem as Galatee.Silverlight.ServiceAccueil.CsUtilisateur;
                    //Affectation de la demande


                    if (IsOT && lAffectationDem != null)
                    {
                        CsAffectationDemandeUser lAffectation = new CsAffectationDemandeUser();
                        lAffectation.CODEDEMANDE           = CodeDemande;
                        lAffectation.FK_IDETAPE            = _idEtapeSuivante;
                        lAffectation.MATRICULEUSER         = agent.MATRICULE;
                        lAffectation.FK_IDUSERAFFECTER     = agent.PK_ID;
                        lAffectation.OPERATIONID           = _OperationID;
                        lAffectation.CENTREID              = _centreID;
                        lAffectation.WORKFLOWID            = _workflowId;
                        lAffectation.FK_IDETAPEFROM        = _idEtape;
                        lAffectation.MATRICULEUSERCREATION = UserConnecte.matricule;
                        lAffectation.PK_ID        = Guid.NewGuid();
                        lAffectation.FK_IDDEMANDE = IdDemande;

                        AgentSelectionne           = new ServiceAccueil.CsUtilisateur();
                        AgentSelectionne.MATRICULE = agent.MATRICULE;
                        AgentSelectionne.PK_ID     = agent.PK_ID;
                        AgentSelectionne.LIBELLE   = agent.LIBELLE;
                        lAffectationDem            = lAffectation;
                        this.DialogResult          = false;
                    }
                    else
                    {
                        foreach (int item in LesCodeDemande)
                        {
                            CsAffectationDemandeUser lAffectation = new CsAffectationDemandeUser();
                            lAffectation.CODEDEMANDE           = CodeDemande;
                            lAffectation.FK_IDETAPE            = _idEtapeSuivante;
                            lAffectation.MATRICULEUSER         = agent.MATRICULE;
                            lAffectation.FK_IDUSERAFFECTER     = agent.PK_ID;
                            lAffectation.OPERATIONID           = _OperationID;
                            lAffectation.CENTREID              = _centreID;
                            lAffectation.WORKFLOWID            = _workflowId;
                            lAffectation.FK_IDETAPEFROM        = _idEtape;
                            lAffectation.MATRICULEUSERCREATION = UserConnecte.matricule;
                            lAffectation.PK_ID        = Guid.NewGuid();
                            lAffectation.FK_IDDEMANDE = item;
                            lstAffectation.Add(lAffectation);
                        }

                        int back = LoadingManager.BeginLoading("Affectation en cours ...");
                        Galatee.Silverlight.ServiceAccueil.AcceuilServiceClient client = new Galatee.Silverlight.ServiceAccueil.AcceuilServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Accueil"));
                        client.AffecterDemandeCompleted += (af_sender, args) =>
                        {
                            LoadingManager.EndLoading(back);
                            if (args.Cancelled || args.Error != null)
                            {
                                string error = args.Error.Message;
                                Message.ShowError(error, Languages.txtDevis);
                                return;
                            }
                            if (args.Result == null)
                            {
                                Message.ShowError("Une erreur est survenue", Languages.txtDevis);
                                return;
                            }
                            if (args.Result != null)
                            {
                                if (string.IsNullOrEmpty(args.Result))
                                {
                                    LoadingManager.EndLoading(back);
                                    Message.ShowInformation("Affectation", "Affectation de demande");
                                    this.DialogResult = false;
                                }
                                else
                                {
                                    LoadingManager.EndLoading(back);
                                    Message.ShowError("Affectation", "Erreur survenue à l'affectation");
                                }
                                this.DialogResult = true;
                            }
                        };
                        client.AffecterDemandeAsync(lstAffectation);
                    }
                }
            }
            catch (Exception ex)
            {
                Message.ShowError(ex.Message, Languages.txtDevis);
            }
        }