Inicial > .NET, Project Server > Mapeando Custom Fields com FluentPS

Mapeando Custom Fields com FluentPS

Enterprise custom fieldsNo post anterior aprendemos como utilizar a biblioteca FluentPS, que facilita o trabalho de manipular informações do Project Server.

Nesse post vamos ver como recuperar informações de campos personalizados do Project Server, os Enterprise Custom Fields.

O que são Enterprise Custom Fields?

Enterprise Custom Fields permitem extender os campos fornecidos por padrão pelo Project Server, podendo ser associados às entidades Projeto, Recurso e Tarefas. Eles são geralmente utilizados para atender a alguma necessidade específica da empresa/organização.

Os Enterprise Custom Fields são armazenados no Banco de Dados do próprio Project Server.

Onde estão os Enterprise Custom Fields?

Configurações do ServidorOs campos personalizados podem ser encontrados no PWA site, através do link Configurações do Servidor.

Agora navegue até a seção Dados da Empresa.

Selecione a opção Campos Personalizados da Empresa e Tabelas de Pesquisa para ver os campos cadastrados do servidor.

Seção Dados da Empresa

Nosso Exemplo

A nossa aplicação vai recuperar os dados do campo Departamento de um determinado projeto. Para isso, vamos criar a entrada Departamento de TI nesse campo.

Observação: lembre que você deve associar ao projeto o valor do campo Departamento que acabamos de criar, utilizando, por exemplo, o Microsoft Project Professional.

Usando o código do post anterior, vamos modificar a classe ProjectInfo. Criaremos a propriedade ProjectDepartment da seguinte forma:

[PSLookupField("9d77d62a-a92e-4d40-adc8-446c90eb7456", LookupTableUid="e7397277-1ab0-4096-b2dd-57029a055ba4",
FieldName = "Departamentos do Projeto", LookupTableName = "Departamento")]
public string ProjectDepartment { get; set; }

Para mapearmos o campo Departamento, utilizamos o atributo PSLookupField, recebendo em seu construtor os seguintes parâmetros: o ID do campo, o ID da tabela de lookup (tabela de pesquisa, em Português), o nome do campo e o nome da tabela de lookup.

Para recuperar o ID do campo, basta clicar no campo

Campo personalizado Departamento do Projeto

e copiar o GUID na parte inferior da página:

ID do campo DepartamentoDa mesma forma, para acessar o ID da tabela de lookup Departamento basta clicar nela,

Tabela de pesquisa Departamento

naveguar até a parte inferior da pagina e copiar o GUID:

GUID da tabela de lookup DepartamentoAgora altere a classe Program.cs para exibir o nome do Departamento associado ao projeto.

Console.WriteLine("Project Department: {0}", project.ProjectDepartment);

Pronto! Agora é só executar o código e o Departamento do projeto será exibido.

Novamente, se quiser mais informações sobre o FluentPS e o mapeamento de Custom Fields, acesse http://www.projectserver2010blog.com

Categorias:.NET, Project Server
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário