<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gustavo Souza</title>
    <description>The latest articles on DEV Community by Gustavo Souza (@gustavo_theodoro).</description>
    <link>https://dev.to/gustavo_theodoro</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F602594%2F65a6afba-a83f-42b0-897e-5ed53d6c3066.jpeg</url>
      <title>DEV Community: Gustavo Souza</title>
      <link>https://dev.to/gustavo_theodoro</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gustavo_theodoro"/>
    <language>en</language>
    <item>
      <title>Projeto C# com .Net Core - Entity Framework Core.</title>
      <dc:creator>Gustavo Souza</dc:creator>
      <pubDate>Fri, 28 May 2021 17:44:27 +0000</pubDate>
      <link>https://dev.to/gustavo_theodoro/projeto-c-com-net-core-entity-framework-core-1nag</link>
      <guid>https://dev.to/gustavo_theodoro/projeto-c-com-net-core-entity-framework-core-1nag</guid>
      <description>&lt;p&gt;Fala Devs, &lt;/p&gt;

&lt;p&gt;Criei esse post para ajudar no meu aprendizado e espero que ele possa ser útil para toda a comunidade. &lt;/p&gt;

&lt;p&gt;O projeto irá descrever passo-a-passo para a criação de uma API Rest, que fornece um sistema de geração de número de cartão de crédito virtual, os cartões gerados serão associados a um e-mail para identificar a pessoa que está utilizando. &lt;/p&gt;

&lt;p&gt;São 2 endpoints, um receberá o e-mail da pessoa e retornará um objeto de resposta com número do cartão. E o outro endpoint irá listar, em ordem de criação, todos os cartões de um solicitante (utilizando e-mail como parâmetro). &lt;/p&gt;

&lt;p&gt;Implementação deverá ser escrita utilizando C#, .Net Core e Entity Framework Core. &lt;/p&gt;

&lt;p&gt;Para iniciar o processo vamos precisar: &lt;/p&gt;

&lt;p&gt;Visual Studio Code (versão compativel com seu sistema): &lt;a href="https://code.visualstudio.com/Download"&gt;https://code.visualstudio.com/Download&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hYPEs_kv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a6uxfia7buoqia4ucdiw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hYPEs_kv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a6uxfia7buoqia4ucdiw.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Extensão C# no VSCode: &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EiffamFz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/61pc4iox3yhs9a6hqi1m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EiffamFz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/61pc4iox3yhs9a6hqi1m.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;.NET Core: &lt;a href="https://dotnet.microsoft.com/download/dotnet/3.1"&gt;https://dotnet.microsoft.com/download/dotnet/3.1&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t0LX-wze--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c37rnodg3s8jwe2tjo66.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t0LX-wze--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c37rnodg3s8jwe2tjo66.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Entity Framework Sqlite: &lt;a href="https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/"&gt;https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Xo1RXmb4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uuaqhqxhqstt8r7emdnz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Xo1RXmb4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uuaqhqxhqstt8r7emdnz.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DBeaver Community:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RGGRTWAQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a8msn8j78yzn264bnqxk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RGGRTWAQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a8msn8j78yzn264bnqxk.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Criando um projeto web (Cmd, powershell...)&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NBJ3Sgc_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pfn5hen1p1kbe1c1zw4s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NBJ3Sgc_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pfn5hen1p1kbe1c1zw4s.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Criando Models:&lt;br&gt;
UserInfo&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8IQmKLSR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/scrkpd2p6xio6b96ltdw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8IQmKLSR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/scrkpd2p6xio6b96ltdw.png" alt="image"&gt;&lt;/a&gt;&lt;br&gt;
VirtualCreditCard&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9khiahyf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xz1ds8z93ubdyay02awa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9khiahyf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xz1ds8z93ubdyay02awa.png" alt="image"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iBzw8Bmi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5xodjukyaz41jgzrxxcc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iBzw8Bmi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5xodjukyaz41jgzrxxcc.png" alt="image"&gt;&lt;/a&gt;&lt;br&gt;
VirtualCreditCardContext&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VCnVFlFm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jht65lvopk2dcuj86ain.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VCnVFlFm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jht65lvopk2dcuj86ain.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Criando Controller:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Cu6qE6li--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nawpxfmury7hu9f56956.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Cu6qE6li--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nawpxfmury7hu9f56956.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Criando Migration:&lt;/p&gt;

