/// <summary> /// Recupere la resource dans la langue de definie dans la session /// </summary> /// <param name="pNom">Resssource rechercher</param> /// <param name="pInfoSession">Info sur la sessions</param> /// <returns>Ressource traduide dans la langue de la session</returns> /// <remarks>LOUIS Yoann 19/02/2016</remarks> public static string GetRessource(string pNom, InfoSessionDTO pInfoSession) { // yl - SI pas de culture eon retourn du français var lCulture = pInfoSession.Culture; // yl - Recuperation de la ressource return(_ResourceManager.GetString(pNom, System.Globalization.CultureInfo.GetCultureInfo(lCulture))); }
/// <summary> /// Convertie une exception en ExceptionDTO et effectue la /// </summary> /// <param name="pEx">Exception</param> /// <param name="pInfoSession">information sur la session en cours</param> /// <returns>ExceptionDTO</returns> /// <remarks>LOUIS Yoann 19/02/2016</remarks> public static ExceptionDTO GetExceptionDTO(Exception pEx, InfoSessionDTO pInfoSession) { // yl - convertie l'exception en DTO var lDTO = DTOLibrary.Helper.ExceptionToExceptionDTOHelper.ConvertToExceptionDTO(pEx); // yl - convertie le message dans la bonne lange et le revoie. return(GetExceptionRecupMessage(lDTO, pInfoSession)); }
/// <summary> /// Ecrire le log /// </summary> /// <param name="pLogLevel">Niveau du log</param> /// <param name="pInfoSession">InfoSession</param> /// <param name="pModule">Nom du module</param> /// <param name="pMessage">Message</param> /// <remarks>LOUIS Yoann 24/09/2015</remarks> private static void WriteLogInternal(LogLevel pLogLevel, InfoSessionDTO pInfoSession, string pModule, string pMessage) { var ltest = GetCallingMethodeName(); // yl - Creation d'un Log LogEventInfo lLogEvent = new LogEventInfo(pLogLevel, "", pMessage); // yl - Affectation des property lLogEvent.Properties["Methode"] = GetCallingMethodeFullName(); lLogEvent.Properties["Module"] = pModule; lLogEvent.Properties["Agent"] = pInfoSession == null ? "null" : pInfoSession.User == null ? "null" : pInfoSession.User.Login; // yl - Ecriture du log mLogger.Log(lLogEvent); }
/// <summary> /// Traduit les message de l'exception et de ses innerexception de manierre recurcive /// </summary> /// <param name="pEx">ExceptionDTO</param> /// <param name="pInfoSession">Information sur la session</param> /// <returns>ExceptionDTO traduit</returns> /// <remarks>LOUIS Yoann 19/02/2016</remarks> private static ExceptionDTO GetExceptionRecupMessage(ExceptionDTO pEx, InfoSessionDTO pInfoSession) { // yl - Gestion de l'onner exception if (pEx.InnerException != null) { pEx.InnerException = GetExceptionRecupMessage(pEx.InnerException, pInfoSession); } // yl - Traduction du message (uniquement si besoin) if (pEx.Message.Contains("[Ressource]")) { pEx.Message = GetMessage(pEx.Message, pInfoSession); } return(pEx); }
/// <summary> /// Supprimer des elment /// </summary> /// <param name="pCritere">Critere des element a suppruimer</param> /// <remarks>LOUIS YOANN 24/06/2015</remarks> public virtual void RemoveItems(InfoSessionDTO pInfoSession, IBaseDTO pCritere) { try { // yl - Log WriteDebugLogger(pInfoSession); DALType lService = new DALType(); // yl - remove lService.RemoveItems(pCritere as CritereDTOType); } catch (Exception lEx) { WriteErrorLogger(pInfoSession, lEx); throw (ExceptionType)Activator.CreateInstance(typeof(ExceptionType), lEx); } }
/// <summary> /// Méthode permettant d'appeler la méthode correspondante /// au critère en paramètre /// </summary> /// <param name="pMethod">Méthode à appeler</param> /// <remarks>Guillaume Bécard - 2015-06-24 - Création</remarks> public virtual void ExecuteVoid(InfoSessionDTO pInfoSession, DTOLibrary.Methodes.MethodDTO pMethod) { try { // yl - Log WriteDebugLogger(pInfoSession); //gb - Récupération du type en cours Type lType = this.GetType(); //gb - Récupération de la méthode à appeler MethodInfo lInfoMethod = lType.GetMethod(pMethod.NomMethode, BindingFlags.NonPublic | BindingFlags.Instance); //gb - Appel de la méthode lInfoMethod.Invoke(this, new object[] { pMethod.Parametrage }); } catch (Exception lEx) { WriteErrorLogger(pInfoSession, lEx); throw (ExceptionType)Activator.CreateInstance(typeof(ExceptionType), lEx); } }
/// <summary> /// Fonction permettant de retourner l'objet /// correspondant au critère de sélection /// </summary> /// <param name="pCritere">Critère de sélection</param> /// <returns>Objet DTO</returns> /// <remarks>Guillaume Bécard - 2015-06-24 - Création</remarks> public virtual IBaseDTO GetItem(InfoSessionDTO pInfoSession, IBaseDTO pCritere) { try { // yl - Log WriteDebugLogger(pInfoSession); // yl - Validation Critere this.ValidatedCritere(pCritere); //gb - Déclaration du service DALType lService = new DALType(); //gb - Appel de la fonction de récupération de l'item return(lService.GetItem(pCritere as CritereDTOType)); } catch (Exception lEx) { WriteErrorLogger(pInfoSession, lEx); throw (ExceptionType)Activator.CreateInstance(typeof(ExceptionType), lEx); } }
/// <summary> /// Update une liste de DTO /// </summary> /// <param name="pEntities">liste de DTO a mettre a jour</param> /// <remarks>LOUIS YOANN 24/06/2015</remarks> public virtual void UpdateItems(InfoSessionDTO pInfoSession, IEnumerable <IBaseDTO> pEntities) { try { // yl - Log WriteDebugLogger(pInfoSession); // yl - Validation Entity pEntities.ToList().ForEach(this.ValidatedDTO); // yl - msie en place du service DALType lService = new DALType(); // yl - Cast var lEntity = pEntities.Cast <DTOType>(); // yl - Update lService.UpdateItems(lEntity); } catch (Exception lEx) { WriteErrorLogger(pInfoSession, lEx); throw (ExceptionType)Activator.CreateInstance(typeof(ExceptionType), lEx); } }
/// <summary> /// Fonction permettant de retourner la liste des items /// en fonction du critère de sélection /// </summary> /// <param name="pCritere">Critère de sélection</param> /// <returns>Liste d'objet DTO</returns> /// <remarks>Guillaume Bécard - 2015-06-24 - Création</remarks> public virtual IEnumerable <IBaseDTO> GetItems(InfoSessionDTO pInfoSession, IBaseDTO pCritere) { try { // yl - Log WriteDebugLogger(pInfoSession); // yl - Validation Critere this.ValidatedCritere(pCritere); //gb - Déclaration du service DALType lService = new DALType(); //gb - Appel de la fonction de récupération des items return(lService.GetItems(pCritere as CritereDTOType).List.Cast <IBaseDTO>()); } catch (Exception lEx) { // yl - ecriture d'un log d'erreur WriteErrorLogger(pInfoSession, lEx); // yl - on leve une exception de type ExceptionType avec en iner exception l'exception catcher throw (ExceptionType)Activator.CreateInstance(typeof(ExceptionType), lEx); } }
/// <summary> /// Update un DTO /// </summary> /// <param name="pEntity">DTO a lmettre a jour</param> /// <remarks>LOUIS YOANN 24/06/2015</remarks> public virtual void UpdateItem(InfoSessionDTO pInfoSession, IBaseDTO pEntity) { try { // yl - Log WriteDebugLogger(pInfoSession); // yl - Validation Entity this.ValidatedDTO(pEntity); // yl - msie en place du service DALType lService = new DALType(); // yl - Cast var lEntity = (DTOType)pEntity; // yl - Update lService.UpdateItem(lEntity); } catch (Exception lEx) { WriteErrorLogger(pInfoSession, lEx); throw (ExceptionType)Activator.CreateInstance(typeof(ExceptionType), lEx); } }
/// <summary> /// Recupere le message traduit si besoins /// </summary> /// <param name="pMessage">message a traduire eventuellemnt</param> /// <param name="pInfoSession">Information sur la session</param> /// <returns>message traduit</returns> /// <remarks>LOUIS Yoann - 18/02/2016</remarks> private static string GetMessage(string pMessage, InfoSessionDTO pInfoSession) { var lResult = ""; // yl - Split du message var lListMessage = pMessage.Split('|'); // yl - pour chaque message lListMessage.ToList().ForEach(p => { // yl - si il y a la balise [Ressource] if (p.Contains("[Ressource]")) { // yl - on traduit et on rajoute au message déjà recuperer lResult = lResult + RessourceHelper.GetRessource(p.Replace("[Ressource]", ""), pInfoSession); } else { // yl - on rajoute au message déjà recuperer lResult = lResult + p; } }); // yl - on retourne le message return(lResult); }
/// <summary> /// Recupere les resources dans la langue de la session /// </summary> /// <param name="pCritere">Critere de recherche</param> /// <param name="pInfoSession">Information sur la session</param> /// <returns>Liste de RessourceDTO</returns> /// <remarks>LOUIS Yoann 19/02/2016</remarks> public static List <RessourceDTO> GetListRessources(CritereRessourceDTO pCritere, InfoSessionDTO pInfoSession) { var lResult = new List <RessourceDTO>(); var lCulture = System.Globalization.CultureInfo.GetCultureInfo(pInfoSession.Culture); pCritere.ListNomRessource.ToList().ForEach(pNom => { // yl - Recuperation de la ressource lResult.Add(new RessourceDTO() { Value = _ResourceManager.GetString(pNom, lCulture), Nom = pNom, Culture = pInfoSession.Culture }); }); return(lResult); }
/// <summary> /// Ecrie un log avec le nom de la methode et le DTO qui va avec /// </summary> /// <param name="pInfoSession">info sur la session</param> /// <param name="pNameMethode">Nom de la methode</param> /// <remarks>LOUIS Yoann 24/09/2015</remarks> private void WriteDebugLogger(InfoSessionDTO pInfoSession) { // yl - Ecrie le log CLogger.WriteDebugLog(pInfoSession, this.GetType().Name + ".<" + typeof(DTOType).Name + ">" + CLogger.GetCallingMethodeName(), "Debug"); }
/// <summary> /// Ecrie un log avec le nom de la methode et le DTO qui va avec /// </summary> /// <param name="pInfoSession">info sur la session</param> /// <param name="pNameMethode">Nom de la methode</param> /// <remarks>LOUIS Yoann 24/09/2015</remarks> private void WriteErrorLogger(InfoSessionDTO pInfoSession, Exception pEx) { // yl - Ecrie le log CLogger.WriteErrorLog(pInfoSession, this.GetType().Name + ".<" + typeof(DTOType).Name + ">" + CLogger.GetCallingMethodeName(), CLogger.GetMessageException(pEx)); }
/// <summary> /// Ecrire un log Fatal /// </summary> /// <param name="pInfoSession">Info de la Session</param> /// <param name="pModule">Module enb cours</param> /// <param name="pMessage">Message</param> /// <remarks>LOUIS Yoann 24/09/2015</remarks> public static void WriteFatalLog(InfoSessionDTO pInfoSession, string pModule, string pMessage) { // yl - Ecriture du log WriteLogInternal(LogLevel.Fatal, pInfoSession, pModule, pMessage); }
/// <summary> /// Sauvegarde de l'infoSession /// </summary> /// <param name="pInfoSession">InfoSession A sauvegarder</param> protected void SaveInfoSession(InfoSessionDTO pInfoSession) { // yl - Sauvegarde de l'infosession Session["InfoSession"] = pInfoSession; }
/// <summary> /// Ecrie un log avec le nom de la methode et le DTO qui va avec /// </summary> /// <param name="pInfoSession">info sur la session</param> /// <param name="pNameMethode">Nom de la methode</param> /// <remarks>LOUIS Yoann 24/09/2015</remarks> private void WriteInfoLogger(InfoSessionDTO pInfoSession, string pMessage) { // yl - Ecrie le log CLogger.WriteInfoLog(pInfoSession, this.GetType().Name + ".<" + typeof(DTOType).Name + ">" + CLogger.GetCallingMethodeName(), pMessage); }