Example #1
0
        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));
        }
Example #2
0
 public static bool Clear(string hostName, SystemStateKind kind)
 {
     return(SecureStorage.Remove($"{hostName}:{kind}"));
 }
Example #3
0
 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);
        }