Neste post, mostrarei como realizar a manipulação de
arquivos e pastas no SharePoint 2010 com o Visual Studio 2010, neste exemplo
irei mostrar como realizar o check in e também o check out dos arquivos em uma
determinada pasta programaticamente.
Para este exemplo vamos ao SharePoint e adicionar uma nova
biblioteca de documentos.
Agora você poderá subir alguns documentos de exemplo para o nosso exemplo.
Crie um novo projeto “Empty SharePoint Project”, selecione “Deploy as a farm solution”.
Clique com o botão direito no projeto, Add -> New Item.
Selecione “Web Part”, dê um nome à ela e então adicione ao
projeto.Vamos criar dois controles na web part:
- Label: Para exibir informações caso haja algum erro.
- Button: Para realizar a operação nos arquivos.
Primeiro declare os dois controles:
public
Button button;
public
Label lblAlert;
button = new Button();
button.ID
= "btn1";button.Text = "Executar";
button.Click += new EventHandler(button_Click);
Controls.Add(button);
Controls.Add(new LiteralControl("<br>"));
lblAlert =
new Label();
lblAlert.ID
= "lblAlert";lblAlert.Text = "";
lblAlert.Visible = false;
Controls.Add(lblAlert);
Controls.Add(new LiteralControl("<br>"));
{
try
{
SPWeb web = SPContext.Current.Web;
SPSecurity.RunWithElevatedPrivileges(delegate
{
foreach (SPFolder folder in web.Folders)
{
if (folder.Name == "Documentos")
{
foreach (SPFile file in folder.Files)
{
file.CheckOut();
}
break;
}}
});
}
catch (Exception ex)
{
lblAlert.Visible = true;
lblAlert.Text = ex.Message;
}
}
Bom, neste código criamos um SPWeb apontando para a web
application onde está localizada a web part.
Utilizo também o método RunWithElevatedPrivilegies para
evitar que ocorra algum tipo de erro quanto ao acesso as bibliotecas ou
documentos.
Depois disso faço um foreach
para ler as pastas, um novo foreach
para ler os arquivos dentro desta pasta.
Quando encontrado um arquivo na pasta Documentos é realizado
o seu checkout.
Agora basta você realizar o deploy da solução, adicionar sua
web part em uma página e clicar no botão para executar a ação.
Nenhum comentário:
Postar um comentário