domingo, 8 de março de 2015

MVC 3 - Atributo Bind e o método TryUpdateModel

Quem já utiliza o MVC3 sabe que é possível criarmos views tipadas, e isso é ótimo quando os campos contidos nos formulários são referentes a uma única classe.
Mas e quando os valores coletados nos campos são referentes a classes distintas. O que fazer? Neste caso podemos utilizar o atributo Bind junto com o método TryUpdateModel.
Vamos utilizar como exemplo duas classes uma classe Pessoa e uma classe Doenca. Se em um mesmo formulário tivéssemos que pegar o valores de Pessoa e de Doenca a View que contém estes campos não poderia ser tipada pois trata-se de classes distintas. A solução mais comum seria criar uma outra classe que contenha propriedades referentes a Pessoa e a Doenca e tipar a view com essa nova classe.
Mas, existe uma alternativa. Vamos resolver esse problema utilizando o atributo Bind e da classe FormCollection
Crie as classes Pessoa e Doenca conforme exemplo abaixo:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Pessoa
{
    public string Nome {getset; }
    public string Sexo { getset; }
    public string Observacao { getset; }
}
public class Doenca
{
    public string Nome { getset; }
    public string TipoDoenca { getset; }
    public string Observacao { getset; }
}
Insira o seguinte código abaixo na View
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
    @Html.TextBox("Pessoa.nome", "Pessoa")
    <br />
    <text>Masculino</text>
    @Html.RadioButton("Pessoa.sexo", "masculino")
    <br />
    <text>Feminino</text>
    @Html.RadioButton("Pessoa.sexo", "Feminino")
    <br />
    @Html.TextArea("Pessoa.observacao")
    <br />
    @Html.TextBox("Doenca.nome", "Doenca")
    <br />
    <text>Ossea</text>
    @Html.RadioButton("Doenca.tipoDoenca", "ossea")
    <br />
    <text>Cancer</text>
    @Html.RadioButton("Doenca.tipoDoenca", "cancer")
    <br />
    @Html.TextArea("Doenca.observacao")
    <input type="submit" name="submit" value="submeter" />
}
Insira este código no Controller
?
1
2
3
4
5
6
7
8
9
10
[HttpPost]
public ActionResult Index([Bind(Prefix = "Pessoa,Doenca")]FormCollection collection)
{
    Pessoa pessoa = new Pessoa();
    TryUpdateModel(pessoa, "Pessoa", collection.ToValueProvider());
    Doenca doenca = new Doenca();
    TryUpdateModel(doenca, "Doenca",collection.ToValueProvider());
    return View();
}

O detalhe neste código é o parâmetro passado ao método. Como a View não é fortemente tipada estamos utilizando a classa FormCollection para capturar os valores dos campos e o atributo Bind com sua propriedade Prefix.
A propriedade  Prefix associa uma marcação – Campo de formulário com um parâmetro de um método do Controller.
Observe que coloquei os id’s dos campos do formulário da seguinte forma “Prefix.PropriedadeDaClasse“. Analise o seguinte campo:
@Html.TextBox(“Pessoa.nome”, “Pessoa”)
O id deste TextBox é “Pessoa.nome”, ou seja, Pessoa é a string que foi definida na propriedade Prefix e nome é um dos atributos definidos na Classe Pessoa. Adicionando um prefixo é possível saber a qual classe pertence o valor contido no campo do formulário.
O nome após o prefixo deve ser idêntico ao nome da propriedade da classe
Utilizamos o método TryUpdateModel passando os respectivos parâmetros: Objeto, Prefixo e o  Parâmetro do FormCollection seguido do método ToValueProvider.

Perigo de fazer Download

Se por um lado a internet proporciona a você númeras facilidades, por outro, a rede mundial de computadores também é capaz de oferecer diversos riscos aos seus usuários. Para quem opta por fazer downloads ilegais, baixando versões não oficiais de programas, não tem idéia do perigo em que está se aventurando. Talvez até mesmo ache que está tendo algum tipo de vantagem. Mas será que está mesmo?
Veja o grande perigo pro trás de um simples e talvez aparente inocente download de um arquivo, que pode ser um vídeo, uma música, um programa, um documento ou qualquer formato de arquivo.

Abaixo separei alguns cuidados que você deve tomar ao pensar em fazer um download de um programa ou documento.


