Skip to content

Commit 859287b

Browse files
committed
feat: Configurações iniciais do Identity e modelos, incluindo correções de mapeamento e nulabilidade.
1 parent 3edf6af commit 859287b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+6095
-82
lines changed
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Threading.Tasks;
5+
using Microsoft.AspNetCore.Mvc;
6+
using Microsoft.AspNetCore.Mvc.Rendering;
7+
using Microsoft.EntityFrameworkCore;
8+
using RyujinBites.Data;
9+
using RyujinBites.Models.Lanchonete;
10+
11+
namespace RyujinBites.Controllers
12+
{
13+
public class AdministradorsController : Controller
14+
{
15+
private readonly ApplicationDbContext _context;
16+
17+
public AdministradorsController(ApplicationDbContext context)
18+
{
19+
_context = context;
20+
}
21+
22+
// GET: Administradors
23+
public async Task<IActionResult> Index()
24+
{
25+
var applicationDbContext = _context.Administradores.Include(a => a.ApplicationUser);
26+
return View(await applicationDbContext.ToListAsync());
27+
}
28+
29+
// GET: Administradors/Details/5
30+
public async Task<IActionResult> Details(string id)
31+
{
32+
if (id == null)
33+
{
34+
return NotFound();
35+
}
36+
37+
var administrador = await _context.Administradores
38+
.Include(a => a.ApplicationUser)
39+
.FirstOrDefaultAsync(m => m.AdministradorId == id);
40+
if (administrador == null)
41+
{
42+
return NotFound();
43+
}
44+
45+
return View(administrador);
46+
}
47+
48+
// GET: Administradors/Create
49+
public IActionResult Create()
50+
{
51+
ViewData["AdministradorId"] = new SelectList(_context.Users, "Id", "Id");
52+
return View();
53+
}
54+
55+
// POST: Administradors/Create
56+
// To protect from overposting attacks, enable the specific properties you want to bind to.
57+
// For more details, see http://go.microsoft.com/fwlink/?LinkId=317598.
58+
[HttpPost]
59+
[ValidateAntiForgeryToken]
60+
public async Task<IActionResult> Create([Bind("AdministradorId,Cargo,DataContratacao")] Administrador administrador)
61+
{
62+
if (ModelState.IsValid)
63+
{
64+
_context.Add(administrador);
65+
await _context.SaveChangesAsync();
66+
return RedirectToAction(nameof(Index));
67+
}
68+
ViewData["AdministradorId"] = new SelectList(_context.Users, "Id", "Id", administrador.AdministradorId);
69+
return View(administrador);
70+
}
71+
72+
// GET: Administradors/Edit/5
73+
public async Task<IActionResult> Edit(string id)
74+
{
75+
if (id == null)
76+
{
77+
return NotFound();
78+
}
79+
80+
var administrador = await _context.Administradores.FindAsync(id);
81+
if (administrador == null)
82+
{
83+
return NotFound();
84+
}
85+
ViewData["AdministradorId"] = new SelectList(_context.Users, "Id", "Id", administrador.AdministradorId);
86+
return View(administrador);
87+
}
88+
89+
// POST: Administradors/Edit/5
90+
// To protect from overposting attacks, enable the specific properties you want to bind to.
91+
// For more details, see http://go.microsoft.com/fwlink/?LinkId=317598.
92+
[HttpPost]
93+
[ValidateAntiForgeryToken]
94+
public async Task<IActionResult> Edit(string id, [Bind("AdministradorId,Cargo,DataContratacao")] Administrador administrador)
95+
{
96+
if (id != administrador.AdministradorId)
97+
{
98+
return NotFound();
99+
}
100+
101+
if (ModelState.IsValid)
102+
{
103+
try
104+
{
105+
_context.Update(administrador);
106+
await _context.SaveChangesAsync();
107+
}
108+
catch (DbUpdateConcurrencyException)
109+
{
110+
if (!AdministradorExists(administrador.AdministradorId))
111+
{
112+
return NotFound();
113+
}
114+
else
115+
{
116+
throw;
117+
}
118+
}
119+
return RedirectToAction(nameof(Index));
120+
}
121+
ViewData["AdministradorId"] = new SelectList(_context.Users, "Id", "Id", administrador.AdministradorId);
122+
return View(administrador);
123+
}
124+
125+
// GET: Administradors/Delete/5
126+
public async Task<IActionResult> Delete(string id)
127+
{
128+
if (id == null)
129+
{
130+
return NotFound();
131+
}
132+
133+
var administrador = await _context.Administradores
134+
.Include(a => a.ApplicationUser)
135+
.FirstOrDefaultAsync(m => m.AdministradorId == id);
136+
if (administrador == null)
137+
{
138+
return NotFound();
139+
}
140+
141+
return View(administrador);
142+
}
143+
144+
// POST: Administradors/Delete/5
145+
[HttpPost, ActionName("Delete")]
146+
[ValidateAntiForgeryToken]
147+
public async Task<IActionResult> DeleteConfirmed(string id)
148+
{
149+
var administrador = await _context.Administradores.FindAsync(id);
150+
if (administrador != null)
151+
{
152+
_context.Administradores.Remove(administrador);
153+
}
154+
155+
await _context.SaveChangesAsync();
156+
return RedirectToAction(nameof(Index));
157+
}
158+
159+
private bool AdministradorExists(string id)
160+
{
161+
return _context.Administradores.Any(e => e.AdministradorId == id);
162+
}
163+
}
164+
}
Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Threading.Tasks;
5+
using Microsoft.AspNetCore.Mvc;
6+
using Microsoft.AspNetCore.Mvc.Rendering;
7+
using Microsoft.EntityFrameworkCore;
8+
using RyujinBites.Data;
9+
using RyujinBites.Models.Lanchonete;
10+
11+
namespace RyujinBites.Controllers
12+
{
13+
public class AvaliacaosController : Controller
14+
{
15+
private readonly ApplicationDbContext _context;
16+
17+
public AvaliacaosController(ApplicationDbContext context)
18+
{
19+
_context = context;
20+
}
21+
22+
// GET: Avaliacaos
23+
public async Task<IActionResult> Index()
24+
{
25+
var applicationDbContext = _context.Avaliacoes.Include(a => a.Cliente).Include(a => a.Produto);
26+
return View(await applicationDbContext.ToListAsync());
27+
}
28+
29+
// GET: Avaliacaos/Details/5
30+
public async Task<IActionResult> Details(int? id)
31+
{
32+
if (id == null)
33+
{
34+
return NotFound();
35+
}
36+
37+
var avaliacao = await _context.Avaliacoes
38+
.Include(a => a.Cliente)
39+
.Include(a => a.Produto)
40+
.FirstOrDefaultAsync(m => m.AvaliacaoId == id);
41+
if (avaliacao == null)
42+
{
43+
return NotFound();
44+
}
45+
46+
return View(avaliacao);
47+
}
48+
49+
// GET: Avaliacaos/Create
50+
public IActionResult Create()
51+
{
52+
ViewData["ClienteId"] = new SelectList(_context.Clientes, "ClienteId", "ClienteId");
53+
ViewData["ProdutoId"] = new SelectList(_context.Produtos, "ProdutoId", "Nome");
54+
return View();
55+
}
56+
57+
// POST: Avaliacaos/Create
58+
// To protect from overposting attacks, enable the specific properties you want to bind to.
59+
// For more details, see http://go.microsoft.com/fwlink/?LinkId=317598.
60+
[HttpPost]
61+
[ValidateAntiForgeryToken]
62+
public async Task<IActionResult> Create([Bind("AvaliacaoId,ProdutoId,ClienteId,Pontuacao,Comentario,DataAvaliacao")] Avaliacao avaliacao)
63+
{
64+
if (ModelState.IsValid)
65+
{
66+
_context.Add(avaliacao);
67+
await _context.SaveChangesAsync();
68+
return RedirectToAction(nameof(Index));
69+
}
70+
ViewData["ClienteId"] = new SelectList(_context.Clientes, "ClienteId", "ClienteId", avaliacao.ClienteId);
71+
ViewData["ProdutoId"] = new SelectList(_context.Produtos, "ProdutoId", "Nome", avaliacao.ProdutoId);
72+
return View(avaliacao);
73+
}
74+
75+
// GET: Avaliacaos/Edit/5
76+
public async Task<IActionResult> Edit(int? id)
77+
{
78+
if (id == null)
79+
{
80+
return NotFound();
81+
}
82+
83+
var avaliacao = await _context.Avaliacoes.FindAsync(id);
84+
if (avaliacao == null)
85+
{
86+
return NotFound();
87+
}
88+
ViewData["ClienteId"] = new SelectList(_context.Clientes, "ClienteId", "ClienteId", avaliacao.ClienteId);
89+
ViewData["ProdutoId"] = new SelectList(_context.Produtos, "ProdutoId", "Nome", avaliacao.ProdutoId);
90+
return View(avaliacao);
91+
}
92+
93+
// POST: Avaliacaos/Edit/5
94+
// To protect from overposting attacks, enable the specific properties you want to bind to.
95+
// For more details, see http://go.microsoft.com/fwlink/?LinkId=317598.
96+
[HttpPost]
97+
[ValidateAntiForgeryToken]
98+
public async Task<IActionResult> Edit(int id, [Bind("AvaliacaoId,ProdutoId,ClienteId,Pontuacao,Comentario,DataAvaliacao")] Avaliacao avaliacao)
99+
{
100+
if (id != avaliacao.AvaliacaoId)
101+
{
102+
return NotFound();
103+
}
104+
105+
if (ModelState.IsValid)
106+
{
107+
try
108+
{
109+
_context.Update(avaliacao);
110+
await _context.SaveChangesAsync();
111+
}
112+
catch (DbUpdateConcurrencyException)
113+
{
114+
if (!AvaliacaoExists(avaliacao.AvaliacaoId))
115+
{
116+
return NotFound();
117+
}
118+
else
119+
{
120+
throw;
121+
}
122+
}
123+
return RedirectToAction(nameof(Index));
124+
}
125+
ViewData["ClienteId"] = new SelectList(_context.Clientes, "ClienteId", "ClienteId", avaliacao.ClienteId);
126+
ViewData["ProdutoId"] = new SelectList(_context.Produtos, "ProdutoId", "Nome", avaliacao.ProdutoId);
127+
return View(avaliacao);
128+
}
129+
130+
// GET: Avaliacaos/Delete/5
131+
public async Task<IActionResult> Delete(int? id)
132+
{
133+
if (id == null)
134+
{
135+
return NotFound();
136+
}
137+
138+
var avaliacao = await _context.Avaliacoes
139+
.Include(a => a.Cliente)
140+
.Include(a => a.Produto)
141+
.FirstOrDefaultAsync(m => m.AvaliacaoId == id);
142+
if (avaliacao == null)
143+
{
144+
return NotFound();
145+
}
146+
147+
return View(avaliacao);
148+
}
149+
150+
// POST: Avaliacaos/Delete/5
151+
[HttpPost, ActionName("Delete")]
152+
[ValidateAntiForgeryToken]
153+
public async Task<IActionResult> DeleteConfirmed(int id)
154+
{
155+
var avaliacao = await _context.Avaliacoes.FindAsync(id);
156+
if (avaliacao != null)
157+
{
158+
_context.Avaliacoes.Remove(avaliacao);
159+
}
160+
161+
await _context.SaveChangesAsync();
162+
return RedirectToAction(nameof(Index));
163+
}
164+
165+
private bool AvaliacaoExists(int id)
166+
{
167+
return _context.Avaliacoes.Any(e => e.AvaliacaoId == id);
168+
}
169+
}
170+
}

0 commit comments

Comments
 (0)