
//Código
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World 5!");
app.MapPost("/", () => new {Name = "Stephany Batista", Age = 35});
app.MapGet("/AddHeader", (HttpResponse response) => {
response.Headers.Add("Teste", "Stephany Batista");
return new {Name = "Stephany Batista", Age = 35};
});
app.Run();
//Código
public static class ProductRepository {
public static List<Product> Products { get; set; }
public static void Add(Product product) {
if(Products == null)
Products = new List<Product>();
Products.Add(product);
}
public static Product GetBy(string code) {
return Products.FirstOrDefault(p => p.Code == code);
}
public static void Remove(Product product) {
Products.Remove(product);
}
}
public class Product {
public string Code { get; set; }
public string Name { get; set; }
}
//Código
app.MapPost("/saveproduct", (Product product) => {
ProductRepository.Add(product);
});
app.MapGet("/getproduct/{code}", ([FromRoute] string code) => {
var product = ProductRepository.GetBy(code);
return product;
});
//Código
app.MapPut("/editproduct", (Product product) => {
var productSaved = ProductRepository.GetBy(product.Code);
productSaved.Name = product.Name;
});
//Código
app.MapDelete("/deleteproduct/{code}", ([FromRoute] string code) => {
var productSaved = ProductRepository.GetBy(code);
ProductRepository.Remove(productSaved);
});
//Code
app.MapPost("/products", (Product product) => {
ProductRepository.Add(product);
});
app.MapGet("/products/{code}", ([FromRoute] string code) => {
var product = ProductRepository.GetBy(code);
return product;
});
app.MapPut("/products", (Product product) => {
var productSaved = ProductRepository.GetBy(product.Code);
productSaved.Name = product.Name;
});
app.MapDelete("/products/{code}", ([FromRoute] string code) => {
var productSaved = ProductRepository.GetBy(code);
ProductRepository.Remove(productSaved);
});
//Code
app.MapPost("/products", (Product product) => {
ProductRepository.Add(product);
return Results.Created($"/products/{product.Code}", product.Code);
});
app.MapGet("/products/{code}", ([FromRoute] string code) => {
var product = ProductRepository.GetBy(code);
if(product != null)
return Results.Ok(product);
return Results.NotFound();
});
app.MapPut("/products", (Product product) => {
var productSaved = ProductRepository.GetBy(product.Code);
productSaved.Name = product.Name;
return Results.Ok();
});
app.MapDelete("/products/{code}", ([FromRoute] string code) => {
var productSaved = ProductRepository.GetBy(code);
ProductRepository.Remove(productSaved);
return Results.Ok();
});
https://docs.microsoft.com/pt-br/sql/linux/quickstart-install-connect-docker?view=sql-server-ver15&pivots=cs1-bash
//Code
docker pull mcr.microsoft.com/mssql/server:2019-latest
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=@Sql2019" -p 1433:1433 --name sqlserver -h sql1 -d mcr.microsoft.com/mssql/server:2019-latest
//Code
public class ApplicationDbContext : DbContext {
public DbSet<Product> Products { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlServer(
"Server=localhost;Database=Products;User Id=sa;Password=@Sql2019;MultipleActiveResultSets=true;Encrypt=YES;TrustServerCertificate=YES");
}
//Code
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<ApplicationDbContext>();
//Code
builder.Entity<Product>()
.Property(p => p.Description).HasMaxLength(500).IsRequired(false);
builder.Entity<Product>()
.Property(p => p.Name).HasMaxLength(120).IsRequired();
builder.Entity<Product>()
.Property(p => p.Code).HasMaxLength(20).IsRequired();
//Code
builder.Entity<Category>().ToTable("ProductCategory");
builder.Entity<Category>().Property(c => c.Name).HasMaxLength(20).IsRequired();
builder.Entity<Product>().HasOne(p => p.Category).WithOne().HasForeignKey<Product>("CategoryId").IsRequired();
//Code
builder.Entity<Product>().HasMany(p => p.Tags).WithOne().HasForeignKey("ProductId").IsRequired();
dotnet tool install --global dotnet-outdated-tool
dotnet outdated --upgraded
//Code
builder.Services.AddSqlServer<ApplicationDbContext>(builder.Configuration["Database:SqlServer"]);
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) {}
//Code
public record ProductRequest(
string Code, string Name, string Description, int CategoryId, List<string> Tags
);
Quer aprender o que há de novo nessa plataforma? Aqui é o lugar certo.
.NET 6 é o novo framework open-source e cross-platform para construir aplicações modernas. Essa stack de desenvolvimento tem uma melhor performance sobre a plataforma anterior e pode ser desenvolvida a partir de qualquer editor de código fonte e em qualquer sistema operacional.
O .NET 6 trouxe várias novidades, tornando mais simples a criação de um aplicativo WEB.
Que tal aprender uma plataforma que tem se mostrado mais performática que NodeJS ou Java? Sim, essa é a chance.
Meu nome é Stephany Henrique e já sou instrutor na Udemy a quase 5 anos, e consegui ensinar a mais de 7.000 alunos, tendo como resultado uma nova muito positiva em todos os meus cursos.
Nesse curso você irá aprender todas as mudanças que aconteceram na nova plataforma de Microsoft e ainda ensinará para o aluno:
Mudanças
Como configurar uma aplicação web
API REST
Entity Framework
Identity
Dapper
Construindo uma aplicação
Qualquer desenvolvedor e de qualquer linguagem irá conseguir usufruir desse curso por que o mesmo foi pensado para aquele que nunca viu a plataforma da Microsoft. E se você somente trabalha com .NET Full Framework também não pode ficar fora dessa, essa é a hora de se atualizar e larga mão daquele projeto legado que você não aguenta mais da manutenção.
Se você almeja entrar naquela super empresa ou ser melhor remunerado, não pode deixar essa oportunidade passar. O Microsoft .NET é uma das stack de desenvolvimento mais utilizadas em todo o mundo. Várias empresas buscam profissionais qualificados para atuarem em seus projetos e você pode fazer parte dessa lista.