add PropertyObject & PropertyValue, move to Pilz, make everything .net 8 only
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
using Pilz.Net.Api.Messages;
|
||||
using Pilz.Net.Data;
|
||||
using Pilz.Data;
|
||||
using Pilz.Net.Api.Messages;
|
||||
|
||||
namespace Pilz.Net.Api.Client;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Pilz.Net.Api.Messages;
|
||||
using Pilz.Net.Data;
|
||||
using Pilz.Data;
|
||||
using Pilz.Net.Api.Messages;
|
||||
|
||||
namespace Pilz.Net.Api.Client;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Pilz.Net.Api.Messages;
|
||||
using Pilz.Net.Data;
|
||||
using Pilz.Data;
|
||||
using Pilz.Net.Api.Messages;
|
||||
|
||||
namespace Pilz.Net.Api.Client;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Pilz.Net.Data;
|
||||
using Pilz.Data;
|
||||
|
||||
namespace Pilz.Net.Api.Client;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Pilz.Net.Data;
|
||||
using Pilz.Data;
|
||||
|
||||
namespace Pilz.Net.Api.Client;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Pilz.Net.Data;
|
||||
using Pilz.Data;
|
||||
|
||||
namespace Pilz.Net.Api.Client;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Pilz.Extensions.Reflection;
|
||||
using Pilz.Net.Data;
|
||||
using Pilz.Data;
|
||||
using Pilz.Extensions.Reflection;
|
||||
using Pilz.Net.Extensions;
|
||||
using System.Diagnostics;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Pilz.Extensions.Reflection;
|
||||
using Pilz.Net.Data;
|
||||
using Pilz.Data;
|
||||
using Pilz.Extensions.Reflection;
|
||||
using Pilz.Net.Extensions;
|
||||
using System.Diagnostics;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Pilz.Extensions.Reflection;
|
||||
using Pilz.Net.Data;
|
||||
using Pilz.Data;
|
||||
using Pilz.Extensions.Reflection;
|
||||
using Pilz.Net.Extensions;
|
||||
using System.Diagnostics;
|
||||
|
||||
|
||||
@@ -1,149 +0,0 @@
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
namespace Pilz.Net.Data;
|
||||
|
||||
public abstract class DataManager : IDataManager
|
||||
{
|
||||
protected abstract void UpdateEntity<T>(T obj) where T : class, IDataObject;
|
||||
protected abstract IQueryable<T> GetEntitySet<T>() where T : class, IDataObject;
|
||||
protected abstract T? FindEntity<T>(int id) where T : class, IDataObject;
|
||||
protected abstract void RemoveEntity<T>(T obj) where T : class, IDataObject;
|
||||
protected abstract void SaveChanges();
|
||||
|
||||
public virtual IQueryable<T> Get<T>() where T : class, IDataObject
|
||||
{
|
||||
return GetEntitySet<T>();
|
||||
}
|
||||
|
||||
public virtual T FindOrNew<T>(int? id) where T : class, IDataObject
|
||||
{
|
||||
if (Find<T>(id) is not T obj)
|
||||
obj = Activator.CreateInstance<T>();
|
||||
return obj;
|
||||
}
|
||||
|
||||
public virtual T FindOrNew<T>(int id) where T : class, IDataObject
|
||||
{
|
||||
if (Find<T>(id) is not T obj)
|
||||
obj = Activator.CreateInstance<T>();
|
||||
return obj;
|
||||
}
|
||||
|
||||
public virtual T? FindOrNull<T>(int? id) where T : class, IDataObject
|
||||
{
|
||||
if (id == null || id == 0)
|
||||
return default;
|
||||
return Find<T>(id);
|
||||
}
|
||||
|
||||
public virtual T? FindOrNull<T>(int id) where T : class, IDataObject
|
||||
{
|
||||
if (id == 0)
|
||||
return default;
|
||||
return Find<T>(id);
|
||||
}
|
||||
|
||||
public virtual T? Find<T>(int? id) where T : class, IDataObject
|
||||
{
|
||||
if (id == null)
|
||||
return default;
|
||||
return Find<T>(id.Value);
|
||||
}
|
||||
|
||||
public virtual T? Find<T>(int id) where T : class, IDataObject
|
||||
{
|
||||
return FindEntity<T>(id);
|
||||
}
|
||||
|
||||
public virtual bool FindOrNew<T>(int? id, [NotNullWhen(true)] out T? obj) where T : class, IDataObject
|
||||
{
|
||||
if (id == null || id == 0)
|
||||
{
|
||||
obj = Activator.CreateInstance<T>();
|
||||
return obj != null;
|
||||
}
|
||||
return Find(id.Value, out obj);
|
||||
}
|
||||
|
||||
public virtual bool FindOrNew<T>(int id, [NotNullWhen(true)] out T? obj) where T : class, IDataObject
|
||||
{
|
||||
if (id == 0)
|
||||
{
|
||||
obj = Activator.CreateInstance<T>();
|
||||
return obj != null;
|
||||
}
|
||||
return Find(id, out obj);
|
||||
}
|
||||
|
||||
public virtual bool FindOrNull<T>(int? id, out T? obj) where T : class, IDataObject
|
||||
{
|
||||
if (id == null || id == 0)
|
||||
{
|
||||
obj = default;
|
||||
return true;
|
||||
}
|
||||
return Find(id.Value, out obj);
|
||||
}
|
||||
|
||||
public virtual bool FindOrNull<T>(int id, out T? obj) where T : class, IDataObject
|
||||
{
|
||||
if (id == 0)
|
||||
{
|
||||
obj = default;
|
||||
return true;
|
||||
}
|
||||
return Find(id, out obj);
|
||||
}
|
||||
|
||||
public virtual bool Find<T>(int id, [NotNullWhen(true)] out T? obj) where T : class, IDataObject
|
||||
{
|
||||
if (FindEntity<T>(id) is not T t)
|
||||
{
|
||||
obj = default;
|
||||
return false;
|
||||
}
|
||||
obj = t;
|
||||
return true;
|
||||
}
|
||||
|
||||
public virtual void Delete<T>(int id) where T : class, IDataObject
|
||||
{
|
||||
Delete<T>(id, false);
|
||||
}
|
||||
|
||||
public virtual void Delete<T>(int id, bool save) where T : class, IDataObject
|
||||
{
|
||||
if (Find(id, out T? obj))
|
||||
Delete(obj, save);
|
||||
}
|
||||
|
||||
public virtual void Delete<T>(T? obj) where T : class, IDataObject
|
||||
{
|
||||
Delete(obj, false);
|
||||
}
|
||||
|
||||
public virtual void Delete<T>(T? obj, bool save) where T : class, IDataObject
|
||||
{
|
||||
if (obj != null)
|
||||
{
|
||||
RemoveEntity(obj);
|
||||
if (save) Save();
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void Save<T>(T obj) where T : class, IDataObject
|
||||
{
|
||||
Save(obj, false);
|
||||
}
|
||||
|
||||
public virtual void Save<T>(T obj, bool save) where T : class, IDataObject
|
||||
{
|
||||
UpdateEntity(obj);
|
||||
if (save) Save();
|
||||
}
|
||||
|
||||
public virtual void Save()
|
||||
{
|
||||
SaveChanges();
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
namespace Pilz.Net.Data;
|
||||
|
||||
public class DataManagerEventArgs(IDataManager manager) : EventArgs
|
||||
{
|
||||
public IDataManager Manager { get; } = manager;
|
||||
}
|
||||
|
||||
public delegate void DataManagerEventHandler(object sender, DataManagerEventArgs e);
|
||||
@@ -1,26 +0,0 @@
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
namespace Pilz.Net.Data;
|
||||
|
||||
public interface IDataManager
|
||||
{
|
||||
void Delete<T>(int id) where T : class, IDataObject;
|
||||
void Delete<T>(int id, bool save) where T : class, IDataObject;
|
||||
void Delete<T>(T? obj) where T : class, IDataObject;
|
||||
void Delete<T>(T? obj, bool save) where T : class, IDataObject;
|
||||
T? Find<T>(int id) where T : class, IDataObject;
|
||||
bool Find<T>(int id, [NotNullWhen(true)] out T? obj) where T : class, IDataObject;
|
||||
T? Find<T>(int? id) where T : class, IDataObject;
|
||||
T FindOrNew<T>(int id) where T : class, IDataObject;
|
||||
bool FindOrNew<T>(int id, [NotNullWhen(true)] out T? obj) where T : class, IDataObject;
|
||||
T FindOrNew<T>(int? id) where T : class, IDataObject;
|
||||
bool FindOrNew<T>(int? id, [NotNullWhen(true)] out T? obj) where T : class, IDataObject;
|
||||
T? FindOrNull<T>(int id) where T : class, IDataObject;
|
||||
bool FindOrNull<T>(int id, out T? obj) where T : class, IDataObject;
|
||||
T? FindOrNull<T>(int? id) where T : class, IDataObject;
|
||||
bool FindOrNull<T>(int? id, out T? obj) where T : class, IDataObject;
|
||||
IQueryable<T> Get<T>() where T : class, IDataObject;
|
||||
void Save();
|
||||
void Save<T>(T obj) where T : class, IDataObject;
|
||||
void Save<T>(T obj, bool save) where T : class, IDataObject;
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
namespace Pilz.Net.Data;
|
||||
|
||||
public interface IDataObject
|
||||
{
|
||||
public int Id { get; }
|
||||
}
|
||||
@@ -18,6 +18,11 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Pilz.Extensions\Pilz.Extensions.csproj" />
|
||||
<ProjectReference Include="..\Pilz\Pilz.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Data\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Reference in New Issue
Block a user