示例#1
0
 internal static void GererErreur(DataContracts.ResultatOperation resultat,
                                  Log log,
                                  Exception ex,
                                  EventLogEntryType typeLog = EventLogEntryType.Error,
                                  bool ajouterLogFichier    = true,
                                  bool ajouterLogWindows    = false)
 {
     GererErreur(resultat, log, ex.Message, ex.ToString(), typeLog: typeLog, nomModule: ex.Source, ajouterLogFichier: ajouterLogFichier, ajouterLogWindows: ajouterLogWindows);
 }
        internal static void GererErreur(
            DataContracts.ResultatOperation resultat,
            Log log,
            string message,
            string messageDetaille    = "",
            EventLogEntryType typeLog = EventLogEntryType.Error,
            string nomModule          = "",
            int codeErreur            = 0,
            bool ajouterLogFichier    = true,
            bool ajouterLogWindows    = false)
        {
            // Ajout de l'erreur au résultat renvoyé au client
            switch (typeLog)
            {
            case EventLogEntryType.Error:
            case EventLogEntryType.FailureAudit:
                resultat.SuccesExecution = false;
                resultat.ErreursBloquantes.Add(new DataContracts.ResultatOperation.Erreur(DataContracts.ResultatOperation.eTypeErreur.ErreurBloquante, message));
                break;

            case EventLogEntryType.Warning:
                resultat.SuccesExecution = false;
                resultat.ErreursNonBloquantes.Add(new DataContracts.ResultatOperation.Erreur(DataContracts.ResultatOperation.eTypeErreur.ErreurNonBloquante, message));
                break;

            default:
                // On ne renvoie pas l'information au client, c'est normal
                break;
            }

            // Ajout de l'erreur dans le log
            if (messageDetaille == "")
            {
                messageDetaille = message;
            }
            log.AddEventLog(messageDetaille, typeLog, nomModule, codeErreur, ajouterLogFichier, ajouterLogWindows);
        }