Simplificando o básico de C#

Índice

1. Declarando e inicializando Strings
2. Data Annotations
3. Ordem dos passos básicos para codar.
4- Entendimento de Componentes HMTL C#
5- Listas List<T>


initial

1. Declarando e inicializando Strings
O tipo de dados string é o tipo mais utilizado por um programador, segue abaixo alguns exemplos de como utiliza-lo.


// Declare without initializing.
string message1;


// Initialize to null.
string message2 = null;

// Initialize as an empty string.
// Use the Empty constant instead of the literal "".
string message3 = System.String.Empty;

// Initialize with a regular string literal.
string oldPath = "c:\\Program Files\\Microsoft Visual Studio 8.0";

// Initialize with a verbatim string literal.
string newPath = @"c:\Program Files\Microsoft Visual Studio 9.0";

// Use System.String if you prefer.
System.String greeting = "Hello World!";

// In local variables (i.e. within a method body)
// you can use implicit typing.
var temp = "I'm still a strongly-typed System.String!";


// Use a const string to prevent 'message4' from
// being used to store another string value.
const string message4 = "You can't get rid of me!";


// Use the String constructor only when creating
// a string from a char*, char[], or sbyte*. See
// System.String documentation for details.
char[] letters = { 'A', 'B', 'C' };
string alphabet = new string(letters);


2. Data Annotations
Data Annotation é uma técnica utilizada no desenvolvimento de aplicações web ASP.NET para validar e controlar os dados que são inseridos ou exibidos em uma aplicação contém um endereço de e-mail válido.
É utilizado nas classes do model alguns exemplos abaixo.

Alguns exemplos de atributos de Data Annotation incluem:
Key: Indica que o campo é a chave primária da tabela no ORM.
Required: Indica que um campo é obrigatório, ou seja, não pode ser deixado em branco.
Display: Permite personalizar o rótulo exibido para o campo em uma view.
Column: O nome da coluna, o tipo de dados e outras configurações específicas do banco de dados estão sendo definidos através desse atributo.
StringLength: Define os limites mínimo e máximo de comprimento para um campo de texto.
RegularExpression: Especifica uma expressão regular que o valor do campo deve corresponder.
Range: Define um intervalo numérico válido para um campo numérico.
DataType: Especifica o tipo de dado esperado para o campo, como data, hora, número etc.
EmailAddress: Valida se um campo contém um endereço de e-mail válido.

public class Linhas
{
[Key]
[Display(Name = "Código")]
[Column("Codlin", TypeName = "Varchar(6)")]
public string Codlin { get; set; }


[Display(Name = "Nome")]
[Column("Nome", TypeName = "Varchar(60)")]
public string Nome { get; set; }



[Display(Name = "UF")]
[Column("Uf", TypeName = "Varchar(2)")]
public string Uf { get; set; }
}


3. Passos básicos para codar.

  1. Criar a classe Model.
  2. Classe Controller
  3. Classe View

Partindo desse pressuposto, vamos colocar notas iniciando de cada passo.


Assuntos para aprofundar-se

Entity FrameWork Core : Ferramenta para mapear relacionamentos de tabelas de banco de dados.
Bootstrap: Biblioteca HTML, Css e Js, usada para simplificar o desenvolvimento web,

estudar ficheiro launchSettings.json da pasta propriedades
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:2439",
"sslPort": 44335
}
},
"profiles": {
"LojistaNet": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7225;http://localhost:5255",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}


Ligação do Controller e View
1. Cria o controller
No controller que vai ter os códigos das regras do negócios.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;

namespace MvcApplication1.Controllers
{
public class ProductController : Controller
{
//
// GET: /Products/
public ActionResult Index()
{
// Add action logic here
return View();
}
}
}

Importante: Cada controle está ligado as suas view, e precisa ter a pasta com o nome do controller e os ficheiros views com o nomes dos ActionResult


4- Entendimento Componentes HMTL C#
Esse item dá uma visão de como interagir a linguagem de marcação HTML com o C#

a) Botão a melhor convenção 
Essa é a maneira como deve-se usar botões em MVC

<a class="btn btn-primary" role="button">Adicionar novo cliente</a>

Importante: porque no c# para o botão se utiliza a tag <a>? porque o componente button não funciona a chamada da rota tipo; asp-controle="Home" asp-action="Index"


Esse exemplo da tag div abaixo serve como container para ficar melhor a responsividade.
<div class="d-grid gap-2 d-md-flex justify-content-md-start"> <!-- esse div com essa class joga para o inicio da página a esquerda se adapta melhor.
       <a class="btn btn-primary" 
</div>

b) Comandos na class do bootstrap
Esses comando são atribuídos para classe tipo exemplo abaixo:
<a class="btn-block" role="button".....

btn-block : ocupa a tela toda ou seja pega margem direita a esquerda a altura não mexe, ou seja responsividade.


Espaço : pular uma linha
<br/>



c) Variavel temporária - como trabalhar com sessão
Esse tipo de variável só pode ser vista na mesma página, para ser utilizada em outras páginas precisa utilizar uma sessão.

Entrada
TempData["login"] = login;


Saída
string login = (string) TempData["login"];


5. Listas List<T>
Um modelo de uma lista estática.

Model Class
public class TipoDeSistemas {
[Key]
public int Id { get; set; }
[Required]
public string
Descricao { get; set; }
}


public ActionResult ViewBagComDropdown()
{
List<TipoDeSistemas> lista = new List<TipoDeSistemas>()
{
new TipoDeSistemas { Id = 1, Descricao = "a" },
new TipoDeSistemas { Id = 2, Descricao = "b" },
new TipoDeSistemas { Id = 3, Descricao = "c" }
};
ViewBag.SistemasComerciais = lista;
return View();
}

Comentários

Postagens mais visitadas deste blog

Testes unitários com Delphi - DUnit