123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using AutoMapper;
- using Edge.Core.Database;
- using Dfs.WayneChina.FairbanksRTData.UniversalApiModels;
- using Microsoft.EntityFrameworkCore;
- using Microsoft.Extensions.DependencyInjection;
- using Microsoft.Extensions.Logging;
- using Microsoft.Extensions.Logging.Abstractions;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Dfs.WayneChina.FairbanksRTData
- {
- public class DbHelper
- {
- public IServiceProvider Services { get; }
- private IMapper objMapper;
- private readonly SqliteDbContext dbContext;
- public ILogger Logger { get; } = NullLogger.Instance;
- public DbHelper(IServiceProvider services)
- {
- Services = services;
- var loggerFactory = services.GetRequiredService<ILoggerFactory>();
- Logger = loggerFactory.CreateLogger("Fairbanks");
- objMapper = Services.GetRequiredService<IMapper>();
- dbContext = services.GetRequiredService<SqliteDbContext>();
- }
- public async Task<List<UploadRecord>> GetLatestUploadHistoryAsync(DateTime startTime)
- {
- var sets = dbContext.GenericDatas.AsEnumerable()
- .Where(e => e.Type == AutoMapperProfile.AppDataType
- && e.Owner == AutoMapperProfile.AppDataOwner
- && objMapper.Map<UploadRecord>(e).TimeStamp >= startTime);
- return await Task.FromResult(objMapper.Map<IEnumerable<UploadRecord>>(sets)
- .OrderByDescending(r => r.TimeStamp)
- .ToList());
- }
- public bool RecordUploadTried(string fileName)
- {
- var sets = dbContext.GenericDatas.AsEnumerable()
- .Where(e => e.Type == AutoMapperProfile.AppDataType
- && e.Owner == AutoMapperProfile.AppDataOwner
- && objMapper.Map<UploadRecord>(e).FileName == fileName);
- if (objMapper.Map<IEnumerable<UploadRecord>>(sets)?.Count() >= 1)
- return true;
- return false;
- }
- }
- }
|