public override void TaskComplete(Tasks.Base sender, ICommandReply reply) { Type t = sender.GetType(); if (t == typeof(Tasks.DownloadGlobalPermissions)) { Tasks.DownloadGlobalPermissions task = (Tasks.DownloadGlobalPermissions)sender; _gur = task.GlobalUsageRights; RunTaskProcess(new Tasks.CheckGlobalPermissions(_db, _gur, _requestingPartyType, _session, Security.Authorization.GlobalPermissionType.CreateResource, _sendTimeout, _receiveTimeout, _sendBufferSize, _receiveBufferSize)); } else if (t == typeof(Tasks.CheckGlobalPermissions)) { Tasks.CheckGlobalPermissions task = (Tasks.CheckGlobalPermissions)sender; if (!task.IsAuthorized) { TriggerOnAuthorizationDenied(task); return; } RunTaskProcess(new Tasks.DownloadGroup(_db, Group, _sendTimeout, _receiveTimeout, _sendBufferSize, _receiveBufferSize)); } else if (t == typeof(Tasks.DownloadGroup)) { Tasks.DownloadGroup task = (Tasks.DownloadGroup)sender; Group = task.Group; TriggerOnComplete(reply, Group); } else { TriggerOnError(sender, reply.ToString(), null); } }
public DownloadGroup(IDatabase db, Security.Group group, int sendTimeout, int receiveTimeout, int sendBufferSize, int receiveBufferSize) : base(sendTimeout, receiveTimeout, sendBufferSize, receiveBufferSize) { _db = db; _group = group; }
public override void CreateGroup(EngineRequest request, Security.Group group) { CheckInitialization(); Logger.Storage.Debug("Creating group: " + group.GroupName + "..."); EngineMethods.CreateGroup act = new EngineMethods.CreateGroup(request, group); act.Execute(); }
public override void ModifyGroup(EngineRequest request, Security.Group group) { CheckInitialization(); Logger.Storage.Debug("Modifying group '" + group.Id + "'..."); EngineMethods.ModifyGroup act = new EngineMethods.ModifyGroup(request, group); act.Execute(); }
public ModifyGroup(IDatabase db, Security.Group group, Security.RequestingPartyType requestingPartyType, Security.Session session, int sendTimeout, int receiveTimeout, int sendBufferSize, int receiveBufferSize) : base(db, sendTimeout, receiveTimeout, sendBufferSize, receiveBufferSize) { _group = group; _requestingPartyType = requestingPartyType; _session = session; }
public CreateGroup(IDatabase db, Security.Group group, Security.RequestingPartyType requestingPartyType, Security.Session session, int sendTimeout, int receiveTimeout, int sendBufferSize, int receiveBufferSize) : base(db, sendTimeout, receiveTimeout, sendBufferSize, receiveBufferSize) { _group = group; _requestingPartyType = requestingPartyType; _session = session; }
public override void Process() { Remoting.SaveSingle rem; if (string.IsNullOrEmpty(_group.Rev)) { TriggerOnActionChanged(EngineActionType.CreatingGroup, true); } else { TriggerOnActionChanged(EngineActionType.ModifyingGroup, true); } try { Transitions.Group txGroup = new Transitions.Group(); rem = new Remoting.SaveSingle(_db, txGroup.Transition(_group), _sendTimeout, _receiveTimeout, _sendBufferSize, _receiveBufferSize); } catch (Exception e) { Logger.Storage.Error("An exception occurred while instantiating the Transactions.Tasks.Remoting.SaveSingle object.", e); throw; } rem.OnComplete += delegate(Remoting.Base sender, ICommandReply reply) { if (!((Commands.PutDocumentReply)reply).Ok) { Group = null; } else { Group = new Security.Group(_group.Id, ((Commands.PutDocumentReply)reply).Rev, _group.Users, _group.Groups); } TriggerOnComplete(reply); }; rem.OnError += delegate(Remoting.Base sender, string message, Exception exception) { TriggerOnError(message, exception); }; rem.OnProgress += delegate(Remoting.Base sender, OpenDMS.Networking.Protocols.Tcp.DirectionType direction, int packetSize, decimal sendPercentComplete, decimal receivePercentComplete) { TriggerOnProgress(direction, packetSize, sendPercentComplete, receivePercentComplete); }; rem.OnTimeout += delegate(Remoting.Base sender) { TriggerOnTimeout(); }; rem.Process(); }
public override void Process() { Remoting.SaveSingle rem; if (string.IsNullOrEmpty(_group.Rev)) TriggerOnActionChanged(EngineActionType.CreatingGroup, true); else TriggerOnActionChanged(EngineActionType.ModifyingGroup, true); try { Transitions.Group txGroup = new Transitions.Group(); rem = new Remoting.SaveSingle(_db, txGroup.Transition(_group), _sendTimeout, _receiveTimeout, _sendBufferSize, _receiveBufferSize); } catch (Exception e) { Logger.Storage.Error("An exception occurred while instantiating the Transactions.Tasks.Remoting.SaveSingle object.", e); throw; } rem.OnComplete += delegate(Remoting.Base sender, ICommandReply reply) { if (!((Commands.PutDocumentReply)reply).Ok) Group = null; else { Group = new Security.Group(_group.Id, ((Commands.PutDocumentReply)reply).Rev, _group.Users, _group.Groups); } TriggerOnComplete(reply); }; rem.OnError += delegate(Remoting.Base sender, string message, Exception exception) { TriggerOnError(message, exception); }; rem.OnProgress += delegate(Remoting.Base sender, OpenDMS.Networking.Protocols.Tcp.DirectionType direction, int packetSize, decimal sendPercentComplete, decimal receivePercentComplete) { TriggerOnProgress(direction, packetSize, sendPercentComplete, receivePercentComplete); }; rem.OnTimeout += delegate(Remoting.Base sender) { TriggerOnTimeout(); }; rem.Process(); }
public Model.Document Transition(Security.Group group) { Model.Document doc = new Model.Document(); JArray groupsJray = null; JArray usersJray = null; try { doc.Id = group.Id; if (group.Rev != null) { doc.Rev = group.Rev; } doc["Type"] = "group"; if (group.Groups != null) { groupsJray = new JArray(); for (int i = 0; i < group.Groups.Count; i++) { groupsJray.Add(group.Groups[i]); } } if (group.Users != null) { usersJray = new JArray(); for (int i = 0; i < group.Users.Count; i++) { usersJray.Add(group.Users[i]); } } doc["Groups"] = groupsJray; doc["Users"] = usersJray; } catch (Exception e) { Logger.Storage.Error("An exception occurred while attempting to parse the group object.", e); throw; } return(doc); }
public override void Process() { Remoting.Get rem; TriggerOnActionChanged(EngineActionType.GettingGroup, true); try { rem = new Remoting.Get(_db, _group.Id, _sendTimeout, _receiveTimeout, _sendBufferSize, _receiveBufferSize); } catch (Exception e) { Logger.Storage.Error("An exception occurred while instantiating the Transactions.Tasks.Remoting.Get object.", e); throw; } rem.OnComplete += delegate(Remoting.Base sender, ICommandReply reply) { Transitions.Group txGroup = new Transitions.Group(); Group = txGroup.Transition(((Remoting.Get)sender).Document); TriggerOnComplete(reply); }; rem.OnError += delegate(Remoting.Base sender, string message, Exception exception) { TriggerOnError(message, exception); }; rem.OnProgress += delegate(Remoting.Base sender, OpenDMS.Networking.Protocols.Tcp.DirectionType direction, int packetSize, decimal sendPercentComplete, decimal receivePercentComplete) { TriggerOnProgress(direction, packetSize, sendPercentComplete, receivePercentComplete); }; rem.OnTimeout += delegate(Remoting.Base sender) { TriggerOnTimeout(); }; rem.Process(); }
public virtual void CreateGroup(EngineRequest request, Security.Group group) { throw new NotImplementedException(); }
public GetGroup(EngineRequest request, Security.Group group) : base(request) { _group = group; }
public static Uri Build(IDatabase db, Security.Group group) { return(new Uri(db.Uri.ToString() + group.Id)); }