public async Task CreatePdfAsync(int jumpStartId) { var jumpStart = await _dbContext.JumpStarts .FirstOrDefaultAsync(item => item.Id == jumpStartId && item.HasPdf == false); if (jumpStart is null) { // We already created pdf for this one return; } var articles = await _dbContext.Articles .Include(item => item.Category) .ThenInclude(item => item.Image) .Where(item => item.Date == jumpStart.DateTime.Date) .OrderBy(item => item.Order).ToListAsync(); var pdfData = await _puppeteerService.BuildPdfAsync(jumpStart.DateTime, articles); await UploadPdfAsync(jumpStart, pdfData); jumpStart.HasPdf = true; _dbContext.Update(jumpStart); await _dbContext.SaveChangesAsync(); _backgroundJobClient.Enqueue <EmailRecipientJob>(job => job.CreateForJumpStart(jumpStart.Id)); }
public async Task SetValueAsync <T>(string companySlug, T value) { var json = JsonConvert.SerializeObject(value); var config = await _dbContext.Settings .Include(item => item.Company) .FirstOrDefaultAsync(item => item.Company.Slug == companySlug.ToLower()); if (config is null) { var company = await _dbContext.Companies .FirstOrDefaultAsync(item => item.Slug == companySlug.ToLower()); _dbContext.Settings.Add(new Setting { CompanyId = company.Id, Value = json }); } else { config.Value = json; _dbContext.Update(config); } await _dbContext.SaveChangesAsync(); }