예제 #1
0
 public void InvokeTableItemMove(Authentication authentication, ITableItem tableItem, string newCategoryPath)
 {
     if (tableItem.AccessInfo.Path == tableItem.Path)
     {
         var accessInfoPath1 = tableItem.GetAccessInfoPath();
         var accessInfoPath2 = tableItem.GetAccessInfoPath(newCategoryPath);
         if (File.Exists(accessInfoPath1) == true)
         {
             this.repository.Move(accessInfoPath1, accessInfoPath2);
         }
     }
 }
예제 #2
0
 public void InvokeTableItemDelete(Authentication authentication, ITableItem tableItem)
 {
     if (tableItem.AccessInfo.Path == tableItem.Path)
     {
         var accessInfoPath = tableItem.GetAccessInfoPath();
         if (File.Exists(accessInfoPath) == true)
         {
             this.repository.Delete(accessInfoPath);
         }
     }
 }
예제 #3
0
 public void InvokeTableItemRename(Authentication authentication, ITableItem tableItem, string newName)
 {
     if (tableItem.AccessInfo.Path == tableItem.Path)
     {
         var accessInfoPath1 = tableItem.GetAccessInfoPath();
         var directoryName   = Path.GetDirectoryName(accessInfoPath1);
         var extension       = Path.GetExtension(accessInfoPath1);
         var accessInfoPath2 = Path.Combine(directoryName, newName + extension);
         if (File.Exists(accessInfoPath1) == true && accessInfoPath1 != accessInfoPath2)
         {
             this.repository.Move(accessInfoPath1, accessInfoPath2);
         }
     }
 }
예제 #4
0
        public void InvokeTableItemSetPublic(Authentication authentication, ITableItem tableItem, AccessInfo accessInfo)
        {
            this.CremaHost.DebugMethod(authentication, this, nameof(InvokeTableItemSetPrivate), tableItem);
            var accessInfoPath = tableItem.GetAccessInfoPath();

            try
            {
                accessInfo.SetPublic();
                this.repository.Delete(accessInfoPath);
            }
            catch (Exception e)
            {
                this.CremaHost.Error(e);
                this.repository.Revert();
                throw e;
            }
        }
예제 #5
0
        public void InvokeTableItemRemoveAccessMember(Authentication authentication, ITableItem tableItem, AccessInfo accessInfo, string memberID)
        {
            this.CremaHost.DebugMethod(authentication, this, nameof(InvokeTableItemRemoveAccessMember), tableItem, memberID);
            var accessInfoPath = tableItem.GetAccessInfoPath();

            try
            {
                accessInfo.Remove(authentication.SignatureDate, memberID);
                tableItem.WriteAccessInfo(accessInfoPath, accessInfo);
            }
            catch (Exception e)
            {
                this.CremaHost.Error(e);
                this.repository.Revert();
                throw e;
            }
        }
예제 #6
0
        public void InvokeTableItemSetPrivate(Authentication authentication, ITableItem tableItem, AccessInfo accessInfo)
        {
            this.CremaHost.DebugMethod(authentication, this, nameof(InvokeTableItemSetPrivate), tableItem);
            var accessInfoPath = tableItem.GetAccessInfoPath();

            try
            {
                accessInfo.SetPrivate(tableItem.GetType().Name, authentication.SignatureDate);
                tableItem.WriteAccessInfo(accessInfoPath, accessInfo);
                this.repository.Add(accessInfoPath);
            }
            catch (Exception e)
            {
                this.CremaHost.Error(e);
                this.repository.Revert();
                throw e;
            }
        }