Beispiel #1
0
        public static void Execute <TEntity>(BusinessUtilMethod businessUtilMethod, TEntity result, string additionnalInfo)
        {
            switch (businessUtilMethod)
            {
            case BusinessUtilMethod.UniqueGenericListChecker:
                result.UniqueGenericListChecker(additionnalInfo);
                break;

            case BusinessUtilMethod.CheckDuplicatationForUniqueValue:
                result.CheckDuplicatationForUniqueValue(additionnalInfo);
                break;

            case BusinessUtilMethod.CheckRecordIsExist:
                result.CheckRecordIsExist(additionnalInfo);
                break;

            case BusinessUtilMethod.CheckUniqueValue:
                result.CheckUniqueValue(additionnalInfo);
                break;

            case BusinessUtilMethod.CheckNothing:
                break;

            default:
                throw new ArgumentOutOfRangeException(businessUtilMethod.ToString());
            }
        }
        protected async Task <T> CommonOperationAsync <T>(Func <Task <T> > func, BusinessUtilMethod businessUtilMethod, string additionalInfo)
        {
            try
            {
                var result = await func.Invoke();

                BusinessUtil.Execute(businessUtilMethod, result, additionalInfo);

                return(result);
            }
            catch (Exception ex)
            {
                _logger.LogError(0, ex, $"{DefaultResponseMessages.AnErrorHasOccured} - {ex.Message}");
                throw;
            }
        }