Browse Source

fixed egmysqlsave and savetoolsinterface

master
jkpete 4 months ago
parent
commit
d1b7cee741
  1. 4
      addons/EGFramework/Module/SaveTools/EGByteSave.cs
  2. 9
      addons/EGFramework/Module/SaveTools/EGCsvSave.cs
  3. 6
      addons/EGFramework/Module/SaveTools/EGJsonSave.cs
  4. 9
      addons/EGFramework/Module/SaveTools/EGLiteDBSave.cs
  5. 48
      addons/EGFramework/Module/SaveTools/EGMysqlSave.cs
  6. 3
      addons/EGFramework/Module/SaveTools/SaveToolsInterface.cs

4
addons/EGFramework/Module/SaveTools/EGByteSave.cs

@ -110,6 +110,10 @@ namespace EGFramework @@ -110,6 +110,10 @@ namespace EGFramework
throw new NotImplementedException();
}
public bool ContainsKey(string objectKey)
{
throw new NotImplementedException();
}
}
public interface IEGByteInit{

9
addons/EGFramework/Module/SaveTools/EGCsvSave.cs

@ -310,6 +310,15 @@ namespace EGFramework @@ -310,6 +310,15 @@ namespace EGFramework
return CsvDataHeader.Keys;
}
public bool ContainsKey(string dataKey)
{
return CsvDataHeader.ContainsKey(dataKey);
}
public bool ContainsData(string dataKey, object id)
{
return CsvDataBlock.Count() > 0 && id.GetType() == typeof(int) && (int)id < CsvDataBlock.Count();
}
}
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]

6
addons/EGFramework/Module/SaveTools/EGJsonSave.cs

@ -126,5 +126,11 @@ namespace EGFramework @@ -126,5 +126,11 @@ namespace EGFramework
}
return keys;
}
public bool ContainsKey(string objectKey)
{
return SaveObject.ContainsKey(objectKey);
}
}
}

9
addons/EGFramework/Module/SaveTools/EGLiteDBSave.cs

@ -90,5 +90,14 @@ namespace EGFramework @@ -90,5 +90,14 @@ namespace EGFramework
return Database.GetCollectionNames();
}
public bool ContainsKey(string dataKey)
{
return GetKeys().Contains(dataKey);
}
public bool ContainsData(string dataKey, object id)
{
return Database.GetCollection(dataKey).Exists((BsonValue)id);
}
}
}

48
addons/EGFramework/Module/SaveTools/EGMysqlSave.cs

@ -34,8 +34,6 @@ namespace EGFramework{ @@ -34,8 +34,6 @@ namespace EGFramework{
}
}
public IEnumerable<TData> GetAll<TData>(string dataKey) where TData : new()
{
IEnumerable<TData> result = Connection.Query<TData>("select * from "+dataKey);
@ -56,11 +54,25 @@ namespace EGFramework{ @@ -56,11 +54,25 @@ namespace EGFramework{
public void SetData<TData>(string dataKey, TData data, object id)
{
throw new NotImplementedException();
if(data == null)
{
throw new ArgumentNullException(nameof(data));
}else{
if(this.ContainsData(dataKey,id)){
UpdateData(dataKey,data,id);
}else{
AddData(dataKey,data);
}
//EG.Print("data:" + data);
}
}
public void AddData<TData>(string dataKey, TData data)
{
if(data == null)
{
throw new ArgumentNullException(nameof(data));
}
// throw new System.NotImplementedException();
Type DataType = typeof(TData);
var properties = DataType.GetProperties();
@ -95,13 +107,16 @@ namespace EGFramework{ @@ -95,13 +107,16 @@ namespace EGFramework{
public void RemoveData<TData>(string dataKey, object id)
{
Type DataType = typeof(TData);
int count = Connection.Execute(@"delete from "+dataKey+" where ID = @ID",new {ID = id});
//EG.Print("count:" + count);
}
public void UpdateData<TData>(string dataKey, TData data, object id)
{
if(data == null)
{
throw new ArgumentNullException(nameof(data));
}
Type DataType = typeof(TData);
EG.Print("----"+DataType.Name);
var properties = DataType.GetProperties();
@ -121,8 +136,31 @@ namespace EGFramework{ @@ -121,8 +136,31 @@ namespace EGFramework{
public IEnumerable<string> GetKeys()
{
throw new NotImplementedException();
IEnumerable<string> result = Connection.Query<string>("show tables");
return result;
}
public bool ContainsKey(string dataKey)
{
return GetKeys().Contains(dataKey);
}
public bool ContainsData(string dataKey, object id)
{
try
{
var result = Connection.QuerySingle("select * from "+dataKey+" where ID = @ID",new {ID = id});
if(result == null){
return false;
}else{
return true;
}
}
catch (System.Exception)
{
return false;
}
}
}
}

3
addons/EGFramework/Module/SaveTools/SaveToolsInterface.cs

@ -19,12 +19,15 @@ namespace EGFramework @@ -19,12 +19,15 @@ namespace EGFramework
public interface IEGSaveObjectReadOnly{
TObject GetObject<TObject>(string objectKey) where TObject : new();
IEnumerable<string> GetKeys();
bool ContainsKey(string objectKey);
}
public interface IEGSaveDataReadOnly{
TData GetData<TData>(string dataKey,object id) where TData : new();
IEnumerable<TData> GetAll<TData>(string dataKey) where TData : new();
IEnumerable<TData> FindData<TData>(string dataKey,Expression<Func<TData, bool>> expression) where TData : new();
IEnumerable<string> GetKeys();
bool ContainsKey(string dataKey);
bool ContainsData(string dataKey,object id);
}
public interface IEGSaveObject : IEGSaveObjectReadOnly{

Loading…
Cancel
Save