/// <summary> /// Сохранить изменения в БД асинхронно, при возникновении исключения, сохранить ошибку. /// и параметры, вызвавшие исключение. /// </summary> /// <typeparam name="TLoggedClass">Логируемый класс</typeparam> /// <param name="context">Расширяемый класс (DBContext)</param> /// <param name="logShortMessage">Сообщение для логгера</param> /// <param name="cancellationToken">Токен отмены</param> /// <returns></returns> internal static async Task <int> SaveChangesAndLogErrorAsync <TLoggedClass>(this IDBSource context, LogShortMessage logShortMessage, CancellationToken cancellationToken) where TLoggedClass : class { ILogger <TLoggedClass> logger = MKKContext.LoggerFactory.CreateLogger <TLoggedClass>(); LoggedMessage <TLoggedClass> loggedMessage = new LoggedMessage <TLoggedClass>(logger, logShortMessage.Message, logShortMessage.Params); return(await context.SaveChangesAndLogErrorAsync(loggedMessage, cancellationToken)); }
/// <summary> /// Сохранить изменения в БД асинхронно, при возникновении исключения, сохранить ошибку. /// и параметры, вызвавшие исключение. /// </summary> /// <typeparam name="TLoggedClass">Логируемый класс</typeparam> /// <param name="context">Расширяемый класс (DBContext)</param> /// <param name="cancellationToken">Токен отмены</param> /// <returns></returns> internal static async Task <int> SaveChangesAndLogErrorAsync <TLoggedClass>(this IDBSource context, CancellationToken cancellationToken) where TLoggedClass : class { ILogger <TLoggedClass> logger = MKKContext.LoggerFactory.CreateLogger <TLoggedClass>(); LoggedMessage <TLoggedClass> loggedMessage = new LoggedMessage <TLoggedClass>(logger, "Ошибка внесения изменений в БД."); return(await context.SaveChangesAndLogErrorAsync <TLoggedClass>(loggedMessage, cancellationToken)); }