Localização da hospedagem do arquivo

Não importa o tipo de arquivo que desejamos baixar, ele está localizado fisicamente em um servidor que disponibiliza vários serviços na Internet aos seus cliente.

O grande problema é que muitos desses servidores não possui nenhum controle do que está hospedado neles. Muitos desses arquivos já estão infectados com algum tipo de vírus. E quando baixamos, instalamos ou executamos o download se ele estiver infectado não podemos esprar outra coisa senão nosso computador também ser infectado com esta praga terrível o Vírus de Computador.

Como se proteger?

Procure baixar seus programas sempre utilizando sites de empresas que tem uma marca ou um nome a zelar. Por exemplo: Microsoft, HP, DEL, e assim por diante.

Evite usar sites que procuram ou tentam facilitar a vida dos usuários, o qual embora possuam uma lista variada de aplicativos, poderá causar a você uma enorme dor de cabeça.


Perigo de baixar versão não oficial de programa

Os aplicativos que escondem vírus não são novidade, pois há anos essa prática é acontece na internet. Um dos primeiros casos de vírus disfarçados, de acordo com o Gdata,  foi o do Amiga Virus F. Ele vinha disfarçado de um programa para testes de modem e ao ser executado, o HD era sobrescrito com uma palavra de baixo calão em inglês. 

De acordo com o PandaLabs, quase 12% de todos os computadores do país estão infectados com algum tipo de malware. Além disso, 52,02% de todas as máquinas possuem alguns vírus, porém eles não estão ativos.

Quando se fala em sistemas operacionais, o cuidado precisa ser ainda maior, pois há casos em que o malware está imbutido no código do SO. Por isso, os antivírus não conseguem identificá-lo e o próprio sistema "mexido", pode começar a consumir banda em excesso, enviar spam ou malwares, ou seja, você faz a instalção, se previne com antivírus, mas o problema vem do próprio sistema. 

Além dos riscos eminentes de vírus, aplicativos suspeitos, versões beta, programas modificados ou piratas, baixados via Torrent ou sites de hospedagem de reputação duvidosa, podem vir acompanhados de keyloggers– programas maliciosos que captam tudo o que é digitado no teclado, especialmente senhas

Além dos aplicativos, filmes, músicas, jogos e todo o tipo de arquivo, podem conter malwares disfarçados, portanto sempre mantenha seu antivírus atualizado.

Apesar de oferecer muitas facilidades, a internet é cheia de armadilhas, por isso, ficar ligado em tudo é uma das formas de nunca ser enganado. Desconfiar de tudo é uma das melhores táticas para não ser pego de surpresa por keyloggers, antivírus falsos e malwares em geral.

Tome cuidado com ofertas tentadoras ou mensagens com conteúdo muito apelativo. Elas certamente trarão problemas. Manter um site confiável para baixar aplicativos, manter o antivírus atualizado e cuidar onde clica, são ações que garantem uma  margem de segurança em sua navegação.


quarta-feira, 31 de dezembro de 2014

ASP.NET MVC - Controller

Esta pasta contém todas as classes de controlador responsável pela manipulação das requisições feitas pelo usuário. 

Por padrão ao definir um nome de classe controlador, utilizamos o sufixo Controller. Neste caso, se desejamos criar um controle Cliente o seu nome será ClienteController.cs

No entanto, existe uma diferença entre a forma que um controlador mapeia uma URL. Por exemplo: uma requisição "http://www.teste.com/default.aspx" irá mapear diretamente o arquivo "default.aspx" no diretório raiz do servidor. Entretanto, o framework MVC mapeia URLs para métodos. este métodos estão contidos nas classes de controladores.  

Se desejar saber mais envie um email para aspnetwf@gmail.com



quinta-feira, 23 de outubro de 2014

6 mitos sobre a segurança na nuvem




Cinco milhões de empresas usam o Google Apps for Business, aumentando a produtividade e o trabalho em equipe e diminuindo custos. Mas alguns empresários ainda se preocupam com a segurança. Nós entendemos. Quando o assunto é a sua empresa, você não quer correr riscos.

Há muitos mitos sobre a segurança na nuvem. Vamos desvendar alguns deles:


Mito: Google vende minhas informações.

