Initial Commit ...

This commit is contained in:
2024-01-25 04:41:17 +03:30
commit ff4d0d5dcb
51 changed files with 5949 additions and 0 deletions
+79
View File
@@ -0,0 +1,79 @@
using System;
using System.Collections.Generic;
using System.Linq;
using xCommons.Extensions;
namespace xDataService.Helpers {
public partial class XCursorHelper {
public static string ToCursor<T> (T id) {
//
// Check Numbers ...
if (id.ToString ().IsDigits ()) {
return Convert
.ToBase64String (BitConverter
.GetBytes (Convert.ToInt32 (id))
);
} else
//
// Check Guid ...
if (id.ToString ().IsGuid ()) {
return Convert
.ToBase64String (new Guid (id.ToString ())
.ToByteArray ());
} else
//
// Assume as String ...
{
return Convert
.ToBase64String (id
.ToString ().ToBytes ());
}
}
public static T FromCursor<T> (string cursor) {
//
// Check Numbers ...
var returnType = typeof (T);
if (returnType == typeof (int) ||
returnType == typeof (long) ||
returnType == typeof (decimal)) {
return Convert.ChangeType ((BitConverter
.ToInt32 (Convert
.FromBase64String (cursor),
0
))
.ToDynamicObject (), returnType);
} else
//
// Check Guid ...
if (returnType == typeof (Guid)) {
return Convert.ChangeType ((new Guid (
Convert.FromBase64String (cursor)
))
.ToDynamicObject (), returnType);
} else
//
// Assume as String ...
{
return Convert.ChangeType ((
Convert.FromBase64String (cursor)
)
.ToDynamicObject (), returnType);
}
}
public static (string firstCursor, string lastCursor) GetFirstAndLastCursor<T> (IEnumerable<T> ids) {
//
if (ids?.Any () != true) {
return (null, null);
}
//
var firstCursor = ToCursor (ids.First ());
var lastCursor = ToCursor (ids.Last ());
//
return (firstCursor, lastCursor);
}
}
}
+38
View File
@@ -0,0 +1,38 @@
using GraphQL.Types;
using xDataService.Models;
using xModels.Dtos;
namespace xDataService.Constants {
public static class XGraphQLHelper {
public static QueryArgument<TKey> GetIdArgument<TKey> ()
where TKey : IGraphType {
return new QueryArgument<TKey> {
Name = "id",
Description = "the id of entity, which you want to retrieve ..."
};
}
public static QueryArgument<BooleanGraphType> IgnoreSoftDeletedArgument = new QueryArgument<BooleanGraphType> {
Name = "ignoreSoftDeleteds",
DefaultValue = true,
Description = "determines result should ignore soft deleted items or not ..."
};
public static QueryArgument<BooleanGraphType> ContainsDetailArgument = new QueryArgument<BooleanGraphType> {
Name = "containsDetail",
DefaultValue = false,
Description = "determines result should contains navigation properties or not ..."
};
public static QueryArgument<StringGraphType> SearchQueryArgument = new QueryArgument<StringGraphType> {
Name = "searchQuery",
Description = "the value which had to looking for ..."
};
public static QueryArgument<XGraphQueryType> QueryArgument = new QueryArgument<XGraphQueryType> {
Name = "query",
DefaultValue = new XQuery (),
Description = "determines query structure info for retrieving data ..."
};
}
}