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(); }
private DCTPrincipal GetPrinciple(PrincipalType principalType) { DCTPrincipal result = null; if (principalType == PrincipalType.SharePointGroup) { result = new DCTGroup(); } else { result = new DCTUser(); } return(result); }
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); }