Mostrando postagens com marcador C#. Mostrar todas as postagens
Mostrando postagens com marcador C#. Mostrar todas as postagens

segunda-feira, 17 de agosto de 2015

Hospedagem .NET nas nuvens utilizando a Amazon Parte III de III

Nessa última etapa, iremos configurar um site no IIS e iremos rodar através do IP público fornecido pela VM da Amazon.

1ª Parte - Cadastro na Amazon
2º Parte - Criação da Máquina Virtual

Instrução

1. Criação de um CRUD Simples em ASP.NET MVC

Abra seu SQL Server e execute o script a seguir

CREATE DATABASE dbCliente
GO

USE dbCliente

CREATE TABLE Cliente (
 ClienteID INT NOT NULL PRIMARY KEY IDENTITY(1,1)
 ,Nome VARCHAR(80) NOT NULL
 ,Email VARCHAR(100) NOT NULL
 )

Crie um novo projeto no Microsoft Visual Studio

1.1 File > New > Project



1.2 Visual C# > Web > ASP.NET Web Application
Dê o nome de 'ProjetoCliente'

1.3 Selecione MVC e modifique a forma de autenticação pelo botão 'Change Authentication' para 'No Authentication'.



1.4 Adicionar o Entity Framework no projeto
Pressione CTRL + SHIFT + A para um novo item. Logo em seguida vá para Visual C# > Data > ADO.NET Entity Data Model e dê o nome 'ModelCliente'



Selecione 'EF Designer from database'


Crie uma nova conexão através do botão 'New Connection' > Microsoft SQL Server. Clique em Continue.

Selecione o servidor do banco de dados e o banco de dados:


Clique em 'Next'.


Selecione a tabela 'Cliente' e clique em Finish




Na pasta 'Controllers', botão direito > Add > Controller > MVC 5 Controller with views, using Entity Framework.



No campo 'Model Class' selecione Cliente(ProjetoCliente), no 'Data context class' selecione dbClienteEntities(ProjetoCliente) e por último altere o campo 'Controller name' para ClienteController.



O Visual Studio gera o controller e as views da Entidade Cliente.



Agora iremos modificar a página inicial que o sistema irá abrir. Acesse a pasta App_Start > RouteConfig.

Altere o trecho controller de 'Home' para 'Cliente'. Conforme a imagem




Iremos alterar o formulário de criação dos dados para o cliente. Vamos remove o campo Id.

Remova o trecho a seguir

Views > Clientes > Create.cshtml

<div class="form-group">
   @Html.LabelFor(model => model.ClienteID, htmlAttributes: new { @class = "control-label col-md-2" })
   <div class="col-md-10">
      @Html.EditorFor(model => model.ClienteID, new { htmlAttributes = new { @class = "form-control" } })
      @Html.ValidationMessageFor(model => model.ClienteID, "", new { @class = "text-danger" })
   </div>
</div>

Sua aplicação será executada.






2. Publicação na VM da Amazon

Clique no projeto da Solution 'ProjetoCliente' > Publish > Custom dê o nome de Local



Na aba Connection altere o campo 'Publish method' para File System e no campo 'Target location' adicione uma pasta para publicar o projeto.



Clique em 'Open' e depois em 'Publish'

Pronto. Compacte (.Zip) o seu projeto e acesse a conexão via remota (mstsc)


Copie o compactado e cole na área de trabalho.

Vamos acessar o SQL Server do servidor e executar o script de criação do banco de dados.



Na última etapa é preciso adicionar um novo site no IIS. Feito isso e só acessar seu ip publico e testar sua aplicação.


Opcionais do Tutorial
Acesse o link do projeto do tutorial : http://nstutoriais.natanaelsantos.com.br
Para download do projetoCliente. Clique aqui

sábado, 1 de março de 2014

Jquery Multiple File Upload Plugin ASP.NET


Olá Programadores!

Neste tutorial, estaremos aprendendo como trabalhar com o plugin Jquery Multiple File Upload, que é responsável por gerenciar as requisições de arquivo entre cliente e servidor. 

Vantagens
* Multi-linguagem
* Personalização
* Layout intuitivo
* Validações
* Eventos

O tutorial foi divido em dois módulos, o primeiro, o lado frond-end e o segundo, back-end.

1º Módulo Frond-end

