using EnertechWebAPI.Data; using EnertechWebAPI.Models; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using System.Formats.Asn1; namespace EnertechWebAPI.Controllers { [Route("api/[controller]")] [ApiController] //[Authorize] public class EnertechUserController : ControllerBase { private readonly DataContext _context; public EnertechUserController(DataContext context) { _context = context; } [HttpGet] public async Task>> GetEnertechUser() { return Ok(await _context.EnertechUsers.ToListAsync()); } [HttpGet("{username}")] public async Task> GetEnertechUser(string username) { var dbUser = await _context.EnertechUsers.FindAsync(username); if (dbUser == null) return BadRequest("User Not Found."); return Ok(dbUser); } [HttpPost] public async Task>> CreateEnertechUser(EnertechUser user) { //Dashboard dash = new Dashboard(); //dash.userId = user.userId; //dash.EnertechUser = user; //user.Dashboard = dash; _context.EnertechUsers.Add(user); //_context.Dashboard.Add(dash); await _context.SaveChangesAsync(); return Ok(await _context.EnertechUsers.ToListAsync()); } [HttpPut] public async Task>> UpdateEnertechUser(EnertechUser user) { var dbUser = await _context.EnertechUsers.FindAsync(user.userId); if (dbUser == null) return BadRequest("User Not Found."); dbUser.FirstName = user.FirstName; dbUser.LastName = user.LastName; await _context.SaveChangesAsync(); return Ok(await _context.EnertechUsers.ToListAsync()); } [HttpPut("{amount}")] public async Task>> UpdateEnertechUser(EnertechUser user, int amount) { var dbUser = await _context.EnertechUsers.FindAsync(user.userId); if (dbUser == null) return BadRequest("User Not Found."); dbUser.FirstName = user.FirstName; dbUser.LastName = user.LastName; dbUser.Balance = user.Balance + amount; await _context.SaveChangesAsync(); return Ok(await _context.EnertechUsers.ToListAsync()); } [HttpDelete("{id}")] public async Task>> DeleteEnertechUser(int id) { var dbUser = await _context.EnertechUsers.FindAsync(id); if (dbUser == null) return BadRequest("User Not Found."); _context.EnertechUsers.Remove(dbUser); await _context.SaveChangesAsync(); return Ok(await _context.EnertechUsers.ToListAsync()); } } }