public static async Task <DateTime?> GetScheduledTimeAsync(string hostName, SystemStateKind kind) { var value = await SecureStorage.GetAsync($"{hostName}:{kind}"); if (value == null) { return(null); } return(DateTime.Parse(value, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal)); }
public static bool Clear(string hostName, SystemStateKind kind) { return(SecureStorage.Remove($"{hostName}:{kind}")); }
public static async Task SetScheduledTimeAsync(string hostName, SystemStateKind kind, DateTime date) { await SecureStorage.SetAsync($"{hostName}:{kind}", date.ToString(CultureInfo.InvariantCulture)); }
public static async Task <string> EnqueueAsync <TWorker>(Context context, string address, SystemStateKind stateKind, DateTime date) where TWorker : DelayedSystemStateWorker { await SystemStateManager.SetScheduledTimeAsync(address, stateKind, date); var workRequest = WorkerRequestFactory.CreateOneTime <TWorker>( workRequestMutator: builder => { builder.AddTag(address); }, inputData: data => { data.PutString(DelayedSystemStateWorker.AgentAddressTag, address); }, constraintsMutator: constraints => { constraints.SetRequiredNetworkType(NetworkType.Connected); }); var uniqueWorkName = stateKind + "+" + address; WorkManager.GetInstance(context).EnqueueUniqueWork(uniqueWorkName, ExistingWorkPolicy.Replace, workRequest); return(uniqueWorkName); }