&lt;p&gt;Ao criar a tabela do banco pelo (CMD, Powershell.... Os comandos são exigidos para atualizar os dados.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4Gkzr4OP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sckw4gef1qljpe9o3r4v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4Gkzr4OP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sckw4gef1qljpe9o3r4v.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2BtCN1Og--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/knbd2mon40a2qi0ya9yp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2BtCN1Og--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/knbd2mon40a2qi0ya9yp.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4bVSmfbG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/103m8i08pgjso00vnbnq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4bVSmfbG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/103m8i08pgjso00vnbnq.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NaxpcRqE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ywire8twk02nid8uk6p9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NaxpcRqE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ywire8twk02nid8uk6p9.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Criando Program.cs:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ws4j34Ss--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q68t7tv4dxa3o0pt92vr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ws4j34Ss--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q68t7tv4dxa3o0pt92vr.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Criando Startup.cs:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RQFd32FL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wwn9m6zuhn342bin1etc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RQFd32FL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wwn9m6zuhn342bin1etc.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZZ5vEa4_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jocnn9zfllegx311uyjz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZZ5vEa4_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jocnn9zfllegx311uyjz.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Em appsettings.json incluir, para o banco:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FnWp3qeV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nf8xeu4o4ahpdjmvdqql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FnWp3qeV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nf8xeu4o4ahpdjmvdqql.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Após a finalização os novos dados gerados vão alimentar a tabela criada. Além irá informar ao usuário todos os cartões gerados pelo e-mail.&lt;/p&gt;

&lt;p&gt;Agradecimentos pelo desafio lançado por #VaiVoa. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://vaivoa.com/"&gt;https://vaivoa.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/company/vaivoa/"&gt;https://www.linkedin.com/company/vaivoa/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>csharp</category>
    </item>
    <item>
      <title>4 - Código(Formulário Update)</title>
      <dc:creator>Gustavo Souza</dc:creator>
      <pubDate>Sat, 27 Mar 2021 23:11:52 +0000</pubDate>
      <link>https://dev.to/gustavo_theodoro/4-codigo-formulario-update-50cn</link>
      <guid>https://dev.to/gustavo_theodoro/4-codigo-formulario-update-50cn</guid>
      <description>&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/Gustavo-Maxsuel/embed/dyNXGKR?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
    </item>
    <item>
      <title>3 - Código(Formulário)</title>
      <dc:creator>Gustavo Souza</dc:creator>
      <pubDate>Sat, 27 Mar 2021 20:18:36 +0000</pubDate>
      <link>https://dev.to/gustavo_theodoro/3-codigo-formulario-1jgd</link>
      <guid>https://dev.to/gustavo_theodoro/3-codigo-formulario-1jgd</guid>
      <description>&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/Gustavo-Maxsuel/embed/mdREJJG?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
    </item>
    <item>
      <title>2 - Código(Conversor de Moedas).</title>
      <dc:creator>Gustavo Souza</dc:creator>
      <pubDate>Wed, 24 Mar 2021 01:50:57 +0000</pubDate>
      <link>https://dev.to/gustavo_theodoro/2-codigo-conversor-de-moedas-226l</link>
      <guid>https://dev.to/gustavo_theodoro/2-codigo-conversor-de-moedas-226l</guid>
      <description>&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/Gustavo-Maxsuel/embed/VwPYgPv?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
    </item>
    <item>
      <title>1 - Código (Tx Exchange and Calculator).</title>
      <dc:creator>Gustavo Souza</dc:creator>
      <pubDate>Wed, 24 Mar 2021 01:47:17 +0000</pubDate>
      <link>https://dev.to/gustavo_theodoro/1-codigo-tx-exchange-and-calculator-3p1o</link>
      <guid>https://dev.to/gustavo_theodoro/1-codigo-tx-exchange-and-calculator-3p1o</guid>
      <description>&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/Gustavo-Maxsuel/embed/rNjNvrZ?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
    </item>
  </channel>
</rss>
