Exemple #1
0
        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());
        }
Exemple #2
0
        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();
     }
 }