1.1 Adicionar os cdn's de css e js, entre a tag <head> e </head>

<link href="http://hayageek.github.io/jQuery-Upload-File/uploadfile.min.css" rel="stylesheet" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://hayageek.github.io/jQuery-Upload-File/jquery.uploadfile.min.js"></script>

1.2 Adicionar a div, responsável pela interação dos uploads, entre a tag <body> e </body>

<div id="fileuploader">Selecionar Arquivo</div>

1.3 Configuração do plugin.

<script>
            $(document).ready(function () {
                $("#fileuploader").uploadFile({
                    url: "HandlerFoto.ashx",
                    fileName: "file",

                    maxFileSize: 4194304,
                    maxFileCount: 10,
                    multiple: true,
                    allowedTypes: "jpg,png,gif",
                    showStatusAfterSuccess: false,
                   
                    dragDropStr: "<span> ou Arraste pra cá! </span>",
                    doneStr: "Enviado",
                    abortStr: "Cancelar",
                    extErrorStr: "Extensão não permitida.",
                    sizeErrorStr: "Foi ultrapassado o tamanho máximo para upload de arquivo",
                    maxFileCountErrorStr: "Foi ultrapassado o limite de upload.",
                   
                    afterUploadAll: function () {
                        alert("Arquivo(s) enviado com sucesso.");
                    },
                   
                });
            });
</script>

Finalizado o 1º Módulo.

2º Módulo Back-end

2.1 Criar uma handler chamado HandlerFoto.ashx

Adicionar no método ProcessRequest o trecho de código a seguir.

 HttpPostedFile file = context.Request.Files["file"];

