示例#1
0
        private string GenerateLogMessage(SaleLogs logType)
        {
            var logMessage = (string)typeof(SaleLogsMessages).GetField(logType.ToString()).GetValue(null);

            return(logMessage);
        }
示例#2
0
        public async Task AddTogToSaleShouldAddLogToSaleWithCorrectLogMessageAndCorrectSaleId(SaleLogs logType)
        {
            var sale = new Sale();

            await this.dbContext.Sales.AddAsync(sale);

            await this.dbContext.SaveChangesAsync();

            await this.saleLogsService.AddLogToSale <AddLogToSaleResourceModel>(sale.Id, logType);

            var log = await this.dbContext.SaleLogs.FirstOrDefaultAsync(sl => sl.SaleId == sale.Id);

            var saleLogMessagesMessagesConstantField = typeof(SaleLogsMessages)
                                                       .GetFields(BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy)
                                                       .Where(fi => fi.IsLiteral && !fi.IsInitOnly).First(fi => fi.Name == logType.ToString());

            if (saleLogMessagesMessagesConstantField != null)
            {
                Assert.Equal((string)saleLogMessagesMessagesConstantField.GetRawConstantValue(), log.Content);
            }
            else
            {
                throw new NullReferenceException(
                          "Provided enum value has no correspodning logType message in SaleLogsMessages!");
            }
        }