Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
 public DownloadGroup(IDatabase db, Security.Group group,
                      int sendTimeout, int receiveTimeout, int sendBufferSize, int receiveBufferSize)
     : base(sendTimeout, receiveTimeout, sendBufferSize, receiveBufferSize)
 {
     _db    = db;
     _group = group;
 }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
 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();
 }
Ejemplo n.º 5
0
 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();
 }
Ejemplo n.º 6
0
 public DownloadGroup(IDatabase db, Security.Group group,
     int sendTimeout, int receiveTimeout, int sendBufferSize, int receiveBufferSize)
     : base(sendTimeout, receiveTimeout, sendBufferSize, receiveBufferSize)
 {
     _db = db;
     _group = group;
 }
Ejemplo n.º 7
0
 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;
 }
Ejemplo n.º 8
0
 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;
 }
Ejemplo n.º 9
0
        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();
        }
Ejemplo n.º 10
0
        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();
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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();
        }
Ejemplo n.º 13
0
        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();
        }
Ejemplo n.º 14
0
 public virtual void CreateGroup(EngineRequest request, Security.Group group)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 15
0
 public GetGroup(EngineRequest request, Security.Group group)
     : base(request)
 {
     _group = group;
 }
Ejemplo n.º 16
0
 public GetGroup(EngineRequest request, Security.Group group)
     : base(request)
 {
     _group = group;
 }
Ejemplo n.º 17
0
 public static Uri Build(IDatabase db, Security.Group group)
 {
     return(new Uri(db.Uri.ToString() + group.Id));
 }