public async Task <bool> Handle(DeleteRegisterEntryCommand request, CancellationToken cancellationToken) { var repo = _factory.GetRegistryEntryRepo(request.IdentityName); var ok = await repo.DeleteRegistryEntry(request.Time); return(ok); }
public async Task <AddRegisterEntryResult> Handle(AddRegisterEntriesCommand request, CancellationToken cancellationToken) { var timeseries = TsParser.ParseTimeseries(request.Model.EntriesString); var repo = _factory.GetRegistryEntryRepo(request.IdentityName); await repo.AddRegistryEntries(timeseries); return(new AddRegisterEntryResult()); }
public async Task <Timeseries> Handle(ListRegisterEntriesCommand request, CancellationToken cancellationToken) { var repo = _factory.GetRegistryEntryRepo(request.IdentityName); var entries = await repo.GetRegistryEntries(); var sortedTvqs = entries.OrderBy(x => x.Time); var tsWithRegisterEntries = new Timeseries(); tsWithRegisterEntries.AddRange(sortedTvqs.ToList()); return(tsWithRegisterEntries); }
public async Task <Timeseries> Handle(GetMonthlyAveragesCommand request, CancellationToken cancellationToken) { var repo = _factory.GetRegistryEntryRepo(request.IdentityName); var sortedTvqs = (await repo.GetRegistryEntries()).OrderBy(x => x.Time); var tsWithRegisterEntries = new Timeseries(); tsWithRegisterEntries.AddRange(sortedTvqs.ToList()); var periodizer = new Periodizer(); var monthlyAverages = periodizer.MonthlyAverage(tsWithRegisterEntries); return(monthlyAverages); }
public async Task <AddRegisterEntryResult> Handle(AddRegisterEntryCommand request, CancellationToken cancellationToken) { var ok = DateTime.TryParse(request.Model.DateString, out var t); if (!ok) { return(new AddRegisterEntryResult(false, "Datum kunde ej tolkas")); } // TODO better error handling ok = int.TryParse(request.Model.RegisterValue, out var v); if (!ok) { return(new AddRegisterEntryResult(false, "Mätarställning kunde ej tolkas")); } // TODO better error handling var now = DateTime.Now; var isToday = t.Year == now.Year && t.Month == now.Month && t.Day == now.Day; var isMidnight = t.Hour == 0 && t.Minute == 0; if (isToday && isMidnight) { t = now; } var tvq = new Tvq(t, v, Quality.Ok); var repo = _factory.GetRegistryEntryRepo(request.IdentityName); await repo.AddRegistryEntries(new List <Tvq> { tvq }); var result = new AddRegisterEntryResult(); return(result); }