Entity Framework – Erro “An object with a null EntityKey value cannot be attached to an object context”

Quando você estiver utilizando EF e tentar atualizar um objeto que não foi criado do banco, com um post do mvc por exemplo, com Attach e SaveChanges você recebe a mensagem de erro

“An object with a null EntityKey value cannot be attached to an object context”  , para contornar isso você pode utilizar o método

context.AttachTo("Cargos", DadosCargo);
context.ObjectStateManager.ChangeObjectState(DadosCargo, EntityState.Modified);
context.SaveChanges();

HashTable Contains com Case Insensitive

Quando utilizamos um hashtable com assinatura padrão como está abaixo, quando utilizamos contains para verificar se uma chave existe a comparação é case sensitive.

Hashtable valores = new Hashtable();

Para tornar o Contains Case insensitive basta instancia-lo conforme  abaixo:

Hashtable valores = new Hashtable(new CaseInsensitiveHashCodeProvider(new CultureInfo(“pt-BR”)), new CaseInsensitiveComparer(new CultureInfo(“pt-BR”)));

Para mais detalhes veja http://msdn.microsoft.com/en-us/library/system.collections.caseinsensitivehashcodeprovider(v=vs.100).aspx

http://msdn.microsoft.com/en-us/library/84h4y0ta.aspx

ASP.NET MVC Erro conversão POST “The parameter conversion from type ‘System.String’ To Type X “

Comecei a receber esse erro numa nova tela e fiquei meio confuso no começo, depois de duas horas encontrei a resposta no link http://stackoverflow.com/questions/7983023/the-parameter-conversion-from-type-system-string-to-type-x-failed-because-n

Basicamente o nome  do seu parâmetro não pode ter o mesmo nome  de uma propriedade do objeto.

Tinha método  onde o nome  do parâmetro era cliente alterei para DadosCliente

De
  public ActionResult NovoCliente(Pessoas Cliente)
Para
  public ActionResult NovoCliente(Pessoas DadosCliente)

 

Desativar Sincronia de Horário Virtual Box

Precisei para alguns testes ficar alterando a data do windows , porém depois de 5 segundos a data voltava para a correta automaticamente. O que não permitia realizar meus testes … =(

Fiquei um tempo tentando entender se o problema era alguma configuração do windows 2008 ou do Virtual box, depois de algumas pesquisas e testes descobri  que era uma configuração do Virtual Box, seguindo as dicas do forum https://forums.virtualbox.org/viewtopic.php?f=2&t=8535&sid=c80cac3ca5ecb3f08e797395a10fab23&start=15 , consegui resolver meu problema.


Sharepoint 2010 – Botão New Web Application – Desabilitado

Primeiro post falando de Sharepoint , farei uma mescla de infra e dev , pois esse é o mundo Sharepoint a mescla dos dois mundos.

Como primeiro post deixo uma dica para o problema abaixo:

Se alguém tiver o mesmo problema a opção 4 funcionou para mim , depois do boot.
http://ddkonline.blogspot.com.br/2011/08/fix-sharepoint-2010-disabled-new-extend.html

Descrição problema
Mesmo depois de conceder as permissões necessárias para usuário , o botão continua desabilitado para usuário diferente de administrator.

Computadores e Notebooks Itautec

Para quem esta precisando comprar um note ou pc de qualidade com menos de mil reais, envie um email que farei cadastro no site da itautec onde você poderá comprar com super descontos.

Acesse o link : https://www.itautecnet.com.br/Cliente/DefaultCliente.aspx?User=47649 para ver as ofertas, caso tenha interesse basta efetuar o cadastro e comprar.

Se precisar de ajuda para escolher um modelo me envie um email que ajudarei.

Email: marcelo@akamaetech.com
Assunto: Promoções Itautec

JavaScript – Pegar Resolução do Segundo Monitor

Esses dias tive necessidade de fazer um desenvolvimento para detectar a resolução do monitor do usuário e realizar algumas customizações na tela.

Teoricamente uma tarefa super simples, porém nem tudo que parece é …  pro meu azar nesse caso …. via javascript você só consegue pegar a resolução do monitor principal então quando o usuário usa o modo estendido de monitor, não é possível pegar a resolução do monitor secundário com screen.width e screen.height … ainda tentei pesquisar chorar mas não tem jeito … com js não é possível hoje  “2012”…

Depois de pensar um pouco comecei a bolar uma solução alternativa … embora ele não me retorne a resolução ele me retorna a posição correta dos elementos =) … logo a solução foi ..

Via js crio uma div e posiciono a mesma no canto direito inferior , usando position:fixed com bottom: 0px e right:0px , depois via js eu pego a posição real top e left.

Isso me da areá total visível da pagina  o que é menor que a resolução, mas o necessário para minha customização.

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;

<html xmlns=”http://www.w3.org/1999/xhtml” &gt;
<head>
    <title>Untitled Page</title>
</head>
<body>
<div style=”width:auto;height:auto;background-color:red;”>
teste
</div>

<script language=”javascript” type=”text/javascript”>

    try {

    var divResolucao = document.createElement(“div”);

    document.body.appendChild(divResolucao);

    divResolucao.setAttribute(“style”, “position:fixed;bottom: 0px; right:0px;width: 10px;
height:10px;background-color:red”);

    alert(divResolucao.offsetLeft + ‘ – ‘ + divResolucao.offsetTop);

} catch (e) {

alert(e);
}

</script>

</body>
</html>