From ae4edf1e79c809459451cee2534a4bec1eba24e0 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sat, 25 Feb 2017 17:48:11 +0100 Subject: [PATCH] track activities --- Yavsc/Controllers/ActivityController.cs | 7 ++++--- Yavsc/Models/ApplicationDbContext.cs | 27 ++++++++++--------------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/Yavsc/Controllers/ActivityController.cs b/Yavsc/Controllers/ActivityController.cs index 3aa109e7..9f9ce013 100644 --- a/Yavsc/Controllers/ActivityController.cs +++ b/Yavsc/Controllers/ActivityController.cs @@ -9,6 +9,7 @@ using Microsoft.Extensions.Logging; namespace Yavsc.Controllers { + using System.Security.Claims; using Models; using Models.Workflow; @@ -137,7 +138,7 @@ namespace Yavsc.Controllers if (ModelState.IsValid) { _context.Activities.Add(activity); - _context.SaveChanges(); + _context.SaveChanges(User.GetUserId()); return RedirectToAction("Index"); } SetSettingClasseInfo(); @@ -174,7 +175,7 @@ namespace Yavsc.Controllers if (ModelState.IsValid) { _context.Update(activity); - _context.SaveChanges(); + _context.SaveChanges(User.GetUserId()); return RedirectToAction("Index"); } return View(activity); @@ -205,7 +206,7 @@ namespace Yavsc.Controllers { Activity activity = _context.Activities.Single(m => m.Code == id); _context.Activities.Remove(activity); - _context.SaveChanges(); + _context.SaveChanges(User.GetUserId()); return RedirectToAction("Index"); } } diff --git a/Yavsc/Models/ApplicationDbContext.cs b/Yavsc/Models/ApplicationDbContext.cs index e641de65..59fc70d2 100644 --- a/Yavsc/Models/ApplicationDbContext.cs +++ b/Yavsc/Models/ApplicationDbContext.cs @@ -5,10 +5,8 @@ using System.Threading.Tasks; using Microsoft.AspNet.Authentication.OAuth; using Microsoft.AspNet.Identity.EntityFramework; using Microsoft.Data.Entity; -using System.Web; using System.Threading; using Yavsc.Models.Haircut; -using Yavsc.Models.Messaging; namespace Yavsc.Models { @@ -28,6 +26,7 @@ namespace Yavsc.Models using Musical.Profiles; using Workflow.Profiles; using Drawing; + public class ApplicationDbContext : IdentityDbContext { protected override void OnModelCreating(ModelBuilder builder) @@ -123,7 +122,7 @@ namespace Yavsc.Models public Task ClearTokensAsync() { Tokens.RemoveRange(this.Tokens); - SaveChanges(); + SaveChanges(null); return Task.FromResult(0); } @@ -138,7 +137,7 @@ namespace Yavsc.Models if (item != null) { Tokens.Remove(item); - SaveChanges(); + SaveChanges(email); } return Task.FromResult(0); } @@ -184,7 +183,7 @@ namespace Yavsc.Models item.RefreshToken = value.RefreshToken; Tokens.Update(item); } - SaveChanges(); + SaveChanges(googleUserId); return Task.FromResult(0); } @@ -225,13 +224,11 @@ namespace Yavsc.Models public DbSet GeneralSettings { get; set; } public DbSet 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 currentUsername = !string.IsNullOrEmpty(System.Web.HttpContext.Current?.User?.Identity?.Name) - ? HttpContext.Current.User.Identity.Name - : "Anonymous"; + // Microsoft.AspNet.Identity; foreach (var entity in entities) { @@ -245,15 +242,13 @@ namespace Yavsc.Models ((IBaseTrackedEntity)entity.Entity).UserModified = currentUsername; } } - - - override public int SaveChanges() { - AddTimestamps(); + public int SaveChanges(string userId) { + AddTimestamps(userId); return base.SaveChanges(); } - - public override async Task SaveChangesAsync(CancellationToken ctoken = default(CancellationToken)) { - AddTimestamps(); + + public async Task SaveChangesAsync(string userId, CancellationToken ctoken = default(CancellationToken)) { + AddTimestamps(userId); return await base.SaveChangesAsync(); }