Example #1
0
        protected override void GenericConvert(ListItem srcObject, DCTFile targetObject)
        {
            //DCTConverterHelper.Convert<ListItem, DCTStorageObject>(srcObject, targetObject);

            DCTUser user = null;

            //DCTConverterHelper.Convert(srcObject.File.Author, user);

            //作者
            if (srcObject.FieldValues["Author"] != null)
            {
                user = new DCTUser();
                DCTConverterHelper.Convert((FieldUserValue)srcObject.FieldValues["Author"], user);
            }

            DCTUser checkOutUser = null;

            //if (srcObject.File.CheckOutType == CheckOutType.Online)
            //{
            checkOutUser = new DCTUser();
            //签出者
            //DCTConverterHelper.Convert(srcObject.File.CheckedOutByUser, checkOutUser);
            if (srcObject.FieldValues["CheckoutUser"] != null)
            {
                checkOutUser = new DCTUser();
                DCTConverterHelper.Convert((FieldUserValue)srcObject.FieldValues["CheckoutUser"], checkOutUser);
            }
            //}

            DCTUser modifyUser = null;

            //DCTConverterHelper.Convert(srcObject.File.ModifiedBy, modifyUser);
            //修改者
            if (srcObject.FieldValues["Editor"] != null)
            {
                modifyUser = new DCTUser();
                DCTConverterHelper.Convert((FieldUserValue)srcObject.FieldValues["Editor"], modifyUser);
            }

            targetObject.ID           = srcObject.Id;
            targetObject.AbsoluteUri  = UriHelper.CombinePath(DocLibContext.BaseUri.ToString(), srcObject.FieldValues["FileRef"].ToString());
            targetObject.Author       = user;
            targetObject.CheckedOutBy = checkOutUser;
            targetObject.CheckOutType = GetFileCheckOutType(srcObject);             //(DCTCheckOutType)srcObject.File.CheckOutType;
            targetObject.Created      = (DateTime)srcObject.FieldValues["Created"]; //srcObject.File.TimeCreated;
            targetObject.ID           = srcObject.Id;
            double version = double.Parse(srcObject.FieldValues["_UIVersionString"].ToString());

            targetObject.MajorVersion = (int)version;
            targetObject.MinorVersion = (int)version % 1;
            targetObject.Modified     = (DateTime)srcObject.FieldValues["Modified"];
            targetObject.ModifiedBy   = modifyUser;
            targetObject.Name         = srcObject.FieldValues["FileLeafRef"].ToString();
            targetObject.Uri          = srcObject.FieldValues["FileRef"].ToString();
        }
Example #2
0
        private DCTPrincipal GetPrinciple(PrincipalType principalType)
        {
            DCTPrincipal result = null;

            if (principalType == PrincipalType.SharePointGroup)
            {
                result = new DCTGroup();
            }
            else
            {
                result = new DCTUser();
            }

            return(result);
        }
Example #3
0
        public BaseCollection <string> DCMGetUserRoles(int storageObjID, string userAccount)
        {
            (storageObjID > 0).FalseThrow <ArgumentException>("ID值{0}无效,请传入大于0的值.", storageObjID);
            BaseCollection <string>            results         = new BaseCollection <string>();
            BaseCollection <DCTRoleAssignment> roleAssignments = DCMGetRoleAssignments(storageObjID);

            foreach (DCTRoleAssignment assignment in roleAssignments)
            {
                if (assignment.Member is DCTUser)
                {
                    DCTUser user = assignment.Member as DCTUser;
                    if (!IsSameUser(user.LoginName, userAccount))
                    {
                        continue;
                    }
                    foreach (DCTRoleDefinition definition in assignment.RoleDefinitions)
                    {
                        results.Add(definition.Name);
                    }
                }
            }
            return(results);
        }