private void ExecuteConges() { if (ListeDemande_Absence.Any(d => d.IsSelected && d.Etat == "ACC")) { DemandeAbsenceNP demandeAbsenceNP = new DemandeAbsenceNP(); demandeAbsenceNP = ListeDemande_Absence.Where(d => d.IsSelected).SingleOrDefault(); ParamGlobaux.StMatricule = demandeAbsenceNP.Matricule; Form Window = new Form(); WPFCongés WPFMAJ = new WPFCongés(Window); WindowInteropHelper helper = new WindowInteropHelper(WPFMAJ); helper.Owner = Window.Handle; WPFMAJ.ParamGlobaux = this.ParamGlobaux; WPFMAJ.ShowDialog(); AfficheTuile(); } else { MessageBoxResult _dialogResult = _dialogService.ShowMessageBox(this, "Uniquement pour les demandes acceptées", "Erreur", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }
private bool RecoupePeriode() { if (ListeDemande_Absence.Any(d => d.IsSelected && d.Etat == "REF")) { using (ProgetEntities pg = new ProgetEntities(Model.GenerateEFConnectionString(ParamGlobaux.ConnectionString))) { bool existe2; foreach (DemandeAbsenceNP demandeAbsence in ListeDemande_Absence.Where(d => d.IsSelected)) { existe2 = pg.Demande_Absence.Any(a => a.Matricule == demandeAbsence.Matricule && a.Etat != "REF" && ((demandeAbsence.Date_debut >= a.Date_debut && demandeAbsence.Date_debut <= a.Date_fin) || (demandeAbsence.Date_fin <= a.Date_fin && demandeAbsence.Date_fin >= a.Date_debut) || (demandeAbsence.Date_debut <a.Date_debut && demandeAbsence.Date_fin> a.Date_fin))); Debug.WriteLine("existe2 : " + existe2); if (existe2 == false) { return(false); } else { break; } } return(true); } } else { return(false); } }
private void ExecuteShowCommentaire() { // on initialise une liste, afin de compter le nombre d'agents selectionnés _Demande_Absence_Commentaire = new List <DemandeAbsenceNP>(); if (ListeDemande_Absence != null) { foreach (var item in ListeDemande_Absence) { if (item.IsSelected == true) { _Demande_Absence_Commentaire.Add(item); } } //si il n'y a qu'une demande selectionnée, on affiche le textbox commentaire if (_Demande_Absence_Commentaire.Count == 1) { Commentaire = true; foreach (var item in _Demande_Absence_Commentaire) { SelectedDemande_Absence = item.Commentaire_agent; Commentaire_gestionnaire = item.Commentaire_gestionnaire; } } else { Commentaire = false; } //si il n'y a qu'une demande selectionnée et que son etat est ACC, on affiche le bouton Congés if (_Demande_Absence_Commentaire.Count == 1 && ListeDemande_Absence.Any(d => d.IsSelected && d.Etat == "ACC")) { Commentaire2 = true; } else { Commentaire2 = false; } } }
private async Task ExecuteRefuser() { if (ListeDemande_Absence.Any(d => d.IsSelected)) { int NbLines = 0; string StSQL = @"Update Demande_Absence Set [Etat]= 'REF', [Commentaire gestionnaire]=@Commentaire_gestionnaire Where Matricule=@Matricule AND [Date debut]=@Date_debut AND [Date fin]=@Date_fin"; if (Commentaire_gestionnaire == null) { Commentaire_gestionnaire = ""; } Debug.WriteLine(StSQL); string StSQLHisto = @"INSERT INTO JournalTransaction (DateEvt, Matricule, NumLigne, Ecran, description, Audit) VALUES (@Date, @Matricule, @Lignes, @Ecran, @Description, 1)"; using (SqlConnection _oConnection = new SqlConnection(ParamGlobaux.ConnectionString)) { _oConnection.Open(); using (SqlTransaction _transaction = _oConnection.BeginTransaction()) { foreach (var item in ListeDemande_Absence) { if (item.IsSelected == true) { try { SqlCommand command = new SqlCommand(StSQL, _oConnection, _transaction); command.Parameters.AddWithValue("@Matricule", item.Matricule); command.Parameters.AddWithValue("@Date_debut", item.Date_debut); command.Parameters.AddWithValue("@Date_fin", item.Date_fin); command.Parameters.AddWithValue("@Commentaire_gestionnaire", Commentaire_gestionnaire); Debug.WriteLine(item.Matricule); Debug.WriteLine(item.Date_debut); Debug.WriteLine(item.Date_fin); NbLines = await command.ExecuteNonQueryAsync(); SqlCommand HistoCommand = new SqlCommand(StSQLHisto, _oConnection, _transaction); HistoCommand.Parameters.AddWithValue("@Date", DateTime.Now); HistoCommand.Parameters.AddWithValue("@Matricule", ParamGlobaux.Matricule); HistoCommand.Parameters.AddWithValue("@Lignes", NbLines); HistoCommand.Parameters.AddWithValue("@Ecran", "ExecuteRefuser()"); HistoCommand.Parameters.AddWithValue("@Description", "Modification de l'etat en Refuser"); await HistoCommand.ExecuteNonQueryAsync(); } catch (Exception e) { Debug.WriteLine("ExecuteRefuser() : " + e.Message); break; } } } try { _transaction.Commit(); MessageBoxResult _dialogResult1 = _dialogService.ShowMessageBox(this, "Demande(s) refusée(s)", "refuser", MessageBoxButton.OK); } catch (Exception ex) { // This catch block will handle any errors that may have occurred // on the server that would cause the rollback to fail, such as // a closed connection. Debug.WriteLine("Rollback Exception Type: {0} Message {1}", ex.GetType(), ex.Message); _transaction.Rollback(); } Commentaire_gestionnaire = null; } } Actualisation(); } else { MessageBoxResult _dialogResult3 = _dialogService.ShowMessageBox(this, "Veuillez selectionner une demande", "Erreur", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }
private void ExecuteSupprimer() { if (ListeDemande_Absence.Any(d => d.IsSelected)) { if (ListeDemande_Absence.Any(d => d.IsSelected && d.Etat == "REF")) { if (ListeDemande_Absence.Where(d => d.IsSelected).Count() < 2) { //IsValid = true; try { using (ProgetEntities pg = new ProgetEntities(Model.GenerateEFConnectionString(ParamGlobaux.ConnectionString))) { foreach (DemandeAbsenceNP demandeAbsence in ListeDemande_Absence.Where(d => d.IsSelected)) { // recherche dans la BDD s'il existe déja une Demande identique Demande_Absence existe = pg.Demande_Absence.Where(a => a.Matricule == demandeAbsence.Matricule && a.Date_debut == demandeAbsence.Date_debut && a.Date_fin == demandeAbsence.Date_fin).SingleOrDefault(); //si la demande existe bien en base if (existe != null) { pg.Demande_Absence.Remove(existe); // on sauvegarde les changements dans la BDD pg.SaveChanges(); MessageBoxResult _dialogResult2 = _dialogService.ShowMessageBox(this, "Demande supprimée", "Validation", MessageBoxButton.OK); //on actualise la liste des demandes Actualisation(); } else { MessageBoxResult _dialogResult2 = _dialogService.ShowMessageBox(this, "Cette demande est inexistante", "Erreur", MessageBoxButton.OK, MessageBoxImage.Exclamation); } } } } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Debug.WriteLine("DEBUG :Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Debug.WriteLine(" DEBUG:- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } } } else { MessageBoxResult _dialogResult3 = _dialogService.ShowMessageBox(this, "Une seule demande refusée ne peut être supprimée à la fois", "Erreur", MessageBoxButton.OK, MessageBoxImage.Exclamation); } } else { MessageBoxResult _dialogResult3 = _dialogService.ShowMessageBox(this, "Seul les demandes refusées peuvent être supprimées", "Erreur", MessageBoxButton.OK, MessageBoxImage.Exclamation); } } else { MessageBoxResult _dialogResult = _dialogService.ShowMessageBox(this, "veuillez selectionner une demande d'absence", "Erreur", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }