You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.5 KiB
C#
43 lines
1.5 KiB
C#
using cugoj_ng_server.Models;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace cugoj_ng_server.Controllers
|
|
{
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class ApplicationFormController : ControllerBase
|
|
{
|
|
[Route("Get"), HttpGet]
|
|
public async Task<ActionResult<ApplicationForm>> GetAsync()
|
|
{
|
|
var user = HttpContext.Session.GetString("user");
|
|
if (string.IsNullOrEmpty(user))
|
|
return Unauthorized();
|
|
var form = await UserModel.GetApplicationFormAsync(user);
|
|
if (form == null) return NoContent();
|
|
return Ok(form);
|
|
}
|
|
[Route("Save"), HttpPost]
|
|
public async Task<IActionResult> SaveAsync([FromBody] ApplicationForm form)
|
|
{
|
|
var user = HttpContext.Session.GetString("user");
|
|
if (string.IsNullOrEmpty(user))
|
|
return Unauthorized();
|
|
form.UserId = user;
|
|
return Ok(await UserModel.SetApplicationFormAsync(form));
|
|
}
|
|
|
|
[Route("Submit"), HttpPost]
|
|
public async Task<IActionResult> SubmitAsync([FromBody] ApplicationForm form)
|
|
{
|
|
var user = HttpContext.Session.GetString("user");
|
|
if (string.IsNullOrEmpty(user))
|
|
return Unauthorized();
|
|
form.UserId = user;
|
|
if (!form.Validate())
|
|
return BadRequest();
|
|
return Ok(await UserModel.SetApplicationFormAsync(form));
|
|
}
|
|
}
|
|
}
|