При работе с SharePoint важно знать, возвращен или извлечен файл другими пользователями. В этой статье мы рассмотрим различные методы программной проверки состояния файла в SharePoint. Мы предоставим примеры кода с использованием CSOM (объектная модель на стороне клиента) для демонстрации каждого метода. Давайте погрузимся!
Метод 1: использование свойства File.CheckOutType
using Microsoft.SharePoint.Client;
public static bool IsFileCheckedIn(ClientContext context, string fileUrl)
{
var file = context.Web.GetFileByServerRelativeUrl(fileUrl);
context.Load(file, f => f.CheckOutType);
context.ExecuteQuery();
return file.CheckOutType == CheckOutType.None;
}
Объяснение: Этот метод извлекает свойство CheckOutType
файла. Если значение равно CheckOutType.None
, это означает, что файл возвращен.
Метод 2: использование свойства File.Level
using Microsoft.SharePoint.Client;
public static bool IsFileCheckedIn(ClientContext context, string fileUrl)
{
var file = context.Web.GetFileByServerRelativeUrl(fileUrl);
context.Load(file, f => f.Level);
context.ExecuteQuery();
return file.Level == FileLevel.Published;
}
Объяснение: Этот метод проверяет свойство Level
файла. Если значение равно FileLevel.Published
, это означает, что файл возвращен.
Метод 3: использование свойства File.UIVersionLabel
using Microsoft.SharePoint.Client;
public static bool IsFileCheckedIn(ClientContext context, string fileUrl)
{
var file = context.Web.GetFileByServerRelativeUrl(fileUrl);
context.Load(file, f => f.UIVersionLabel);
context.ExecuteQuery();
return !file.UIVersionLabel.EndsWith("0");
}
Объяснение: Этот метод проверяет свойство UIVersionLabel
файла. Если метка не заканчивается на «0», это означает, что файл возвращен.
Метод 4: использование свойства File.CheckOutStatus
using Microsoft.SharePoint.Client;
public static bool IsFileCheckedIn(ClientContext context, string fileUrl)
{
var file = context.Web.GetFileByServerRelativeUrl(fileUrl);
context.Load(file, f => f.CheckOutStatus);
context.ExecuteQuery();
return file.CheckOutStatus == FileCheckOutStatus.None;
}
Объяснение: Этот метод проверяет свойство CheckOutStatus
файла. Если значение равно FileCheckOutStatus.None
, это означает, что файл возвращен.
Метод 5: использование свойства File.Versions
using Microsoft.SharePoint.Client;
public static bool IsFileCheckedIn(ClientContext context, string fileUrl)
{
var file = context.Web.GetFileByServerRelativeUrl(fileUrl);
context.Load(file, f => f.Versions);
context.ExecuteQuery();
return file.Versions.Count == 1;
}
Объяснение: Этот метод извлекает коллекцию версий файлов и проверяет, равен ли счетчик 1. Если да, это указывает на то, что файл возвращен.
Метод 6: использование свойства File.LockType
using Microsoft.SharePoint.Client;
public static bool IsFileCheckedIn(ClientContext context, string fileUrl)
{
var file = context.Web.GetFileByServerRelativeUrl(fileUrl);
context.Load(file, f => f.LockType);
context.ExecuteQuery();
return file.LockType == FileLockType.None;
}
Объяснение: Этот метод проверяет свойство LockType
файла. Если значение равно FileLockType.None
, это означает, что файл возвращен.
В этой статье мы рассмотрели шесть способов проверить, проверен ли файл в SharePoint с помощью CSOM. Эти методы предоставляют вам различные способы программного определения статуса файла. Используя эти методы, вы можете улучшить рабочие процессы разработки и автоматизации SharePoint.