Flickr Images

Pages

Banner 468

quinta-feira, 21 de julho de 2011

CRUD Listas Sharepoint

0 comentários
 

Apenas para mostrar como fazer um CRUD na lista do sharepoint que criamos no post Criação de Listas Programaticamente. Para isso utilizei novamente um console aplication referenciando a dll Microsoft.Sharepoint.dll

Vamos ao código:


   1:  using System;
   2:  using System.Collections.Generic;
   3:  using System.Linq;
   4:  using System.Text;
   5:  using Microsoft.SharePoint;
   6:   
   7:  namespace Sharepoint.Crud
   8:  {
   9:      class Program
  10:      {
  11:          static void Main(string[] args)
  12:          {
  13:              using (SPSite oSite = new SPSite("http://intranet.contoso.com/"))
  14:              {
  15:                  using (SPWeb oWeb = oSite.OpenWeb())
  16:                  {
  17:                      bool allowUnsafeUpdates = oWeb.AllowUnsafeUpdates;
  18:                      oWeb.AllowUnsafeUpdates = true;
  19:                      try
  20:                      {
  21:                          SPList oList = oWeb.Lists.TryGetList("Ramais Empresa");
  22:                          if (oList != null)
  23:                          {
  24:                              //Adiciona um novo item e pega o id gerado
  25:                              int id = AdicionarRamal(oList, "João Carlos", "Administativo", "Filial - São Paulo", "Somente pode ser encontrado após as <b>18:00</b>.");
  26:   
  27:                              //Atualiza o Ramal
  28:                              AtualizarRamal(oList, id, "Maria Antônia", "Administrativo", "Filial - Rio de Janeiro", "");
  29:   
  30:                              //Envia o item criado para a lixeira
  31:                              RemoverRamal(oList, id, false);
  32:   
  33:                              //Adiciona um novo item
  34:                              id = AdicionarRamal(oList, "Joaquina Ferreira", "Financeiro", "Filial - São Paulo", "Trabalho apenas nas quartas e sextas.");
  35:   
  36:                              //Remove o item permanentemente
  37:                              RemoverRamal(oList, id, true);
  38:                          }
  39:                      }
  40:                      finally
  41:                      {
  42:                          oWeb.AllowUnsafeUpdates = allowUnsafeUpdates;
  43:                      }
  44:                  }
  45:              }
  46:          }
  47:   
  48:          private static void RemoverRamal(SPList oList, int id, bool excluirPermanentemente)
  49:          {
  50:              try
  51:              {
  52:                  SPListItem oListItem = oList.GetItemById(id);
  53:                  if (excluirPermanentemente)
  54:                  {
  55:                      //Exclui o item permanentemente
  56:                      oListItem.Delete();
  57:                  }
  58:                  else
  59:                  {
  60:                      //Envia o item para a lixeira do site
  61:                      oListItem.Recycle();
  62:                  }
  63:              }
  64:              catch
  65:              {
  66:                  throw new Exception("Item inexistente!");
  67:              }
  68:          }
  69:   
  70:          private static void AtualizarRamal(SPList oList, int id, string nome, string setor, string unidade, string observacao)
  71:          {
  72:              try
  73:              {
  74:                  SPListItem oListItem = oList.GetItemById(id);
  75:                  oListItem[SPBuiltInFieldId.Title] = nome;
  76:                  oListItem["Setor"] = setor;
  77:                  oListItem["Unidade"] = unidade;
  78:                  oListItem["Observacao"] = observacao;
  79:                  oListItem.Update();
  80:              }
  81:              catch
  82:              {
  83:                  throw new Exception("Item inexistente!");
  84:              }
  85:          }
  86:   
  87:          private static int AdicionarRamal(SPList oList, string nome, string setor, string unidade, string observacao)
  88:          {
  89:              SPListItem oListItem = oList.AddItem();
  90:              oListItem[SPBuiltInFieldId.Title] = nome;
  91:              oListItem["Setor"] = setor;
  92:              oListItem["Unidade"] = unidade;
  93:              oListItem["Observacao"] = observacao;
  94:              oListItem.Update();
  95:              return oListItem.ID;
  96:          }
  97:      }
  98:  }

Algumas observações:

Linha 17:

oWeb.AllowUnsafeUpdates: Esse AllowUnsafeUpdates permite atualizações não seguras no banco de dados. Para atualizações via código devemos setar essa propriedade para true, o que ocorre na linha 18.

Linha 56 e 61:

Na linha 56 o item é enviado para a lixeira do site através do método Recycle(). Já se utilizarmos o método Delete() o item é excluído permanentemente.

Linha 89:

O Objeto SPList agora possui o método AddItem(). Esse método não existia nas versões anteriores então era necessário fazer da seguinte forma: SPList.Items.Add();
E os resultados:

Cadastro do primeiro item:

Atualização do item:

Item enviado para a lixeira do site:

Cadastro de um novo item:


Bom então é isso, até a próxima e qualquer dúvida postem ai!

Leave a Reply

O que achou? Alguma coisa esta errada? Quem sabe uma sugestão? Faça seu comentário e/ou crítica logo abaixo!