public void FlowExceptionTest() { var manager = new MiniSessionManager { Session = null }; Assert.ThrowsException <ApplicationException>(() => { manager.CommitChanges(); }); manager.CommitChanges(new Exception()); var session = manager.OpenSession(); var sessionNew = manager.OpenSession(); Assert.AreSame(session, sessionNew); manager.BeginTransaction(); manager.CommitChanges(new Exception()); }
public void FlowTest() { var manager = new MiniSessionManager(); var session = manager.OpenSession(); var sessionNew = manager.OpenSession(); Assert.AreSame(session, sessionNew); manager.LastAction = RepositoryAction.INSERT; Assert.AreEqual(RepositoryAction.INSERT, manager.LastAction); manager.BeginTransaction(); manager.WillFlush = true; manager.CommitChanges(); }
public static void LogAction(string controller, string action, bool success, string errorMessage) { using (var manager = new MiniSessionManager()) { manager.OpenSessionWithTransaction(); var repo = ServiceLocator.Current .GetInstance <Data.DAL.IRepositoryBuilder>() .CreateCreateRepository(manager); // If Logging is disabled, return var logSetting = repo.Get <ApplicationSetting>(s => s.Key == "OperationAccessLog").FirstOrDefault(); if ( logSetting == null || string.IsNullOrWhiteSpace(logSetting.Value) || string.Compare(logSetting.Value, "false", true) == 0 || string.Compare(logSetting.Value, "0", true) == 0 ) { return; } ApplicationUser user = null; List <string> activePermissions = new List <string>(); try { user = GetCurrentApplicationUser(); activePermissions = GetCurrentApplicationUserPermissions(); } catch (Exception e) { var log = LogManager.GetLogger(typeof(IdentityHelper)); log.Error($"Failed to GetCurrentApplicationUser while Logging action: {controller}.{action}", e); } var entry = new ApplicationUserAction { UserName = user == null ? "Anonymous" : user.UserName, Action = action, Controller = controller, Date = DateTime.UtcNow, ActivePermissions = user == null ? "" : string.Join(";", activePermissions), ActiveRoles = user == null ? "" : string.Join(";", user.Roles.Select(x => x.Name)), Success = success, ErrorMessage = errorMessage }; repo.Save(entry); manager.CommitChanges(); } }
public static void InvalidateUserSecurityData(ApplicationUser user) { if (user == null) { return; } using (var manager = new MiniSessionManager()) { manager.OpenSessionWithTransaction(); var repo = ServiceLocator.Current .GetInstance <Data.DAL.IRepositoryBuilder>() .CreateCreateRepository(manager); user.SecurityStamp = Guid.NewGuid().ToString(); repo.Save(user); manager.CommitChanges(); } }