quarta-feira, 25 de julho de 2012

Project 2013 Preview - Conexão com Project Server

Pessoal, este post serve como dica para quem esteja começando a utilizar e testar o Project 2013 Preview.


Assim como nós tinhamos o problema de conexão do Project Professional 2010 para se conectar ao Project Server 2007, também temos o mesmo problema atualmente, ou seja, não conseguimos nos conectar ao Project Server 2010 utilizando o Project 2013, aparecerá a seguinte tela:



Então cuidado no momento da instalação onde o instalador tem a opção de Upgrade do seu Project para o Project 2013. Só conseguiríamos então ter a conexão com o Project Server 2013.

segunda-feira, 27 de fevereiro de 2012

Executar macro do Excel através de macro do Project

Em muitas aplicações onde precisamos reaproveitar todo o código já existente em uma macro temos a opção de simplesmente acioná-la. Então mostrarei aqui como executar uma macro através de outra macro VBA.


Neste exemplo utilizarei o seguinte cenário:
Através do Project, instanciarei uma aplicação do Excel e então executar uma macro presente dentro de um determinado arquivo Excel chamada Macro1.


Set xl = CreateObject("Excel.Application")

xl.Application.Visible = True

Dim vFile As Variant

vFile = "C:\arquivo.xls"

xl.Application.Workbooks.Open vFile

xl.Application.Run ("Macro1")

Comentário:
Na primeira linha é criado o objeto referente à aplicação do Excel e então deixando visível na segunda linha.
Na quinta linha é aberto uma workbook com o caminho do arquivo xls especificado na quarta linha na variável vFile.
Então na última linha é executado o comando que roda a macro dentro deste arquivo Excel chamada Macro1.

Abrir Excel através de macro do Project

Mostrarei aqui como é feita a abertura de uma nova instância do Excel de dentro de uma macro do Project utilizano VBA.


O código é bem simples.
Você somente irá precisar criar um novo objeto indicando o excel.application como parâmetro entre aspas.


Set xl = CreateObject("Excel.Application")


Com isso você poderá trabalhar normalmente com a variável xl como se estivesse utilizando os métodos presentes para Excel.

Caso também seja necessário visualizar a sua aplicação utilize a propriedade Visible para isso.

xl.Application.Visible = True


Espero ter ajudado pessoal.

sexta-feira, 20 de janeiro de 2012

Aplicativos para Windows Phone em 2011

Segue aí alguns dados muito interessantes para os desenvolvedores de aplicativos para o Windows Phone 7.


Muito bacana, vale a pena conferir.

Lembrando que todos estes dados são referentes à 2011.


Aplicativos criados por todos as categorias (50.000+):
Entertainment
17 %
Tools & Productivity 
15 %
Books & Reference
14 %
Games
14 %
News & Weather
7 %
Travel
6 %
Lifestyle
5 %
Sports
4 %
Health & Fitness
3 %
All Others
15 %

Preferências dos usuários

Aplicativos gratuitos:
Games
31 %
Tools & Productivity
18 %
Entertainment
13 %
Music & Video
8 %
Travel
5 %
Social
5 %
News & Weather
4 %
Photo
4 %
Lifestyle
4 %
All Others
8 %
Aplicativos pagos:
Games
64 %
Tools & Productivity
8 %
Entertainment
8 %
Travel
4 %
Music & Video
3 %
Photo
3 %
Lifestyle
2 %
Social
2 %
Health & Fitness
1 %
All Others
5 %

Outras informações importantes:


-Aproximadamente 48 downloads por usuário.

-56 % dos usuários do Windows Phone 7 realizam compras no Marketplace através de seus aparelhos.




quarta-feira, 11 de janeiro de 2012

Navegação entre páginas no Windows Phone 7


Mostrarei como fazer a navegação entre páginas no seu aplicativo para Windows Phone 7 utilizando para isso o NavigationService e o NavigationContext.
O código utilizado para a navegação é bem simples e fácil de entender.




Para realizar a navegação para outra página XAML de seu aplicativo basta utilizar o seguinte código:

NavigationService.Navigate(new Uri("/Page.xaml", UriKind.RelativeOrAbsolute));


Onde “Page.xaml” é a sua página de destino.
Para realizar a operação de acessar a próxima página utilize:

NavigationService.GoForward();


Para voltar para a página anterior:

NavigationService.GoBack();


Agora mostrarei como realizar a leitura dos dados enviados de uma página para outra através de query string.

Para enviar um parâmetro basta utilizar da maneira tradicional inserindo o “?” após o .xaml e então inserir a sua chave atribuindo um valor para ela.
Ex.:

NavigationService.Navigate(new Uri("/Page.xaml?Id=2", UriKind.RelativeOrAbsolute));


Para realizar a leitura destes valores você deve utilizar como no exemplo abaixo:

string value = string.Empty;

NavigationContext.QueryString.TryGetValue("Id", out value);


Com o método TryGetValue você poderá inclusive verificar se o valor foi encontrado ou não pois seu retorno é do tipo bool.

Na variável value será armazenado seu valor caso seja encontrado.


terça-feira, 20 de dezembro de 2011

Business Connectivity Services (BCS) – Método Finder para External Content Types no SharePoint 2010



Mostrarei aqui como criar o método Finder, que faz com que você consiga fazer a visualização dos dados de seu External Content Type (ECT) do SharePoint 2010.

Neste exemplo, vamos criar uma nova conexão com a nossa base de dados para que em seguida possamos criar o método Finder para consumir os dados no SharePoint.

Vamos começar criando um banco de dados e uma tabela para que possamos testar se os dados foram importados.

Crie um banco de dados com nome “Development” e então crie uma tabela de nome “Funcionarios” com a estrutura abaixo e preencha alguns valores.


Conecte-se ao seu site com o SharePoint Designer 2010, no menu lateral esquerdo, clique em “External Content Types” em seguida clique em “External Content Type” no menu superior.


Altere o nome do seu ECT para “DevelopmentECT”. Em “External Content Type Operations” clique em “Click here to discover external data sources ...”.
Adicione uma nova conexão, selecione “SQL Server” e então informe os dados para a conexão.
Com a conexão criada, clique com o botão direito na tabela “Funcionarios” e então escolha “New Read List Operation”.

Agora basta seguir em Next, Next e Finish.
Com sua operação criada agora você somente precisa salvar e seu ECT estará criado com o método Finder.
Para verificar se os dados estão sendo lidos vamos utilizar o BCS buscar os dados.
Vá em uma página e adicione a seguinte web part.


 Faça a configuração da web part.



Se você tentar visualizar os dados você poderá ver o seguinte erro de acesso negado:


Para resolver este erro, você deve ir à Central Administration do SharePoint 2010.
Em “Application Management” clique em “Manage service applications”.
Procure “Business Connectivity Service”, clique em seu proxy e no menu superior clique em “Manage”.


Na página seguinte, basta selecionar “DevelopmentECT” e então clicar em “Set Object Permissions” na aba superior e adicionar seu usuário com suas devidas permissões.
Agora você poderá voltara à web part e verificar que os dados irão aparecer.

segunda-feira, 12 de dezembro de 2011

Manipulando arquivos e pastas do SharePoint 2010 com Visual Studio 2010



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.

Com a biblioteca e documentos no SharePoint, agora vamos ao Visual Studio 2010.
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;


No método CreateChildControls adicione o seguinte código:

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>"));


No código acima apenas criei e adicioneis os controles à web part. Também criei um EventHandler para o Click do botão, com isso você deve adicionar o código abaixo que implementará o Click do botão:


void button_Click(object sender, EventArgs e)
{
    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.