track activities
This commit is contained in:
parent
65eebf6409
commit
6b6d505a3a
2 changed files with 15 additions and 19 deletions
|
|
@ -9,6 +9,7 @@ using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace Yavsc.Controllers
|
namespace Yavsc.Controllers
|
||||||
{
|
{
|
||||||
|
using System.Security.Claims;
|
||||||
using Models;
|
using Models;
|
||||||
using Models.Workflow;
|
using Models.Workflow;
|
||||||
|
|
||||||
|
|
@ -137,7 +138,7 @@ namespace Yavsc.Controllers
|
||||||
if (ModelState.IsValid)
|
if (ModelState.IsValid)
|
||||||
{
|
{
|
||||||
_context.Activities.Add(activity);
|
_context.Activities.Add(activity);
|
||||||
_context.SaveChanges();
|
_context.SaveChanges(User.GetUserId());
|
||||||
return RedirectToAction("Index");
|
return RedirectToAction("Index");
|
||||||
}
|
}
|
||||||
SetSettingClasseInfo();
|
SetSettingClasseInfo();
|
||||||
|
|
@ -174,7 +175,7 @@ namespace Yavsc.Controllers
|
||||||
if (ModelState.IsValid)
|
if (ModelState.IsValid)
|
||||||
{
|
{
|
||||||
_context.Update(activity);
|
_context.Update(activity);
|
||||||
_context.SaveChanges();
|
_context.SaveChanges(User.GetUserId());
|
||||||
return RedirectToAction("Index");
|
return RedirectToAction("Index");
|
||||||
}
|
}
|
||||||
return View(activity);
|
return View(activity);
|
||||||
|
|
@ -205,7 +206,7 @@ namespace Yavsc.Controllers
|
||||||
{
|
{
|
||||||
Activity activity = _context.Activities.Single(m => m.Code == id);
|
Activity activity = _context.Activities.Single(m => m.Code == id);
|
||||||
_context.Activities.Remove(activity);
|
_context.Activities.Remove(activity);
|
||||||
_context.SaveChanges();
|
_context.SaveChanges(User.GetUserId());
|
||||||
return RedirectToAction("Index");
|
return RedirectToAction("Index");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,8 @@ using System.Threading.Tasks;
|
||||||
using Microsoft.AspNet.Authentication.OAuth;
|
using Microsoft.AspNet.Authentication.OAuth;
|
||||||
using Microsoft.AspNet.Identity.EntityFramework;
|
using Microsoft.AspNet.Identity.EntityFramework;
|
||||||
using Microsoft.Data.Entity;
|
using Microsoft.Data.Entity;
|
||||||
using System.Web;
|
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using Yavsc.Models.Haircut;
|
using Yavsc.Models.Haircut;
|
||||||
using Yavsc.Models.Messaging;
|
|
||||||
|
|
||||||
namespace Yavsc.Models
|
namespace Yavsc.Models
|
||||||
{
|
{
|
||||||
|
|
@ -28,6 +26,7 @@ namespace Yavsc.Models
|
||||||
using Musical.Profiles;
|
using Musical.Profiles;
|
||||||
using Workflow.Profiles;
|
using Workflow.Profiles;
|
||||||
using Drawing;
|
using Drawing;
|
||||||
|
|
||||||
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
|
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
|
||||||
{
|
{
|
||||||
protected override void OnModelCreating(ModelBuilder builder)
|
protected override void OnModelCreating(ModelBuilder builder)
|
||||||
|
|
@ -123,7 +122,7 @@ namespace Yavsc.Models
|
||||||
public Task ClearTokensAsync()
|
public Task ClearTokensAsync()
|
||||||
{
|
{
|
||||||
Tokens.RemoveRange(this.Tokens);
|
Tokens.RemoveRange(this.Tokens);
|
||||||
SaveChanges();
|
SaveChanges(null);
|
||||||
return Task.FromResult(0);
|
return Task.FromResult(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -138,7 +137,7 @@ namespace Yavsc.Models
|
||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
Tokens.Remove(item);
|
Tokens.Remove(item);
|
||||||
SaveChanges();
|
SaveChanges(email);
|
||||||
}
|
}
|
||||||
return Task.FromResult(0);
|
return Task.FromResult(0);
|
||||||
}
|
}
|
||||||
|
|
@ -184,7 +183,7 @@ namespace Yavsc.Models
|
||||||
item.RefreshToken = value.RefreshToken;
|
item.RefreshToken = value.RefreshToken;
|
||||||
Tokens.Update(item);
|
Tokens.Update(item);
|
||||||
}
|
}
|
||||||
SaveChanges();
|
SaveChanges(googleUserId);
|
||||||
return Task.FromResult(0);
|
return Task.FromResult(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -225,13 +224,11 @@ namespace Yavsc.Models
|
||||||
public DbSet<GeneralSettings> GeneralSettings { get; set; }
|
public DbSet<GeneralSettings> GeneralSettings { get; set; }
|
||||||
public DbSet<CoWorking> WorkflowProviders { get; set; }
|
public DbSet<CoWorking> WorkflowProviders { get; set; }
|
||||||
|
|
||||||
private void AddTimestamps()
|
private void AddTimestamps(string currentUsername)
|
||||||
{
|
{
|
||||||
var entities = ChangeTracker.Entries().Where(x => x.Entity.GetType().GetInterface("IBaseTrackedEntity")!=null && (x.State == EntityState.Added || x.State == EntityState.Modified));
|
var entities = ChangeTracker.Entries().Where(x => x.Entity.GetType().GetInterface("IBaseTrackedEntity")!=null && (x.State == EntityState.Added || x.State == EntityState.Modified));
|
||||||
|
|
||||||
var currentUsername = !string.IsNullOrEmpty(System.Web.HttpContext.Current?.User?.Identity?.Name)
|
// Microsoft.AspNet.Identity;
|
||||||
? HttpContext.Current.User.Identity.Name
|
|
||||||
: "Anonymous";
|
|
||||||
|
|
||||||
foreach (var entity in entities)
|
foreach (var entity in entities)
|
||||||
{
|
{
|
||||||
|
|
@ -245,15 +242,13 @@ namespace Yavsc.Models
|
||||||
((IBaseTrackedEntity)entity.Entity).UserModified = currentUsername;
|
((IBaseTrackedEntity)entity.Entity).UserModified = currentUsername;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public int SaveChanges(string userId) {
|
||||||
|
AddTimestamps(userId);
|
||||||
override public int SaveChanges() {
|
|
||||||
AddTimestamps();
|
|
||||||
return base.SaveChanges();
|
return base.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task<int> SaveChangesAsync(CancellationToken ctoken = default(CancellationToken)) {
|
public async Task<int> SaveChangesAsync(string userId, CancellationToken ctoken = default(CancellationToken)) {
|
||||||
AddTimestamps();
|
AddTimestamps(userId);
|
||||||
return await base.SaveChangesAsync();
|
return await base.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue