ปรับปรุงการเก็บ log
This commit is contained in:
@@ -10,9 +10,16 @@ using TTSW.Common;
|
||||
using TodoAPI2.Models;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using IdentityModel;
|
||||
using Newtonsoft.Json.Serialization;
|
||||
|
||||
namespace TTSW.EF
|
||||
{
|
||||
public class activity_log
|
||||
{
|
||||
public object attributes { get; set; }
|
||||
public object old { get; set; }
|
||||
}
|
||||
|
||||
public class BaseRepository2<T, Key> : IBaseRepository2<T, Key>
|
||||
where T : class, IBaseEntity2<Key>
|
||||
{
|
||||
@@ -213,7 +220,27 @@ namespace TTSW.EF
|
||||
|
||||
var result = Entities.Add(entity);
|
||||
|
||||
if(!SaveToDB())
|
||||
var log = new activity_log();
|
||||
log.attributes = entity;
|
||||
log.old = null;
|
||||
|
||||
var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log);
|
||||
|
||||
var activity_log = new activity_log_evaEntity();
|
||||
activity_log.log_name = entity.GetType().Name;
|
||||
activity_log.description = "Add " + entity.GetType().Name;
|
||||
activity_log.subject_id = 0;
|
||||
activity_log.subject_type = entity.GetType().Name;
|
||||
activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]);
|
||||
activity_log.causer_type = @"App\Models\User";
|
||||
activity_log.properties = log_message;
|
||||
activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString();
|
||||
activity_log.mac_address = "N/A";
|
||||
activity_log.created_at = DateTime.Now;
|
||||
activity_log.updated_at = activity_log.created_at;
|
||||
_context.Add(activity_log);
|
||||
|
||||
if (!SaveToDB())
|
||||
throw new NotificationException($"Unable to add new item to database.");
|
||||
|
||||
return Get(result.Entity.id);
|
||||
@@ -242,12 +269,32 @@ namespace TTSW.EF
|
||||
var userLogin = GetLoginProfile();
|
||||
|
||||
var existingItem = Get(id);
|
||||
var old_existingItem = Get(id);
|
||||
|
||||
if(existingItem == null)
|
||||
if (existingItem == null)
|
||||
throw new NotificationException($"No item in database.");
|
||||
|
||||
Mapper.Map(model, existingItem);
|
||||
|
||||
var log = new activity_log();
|
||||
log.attributes = existingItem;
|
||||
log.old = old_existingItem;
|
||||
var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log);
|
||||
|
||||
var activity_log = new activity_log_evaEntity();
|
||||
activity_log.log_name = existingItem.GetType().Name;
|
||||
activity_log.description = "update " + existingItem.GetType().Name;
|
||||
activity_log.subject_id = 0;
|
||||
activity_log.subject_type = existingItem.GetType().Name;
|
||||
activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]);
|
||||
activity_log.causer_type = @"App\Models\User";
|
||||
activity_log.properties = log_message;
|
||||
activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString();
|
||||
activity_log.mac_address = "N/A";
|
||||
activity_log.created_at = DateTime.Now;
|
||||
activity_log.updated_at = activity_log.created_at;
|
||||
_context.Add(activity_log);
|
||||
|
||||
existingItem = SetUpdatorProperties(existingItem);
|
||||
|
||||
if (!SaveToDB())
|
||||
|
||||
Reference in New Issue
Block a user