|
@@ -140,15 +140,19 @@ namespace PRSServer
|
|
|
return _dataModel.HasTable<TType>(alias);
|
|
|
}
|
|
|
|
|
|
- public void LoadModel(IEnumerable<string> requiredTables, Dictionary<string, IQueryDef>? requiredQueries = null)
|
|
|
+ public void LoadModel(IEnumerable<string>? requiredTables, Dictionary<string, IQueryDef>? requiredQueries = null)
|
|
|
{
|
|
|
_dataModel.LoadModel(requiredTables, requiredQueries);
|
|
|
}
|
|
|
|
|
|
- public void LoadModel(IEnumerable<string> requiredTables, params IDataModelQueryDef[] requiredQueries)
|
|
|
+ public void LoadModel(IEnumerable<string>? requiredTables, params IDataModelQueryDef[] requiredQueries)
|
|
|
{
|
|
|
_dataModel.LoadModel(requiredTables, requiredQueries);
|
|
|
}
|
|
|
+ public void LoadModel()
|
|
|
+ {
|
|
|
+ _dataModel.LoadModel();
|
|
|
+ }
|
|
|
|
|
|
public TType[] ExtractValues<TSource, TType>(Expression<Func<TSource, TType>> column, bool distinct = true, string? alias = null)
|
|
|
{
|
|
@@ -175,7 +179,7 @@ namespace PRSServer
|
|
|
|
|
|
public class RazorReferenceResolver : IReferenceResolver
|
|
|
{
|
|
|
- public IEnumerable<CompilerReference> GetReferences(TypeContext context, IEnumerable<CompilerReference> includeAssemblies = null)
|
|
|
+ public IEnumerable<CompilerReference> GetReferences(TypeContext context, IEnumerable<CompilerReference>? includeAssemblies = null)
|
|
|
{
|
|
|
foreach(var reference in new UseCurrentAssembliesReferenceResolver().GetReferences(context, includeAssemblies))
|
|
|
{
|
|
@@ -870,9 +874,9 @@ Model.LoadModel(
|
|
|
|
|
|
#region Edit
|
|
|
|
|
|
- public static Dictionary<string, object> SerializeEntityForEditing(Type entityType, Entity entity)
|
|
|
+ public static Dictionary<string, object?> SerializeEntityForEditing(Type entityType, Entity entity)
|
|
|
{
|
|
|
- var data = new Dictionary<string, object>();
|
|
|
+ var data = new Dictionary<string, object?>();
|
|
|
foreach (var property in DatabaseSchema.Properties(entityType))
|
|
|
{
|
|
|
var editor = EditorUtils.GetPropertyEditor(entityType, property);
|
|
@@ -930,7 +934,7 @@ Model.LoadModel(
|
|
|
return request.Respond().Status(ResponseStatus.NotFound);
|
|
|
if (request.Content == null)
|
|
|
return request.Respond().Status(ResponseStatus.BadRequest);
|
|
|
- if (request.ContentType.KnownType != ContentType.ApplicationJson) return request.Respond().Status(ResponseStatus.UnsupportedMediaType);
|
|
|
+ if (request.ContentType?.KnownType != ContentType.ApplicationJson) return request.Respond().Status(ResponseStatus.UnsupportedMediaType);
|
|
|
|
|
|
var user = GetClientUser(request);
|
|
|
if (user == null)
|
|
@@ -956,8 +960,8 @@ Model.LoadModel(
|
|
|
}
|
|
|
|
|
|
var dictionary = Serialization.Deserialize<Dictionary<string, object>>(request.Content);
|
|
|
- var entity = typeof(WebHandler).GetMethod("DeserializeEditedEntity", BindingFlags.Static | BindingFlags.Public)
|
|
|
- .MakeGenericMethod(entityType).Invoke(this, new object[] { dictionary }) as Entity;
|
|
|
+ var entity = (typeof(WebHandler).GetMethod(nameof(WebHandler.DeserializeEditedEntity), BindingFlags.Static | BindingFlags.Public)!
|
|
|
+ .MakeGenericMethod(entityType).Invoke(this, new object?[] { dictionary }) as Entity)!;
|
|
|
|
|
|
var client = ClientFactory.CreateClient(entityType);
|
|
|
client.Save(entity, string.Format("Edited by {0} from the web", user.UserID));
|