Fato: com o Google Apps,  você é proprietário dos seus dados.
A menos que  você use os serviços para isso, não compartilhamos seus dados (exceto em casos especiais descritos na política de privacidade). Não vendemos, trocamos nem  alugamos dados pessoais identificáveis do usuário. Suas informações são suas — e continuam assim.


Mito: tudo o que está na Internet é mais vulnerável a hackers.

Fato: seus dados estão mais seguros na nuvem que no seu escritório.
Protegemos dados em movimento na Internet com a criptografia SSL. A equipe de segurança das informações monitora constantemente nossa rede global de datacenters para manter seus dados em segurança. Nossos controles de administração e segurança passaram por auditoria ISAE 3402  tipo II e nosso sistema de mensagens e colaboração foi o primeiro a receber a certificação US FISMA (Lei federal de gerenciamento de segurança das informações). Além da senha, você também pode usar a autenticação em duas etapas para dificultar ainda mais o acesso não autorizado.


Mito: se mudar de ideia, não poderei recuperar meus dados.

Fato: os dados podem ser exportados onde e quando você quiser.
Manteremos seus dados enquanto você tiver conta conosco. Mas se você quiser, temos ferramentas para ajudá-lo a exportar seus e-mails, diários, contatos, documentos e sites. Por exemplo, é possível exportar seus documentos para vários formatos compatíveis com Microsoft. Saiba mais na Google Data Liberation Front.


Mito: Não  posso usar o Google porque meus dados poderão ser armazenados fora dos EUA.

Fato: o Google está registrado no programa Safe Harbor dos EUA e. da UE.
O Google adota os princípios de privacidade de notificação, escolha, transferência, segurança, integridade de dados, acesso e aplicação do Safe Harbor dos EUA e está registrado no programa Safe Harbor do departamento de comércio dos EUA. A estrutura Safe Harbor foi desenvolvida para garantir que  as empresas possam transferir dados pessoais da UE para os EUA, mantendo a proteção de dados de acordo com os sete princípios fundamentais da UE.


Mito: o Google pode ler meus e-mails e documentos.

Fato: o Google não pode ler seus e-mails nem documentos.
Os empregados do Google não podem acessar os dados da sua conta, exceto em casos muito especiais — e mesmo assim precisamos da sua permissão (Consulte nossa política de privacidade) .


Mito: os sistemas da maioria das empresas são seguros o suficiente.

Fato: nem tanto.
Nossa pesquisa mostrou que  a maioria dos proprietários e gerentes de pequenas empresas sobrevaloriza seu nível de segurança. Eles não possuem backups recentes e não os protegem externamente (com o Google Apps, o backup dos dados é feito automaticamente em nossos datacenters globais. Assim, ficam protegidos contra perda acidental, roubo e incêndios). Eles não têm planos de recuperação de desastres (nós garantimos 99,9% de tempo de funcionamento* e oferecemos recuperação de desastres robusta e integrada — melhor que  a maioria dos hardwares e softwares internos). E eles não criptografam os dados valiosos (com o Google Apps, todos os dados são criptografados em movimento e o acesso é protegido pela autenticação em duas etapas. Isso significa que  os dados ficam muito mais seguros em nossa
nuvem que  armazenados localmente em um laptop).





*SLA Garanta 99,9% de disponibilidade sem tempo de inatividade agendado


© 2012  Google Inc. Todos los derechos reservados. 
Google y el logo de Google son marcas registradas de Google Inc.
Los demás nombres de empresas y productos pueden ser marcas registradas de las respectivas compañías con las que  están asociados.

quarta-feira, 15 de outubro de 2014

SQL Server - Como Salvar Alterações que Exigem Recriação da Tabela

Você talvez já tenha recebido a seguinte mensagem informando que você não 
possui permissões para salvar alterações na tabela de um banco de dados 
Microsoft SQL Server. Por padrão esta opção vem marcada.

Mas, você pode alterar a propriedade de recriação de tabela. Veja como é fácil.


Para alterar a propriedade de recriação de tabela, siga os passos abaixo:



  1. Abra SQL Server Management Studio (SSMS).
  2. Sobre o Ferramentas menu, clique em Opções.
  3. No painel de navegação do Opções janela, clique em Designers
  4. Marque ou desmarque o Impedir salvar alterações que exigem recriação da tabela caixa de seleção e clique em OK.