public async Task <TModel> AddLogToSale <TModel>(Guid?saleId, SaleLogs logType) { var sale = this.dbContext.Sales.Where(s => s.Id == saleId).FirstOrDefault(); if (sale == null) { throw new NullReferenceException(SaleNotFound); } var logMessage = this.GenerateLogMessage(logType); var saleLog = (await this.dbContext.SaleLogs.AddAsync(new SaleLog { Content = logMessage, SaleId = saleId })).Entity .To <TModel>(); await this.dbContext.SaveChangesAsync(); return(saleLog); }
public SaleCoursesPage ChangelSaleAndGoToSalePage() { SaleLogs.First <DiaryLog>().ClickOnLog(); WaitForElement(By.Id("btnChangeSale"), 10).Click(); return(new SaleCoursesPage(driver)); }
public CancelSalePage ClickOnCancelButtonAndGoToCancelSale() { SaleLogs.First <DiaryLog>().ClickOnLog(); WaitForElement(By.Id("btnCancelSale"), 10).Click(); return(new CancelSalePage(driver)); }
private string GenerateLogMessage(SaleLogs logType) { var logMessage = (string)typeof(SaleLogsMessages).GetField(logType.ToString()).GetValue(null); return(logMessage); }
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!"); } }