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); } }