public async Task Execute(MobileDeviceRivmAdviceArgs args) { var e = args.ToEntity(); e.PublishingId = _PublishingIdCreator.Create(e); await _DbConfig.Current.AddAsync(e); }
public IActionResult Execute(MobileDeviceRivmAdviceArgs args) { if (!_Validator.Valid(args)) { return(new BadRequestResult()); } _Writer.Execute(args); return(new OkResult()); }
public bool Valid(MobileDeviceRivmAdviceArgs args) { if (args == null) { return(false); } if (args.TemporaryExposureKeyRetentionDays < 1) //TODO range? { return(false); } if (args.ObservedTemporaryExposureKeyRetentionDays < 1) //TODO range? { return(false); } if (args.IsolationPeriodDays < 1) //TODO range? { return(false); } if (args.Release.Year < 2020) //TODO range? { return(false); } var locales = args.Text.Select(x => x.Locale).ToArray(); if (locales.Any(x => !LocalValid(x))) { return(false); } if (locales.Distinct().Count() != locales.Length) { return(false); } return(args.Text.All(Valid)); }