Browse Source

add helper methods.

master
yangxiaodong 7 years ago
parent
commit
6541e1aa38
3 changed files with 32 additions and 0 deletions
  1. +5
    -0
      src/DotNetCore.CAP/IStorage.cs
  2. +10
    -0
      src/DotNetCore.CAP/IStorageConnection.cs
  3. +17
    -0
      src/DotNetCore.CAP/Infrastructure/Helper.cs

+ 5
- 0
src/DotNetCore.CAP/IStorage.cs View File

@@ -1,5 +1,6 @@
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using DotNetCore.CAP.Dashboard;


namespace DotNetCore.CAP namespace DotNetCore.CAP
{ {
@@ -12,5 +13,9 @@ namespace DotNetCore.CAP
/// Initializes the storage. For example, making sure a database is created and migrations are applied. /// Initializes the storage. For example, making sure a database is created and migrations are applied.
/// </summary> /// </summary>
Task InitializeAsync(CancellationToken cancellationToken); Task InitializeAsync(CancellationToken cancellationToken);

IMonitoringApi GetMonitoringApi();

IStorageConnection GetConnection();
} }
} }

+ 10
- 0
src/DotNetCore.CAP/IStorageConnection.cs View File

@@ -63,5 +63,15 @@ namespace DotNetCore.CAP
/// Creates and returns an <see cref="IStorageTransaction"/>. /// Creates and returns an <see cref="IStorageTransaction"/>.
/// </summary> /// </summary>
IStorageTransaction CreateTransaction(); IStorageTransaction CreateTransaction();


//-------------------------------------------
long GetSetCount(string key);

List<string> GetRangeFromSet(string key, int startingFrom, int endingAt);

MessageData GetJobData( string jobId);

StateData GetStateData(string jobId);
} }
} }

+ 17
- 0
src/DotNetCore.CAP/Infrastructure/Helper.cs View File

@@ -1,5 +1,6 @@
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using System.Globalization;
using System.Reflection; using System.Reflection;
using Newtonsoft.Json; using Newtonsoft.Json;


@@ -49,6 +50,22 @@ namespace DotNetCore.CAP.Infrastructure
return Epoch.AddSeconds(value); return Epoch.AddSeconds(value);
} }


public static string SerializeDateTime(DateTime value)
{
return value.ToString("o", CultureInfo.InvariantCulture);
}

public static DateTime DeserializeDateTime(string value)
{
long timestamp;
if (long.TryParse(value, out timestamp))
{
return FromTimestamp(timestamp);
}

return DateTime.Parse(value, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind);
}

public static bool IsController(TypeInfo typeInfo) public static bool IsController(TypeInfo typeInfo)
{ {
if (!typeInfo.IsClass) if (!typeInfo.IsClass)


Loading…
Cancel
Save