if (file != null)
{
   file.SaveAs(@"c:\\tmp\" + file.FileName);
}


Configurando  o plugin

Textos

dragDropStr: trecho do drag-and-drop. Ex: <span> ou arraste pra cá! </span>.
abortStr: Botão responsável por cancelar o upload: Ex: Cancelar.
doneStr: Botão responsável por dizer upload realizado com sucesso. Ex: Enviado.
extErrorStr: Mensagem caso a extensão seja diferente da definida na propriedade allowedTypes.
sizeErrorStr: Mensagem caso ultrapasse o limite de tamanho definido na propriedade maxFileSize.
maxFileCountErrorStr: Mensagem caso ultrapasse o limite de upload definido na propriedade maxFileCount.

Validações

maxFileSize: tamanho máximo do arquivo em bytes. Ex: 4194304 = 4 MB.
maxFileCount: Quantidade máxima de arquivo para upload. Ex: 10.
multiple: Habilitar múltiplos arquivos enviado ao servidor. Ex. true ou false.
allowedTypes: Extensões permitidas: Ex: jpg,png,gif.
showStatusAfterSuccess: Ao finalizar o upload de um arquivo, retira a div.

Eventos

onSuccess: Ao finalizar um arquivo com sucesso.
onError: Erro em um arquivo.
afterUploadAll:  Ao concluir todos os uploads.

Pronto, através desse plugin é possível ter um layout intuitivo com o usuário.



segunda-feira, 27 de janeiro de 2014

FileUpload Multiple ASP.NET C#


Neste tutorial estaremos aprendendo como fazer:
- Upload de vários arquivos
- Filtrar a seleção de arquivos
- Selecionar mais de um arquivos
- Salvar em uma pasta.

1º Preparar o layout do site.

Adicione a sessão dentro da tag <form>


<asp:FileUpload runat="server" ID="fuImagem" accept=".jpg,.png" AllowMultiple="True" />

O que é importante aqui?
O atributo accept é responsável por filtrar a seleção dos arquivos. Exemplo
Arquivo de imagem = image/*
Arquivo de video = video/*
Arquivo de audio = audio/*
Mais de um arquivo = .jpg, .png, .bmp

Lista completa dos arquivos suportados Clique aqui

O atributo AllowMultiple é responsável por selecionar mais de um arquivo quando esta setado para true.



2º Preparar o code behind (F7)
Para fazer o upload de vários arquivos é preciso fazer um laço de repetição, nesse caso, estaremos utilizado o for.

O c# guarda os arquivos do controle fileupload em Context.Request.Files.

Feito isso, precisamos tratar um arquivo de cada vez, então, utilizaremos a classe HttpPostedFile que contém as propriedades: nome do arquivo, tamanho, mime type e o arquivo em si.

A seguir um exemplo:

protected void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                for (int i = 0; i < Context.Request.Files.Count; i++)
                {
                    HttpPostedFile file = Context.Request.Files[i];
                    string nome = file.FileName;
                    const string endereco = @"c:\tmp\";
                    file.SaveAs(endereco + nome);
                }

                lblMensagem.Text = "Salvo com sucesso";


            }
            catch (Exception ex)
            {
                lblMensagem.Text = "Houve um erro: " + ex.Message;
            }
        }

A segui uma vídeo aula.





PrintScreen do tutorial.

sábado, 23 de março de 2013

Enviar Email com C# ASP.NET

Olá Pessoal, segue um bom código para envio de email usando ASP.NET C#, mas antes dizer vamos saber algumas curiosidades sobre o email.


1. Qual foi a primeira mensagem de E-mail?

Ray Tomlinson é conhecido como a primeira pessoa a enviar uma mensagem via correio eletrônico.
Tomlinson não foi especificamente encarregado de desenvolver o e-mail, mas ele trabalhava em aplicações úteis para o projeto do MIT ARPANET (que mais tarde evoluiu para a Internet). Ele se dedicou a criar o e-mail porque para ele parecia ser uma idéia perfeita.
O primeiro e-mail foi enviado entre dois computadores lado a lado. Tomlinson diz que não consegue lembrar o conteúdo da primeira mensagem, mas é provável que tenha sido um “teste 123″ ou algo assim.

2. Qual a origem da palavra Spam?

Não é certo, mas o primeiro spam teria sido enviado em 5 de março de 1994 pelos advogados Canter e Siegel. Eles o fizeram propaganda sobre uma loteria em um grupo de discussão que não tinha nada a ver com o assunto, o que revoltou muitos assinantes do grupo.
Já a palavra Spam é complicado. Existe um presunto enlatado nos Estados Unidos de nome SPAM® escrito em letras maiúsculas com marca registrada pela Hormel Foods desde 1930. A empresa aliás não gosta nada de ter seu produto associado a algo nocivo e indesejável como os Spams de internet.
Mas a referência ao produto é inevitável pois a origem mais aceita vem de uma cena do programa de TV “Monty Python”, onde alguns vikings muito inconvenientes repetiram infinitas vezes a palavra “spam”, em referência justamente ao enlatado norte-americano.

3. Qual é a mais comum e-mail a senha?

Por incrível que pareça, “123456″ é a líder. Quando 10 mil senhas do Hotmail vazaram, a combinação “123456″, também liderou a lista da mais comum. Portanto, não poupe criatividade na hora de escolher sua senha. Apele para músicas e livros preferidos e faça uma combinação de letras e números para proteger suas informações.

4. Como se escreve e-mail?

Pode ser e-mail, email, E-Mail, E-mail ou eMail. Depende de onde você for consultar. Muitos dicionários preferem “email”, sem o hífen. Já a Associated Press Stylebook (Manual de Redação e Guia sobre o Direito de Mídia da Associated Press) insiste em ver a palavra como uma abreviatura de “correio eletrônico” e, portanto, com hífen “e-mail”. Esta, a meu ver é a mais correta.

5. Como é chamado o sinal @?

Em português dizemos “arroba”, já na versão em inglês, o “@” é conhecido apenas como “at”. Conheça mais algumas:
E em italiano, é “chiocciolina”; em livre tradução: pequeno caracol.
Em holandês é “apestaart”; em livre tradução: “rabo de macaco”.
Em sueco, “snabel-a”; em livre tradução: tromba de elefante.

6. Quando foi enviado o primeiro e-mail do espaço?

A primeira mensagem de correio-eletrônico vinda do espaço foi enviada em 1991 pela tripulação da STS-43 Atlantis, através do software AppleLink em um computador Macintosh.


Bom, segue o código abaixo:


private void EnviarEmail(string assunto, string corpoEmail)
{
    //Define os dados do e-mail
    string nomeRemetente = "Meu Nome";
    string emailRemetente = "meu email";
    string senha = "minha senha para acessar meu email";
 
    //Host da porta SMTP
    //Exemplo smtp.gmail.com
    string SMTP = "host do servidor do email"; 
 
    string emailDestinatario = "Email que será enviado";
    //string emailComCopia        = "email@comcopia.com.br";
    //string emailComCopiaOculta  = "email@comcopiaoculta.com.br";
 
    string assuntoMensagem = assunto;
    string conteudoMensagem = corpoEmail;
 
    //Cria objeto com dados do e-mail.
    System.Net.Mail.MailMessage objEmail = new System.Net.Mail.MailMessage();
 
    //Define o Campo From e ReplyTo do e-mail.
    objEmail.From = new MailAddress(nomeRemetente + "<" + emailRemetente + ">");
 
    //Define os destinatários do e-mail.
    objEmail.To.Add(emailDestinatario);
 
    //Enviar cópia para.
    //objEmail.CC.Add(emailComCopia);
 
    //Enviar cópia oculta para.
    //objEmail.Bcc.Add(emailComCopiaOculta);
 
    //Define a prioridade do e-mail.
    objEmail.Priority = System.Net.Mail.MailPriority.Normal;
 
    //Define o formato do e-mail HTML (caso não queira HTML alocar valor false)
    objEmail.IsBodyHtml = true;
 
    //Define título do e-mail.
    objEmail.Subject = assuntoMensagem;
    
    //Define o corpo do e-mail.
    objEmail.Body = conteudoMensagem;
 
 
    //Para evitar problemas de caracteres "estranhos", configuramos o charset para "ISO-8859-1"
    objEmail.SubjectEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
    objEmail.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
 
 
    // Caso queira enviar um arquivo anexo
    //Caminho do arquivo a ser enviado como anexo
    //string arquivo = Server.MapPath("arquivo.jpg");
 
    // Ou especifique o caminho manualmente
    //string arquivo = @"e:\home\LoginFTP\Web\arquivo.jpg";
 
    // Cria o anexo para o e-mail
    //Attachment anexo = new Attachment(arquivo, 
    //System.Net.Mime.MediaTypeNames.Application.Octet);
 
    // Anexa o arquivo a mensagem
    //objEmail.Attachments.Add(anexo);
 
    //Cria objeto com os dados do SMTP
    System.Net.Mail.SmtpClient objSmtp = new System.Net.Mail.SmtpClient();
 
    //Alocamos o endereço do host para enviar os e-mails  
    objSmtp.Credentials = new System.Net.NetworkCredential(emailRemetente, senha);
    objSmtp.Host = SMTP;
    objSmtp.Port = 587;
    //Caso utilize conta de email do exchange deve habilitar o SSL
    //objEmail.EnableSsl = true;
 
    //Enviamos o e-mail através do método .send()
    try
    {
        objSmtp.Send(objEmail);
    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {
        //excluímos o objeto de e-mail da memória
        objEmail.Dispose();
        //anexo.Dispose();
    }
}


sábado, 4 de agosto de 2012

DICAS 01 - Adicionar uma linha em branco em uma DropDownList C# ASP.NET


Olá Pessoal, o blog esta criando uma nova série, chamada Dicas, envolvida no nosso dia a dia, então vamos lá para a primeira dica.

Adicionar uma linha em branco em uma dropDownList em C# e ASP.NET


Cenário: Tenho uma lista de Cidade, e não quero que exiba a primeira cidade, mas uma linha em branco, forçando o usuário a selecionar uma cidade.

Obs: Se baseia na label Autor como resultado final e Editora como a querendo quer ser inicializar em branco

Como na imagem:

















Solução: Aonde você alimenta a DropDownList insira o código abaixo:

ddlAutor.Items.Insert(0, new ListItem("", ""));
  
Onde 

ddlAutor = nome da DropDown List
Items = Coleção de funcionalidade para o controle
Insert = Insere um item especifico

No caso o método insert ele é sobrecarregado, por isso, existem vários métodos que podemos usar. No caso estaremos usando os parâmetros abaixo.

ddlAutor.Items.Insert(int index, new ListItem item);
Abaixo o método completo

ddlAutor.DataTextField = "Nome";
ddlAutor.DataValueField = "Codigo";

ddlAutor.DataSource = tbAutor;
ddlAutor.DataBind();

ddlAutor.Items.Insert(0, new ListItem("", ""));

Bom é isso pessoal, espero que ajude, qualquer dúvida poste nos comentários ou envie-nos um email para duvida@nstutoriais.com