96 lines
2.9 KiB
C#
96 lines
2.9 KiB
C#
|
using SharedLibraryCore.Database;
|
|||
|
using SharedLibraryCore.Database.Models;
|
|||
|
using SharedLibraryCore.Events;
|
|||
|
using SharedLibraryCore.Interfaces;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
namespace SharedLibraryCore.Services
|
|||
|
{
|
|||
|
public class ChangeHistoryService : IEntityService<EFChangeHistory>
|
|||
|
{
|
|||
|
public Task<EFChangeHistory> Create(EFChangeHistory entity)
|
|||
|
{
|
|||
|
throw new NotImplementedException();
|
|||
|
}
|
|||
|
|
|||
|
public async Task<EFChangeHistory> Add(GameEvent e)
|
|||
|
{
|
|||
|
EFChangeHistory change = null;
|
|||
|
|
|||
|
switch (e.Type)
|
|||
|
{
|
|||
|
case GameEvent.EventType.Ban:
|
|||
|
change = new EFChangeHistory()
|
|||
|
{
|
|||
|
OriginEntityId = e.Origin.ClientId,
|
|||
|
TargetEntityId = e.Target.ClientId,
|
|||
|
TypeOfChange = EFChangeHistory.ChangeType.Ban,
|
|||
|
Comment = e.Data
|
|||
|
};
|
|||
|
break;
|
|||
|
case GameEvent.EventType.Command:
|
|||
|
break;
|
|||
|
case GameEvent.EventType.ChangePermission:
|
|||
|
change = new EFChangeHistory()
|
|||
|
{
|
|||
|
OriginEntityId = e.Origin.ClientId,
|
|||
|
TargetEntityId = e.Target.ClientId,
|
|||
|
TypeOfChange = EFChangeHistory.ChangeType.Permission,
|
|||
|
PreviousValue = ((Change)e.Extra).PreviousValue,
|
|||
|
CurrentValue = ((Change)e.Extra).NewValue
|
|||
|
};
|
|||
|
break;
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
if (change != null)
|
|||
|
{
|
|||
|
using (var ctx = new DatabaseContext(true))
|
|||
|
{
|
|||
|
ctx.EFChangeHistory.Add(change);
|
|||
|
try
|
|||
|
{
|
|||
|
await ctx.SaveChangesAsync();
|
|||
|
}
|
|||
|
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
e.Owner.Logger.WriteDebug(ex.GetExceptionInfo());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return change;
|
|||
|
}
|
|||
|
|
|||
|
public Task<EFChangeHistory> Delete(EFChangeHistory entity)
|
|||
|
{
|
|||
|
throw new NotImplementedException();
|
|||
|
}
|
|||
|
|
|||
|
public Task<IList<EFChangeHistory>> Find(Func<EFChangeHistory, bool> expression)
|
|||
|
{
|
|||
|
throw new NotImplementedException();
|
|||
|
}
|
|||
|
|
|||
|
public Task<EFChangeHistory> Get(int entityID)
|
|||
|
{
|
|||
|
throw new NotImplementedException();
|
|||
|
}
|
|||
|
|
|||
|
public Task<EFChangeHistory> GetUnique(long entityProperty)
|
|||
|
{
|
|||
|
throw new NotImplementedException();
|
|||
|
}
|
|||
|
|
|||
|
public Task<EFChangeHistory> Update(EFChangeHistory entity)
|
|||
|
{
|
|||
|
throw new NotImplementedException();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|