Transactions shared between modules

Posted by Community Admin on 03-Aug-2018 07:58

Transactions shared between modules

All Replies

Posted by Community Admin on 09-Apr-2012 00:00

I noticed that all managers have a TransactionName proproperty

switch (e.CommandName)
    case "DeleteProject":
 
        var projectName = e.CommandArgument.ToString();
        var dynamicModuleManager = DynamicModuleManager.GetManager();
        dynamicModuleManager.TransactionName = "RemoveProject";
 
        var project = GetMyProjects(dynamicModuleManager).FirstOrDefault(p => p.GetValue<String>("Title") == projectName);
        if (project != null)
        
            var ownerId = project.Owner;
 
            if (ownerId != SecurityManager.GetCurrentUserId())
            
                throw new Exception("Incorrect permissions for project deletion.");
            
             
            var manager = LibrariesManager.GetManager();
            manager.TransactionName = "RemoveProject";
            var album = GetProjectAlbum(manager, project);
            manager.DeleteAlbum(album);
 
            dynamicModuleManager.DeleteItem(project);
            TransactionManager.CommitTransaction("RemoveProject");
 
             
        
        break;

Obviously, this doesn't work but is there a way to make it work among a couple of managers?

This thread is closed