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