This commit is contained in:
@@ -1,7 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using System.Security.Claims;
|
|
||||||
using rockfishCore.Models;
|
using rockfishCore.Models;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -27,37 +25,14 @@ namespace rockfishCore.Controllers
|
|||||||
|
|
||||||
|
|
||||||
//Fetch list of trial requests
|
//Fetch list of trial requests
|
||||||
[HttpGet("requests")]
|
|
||||||
public ActionResult GetRequests()
|
|
||||||
{
|
|
||||||
var ret=ct.trialre
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
|
||||||
// STORED Trial KEY CRUD ROUTES
|
|
||||||
//
|
|
||||||
|
|
||||||
//case 3233 Get api/Trial/list a list of generated Trials
|
|
||||||
[HttpGet("list")]
|
[HttpGet("list")]
|
||||||
public IEnumerable<dtoTrialListItem> GetList()
|
public async Task<IActionResult> GetRequestsAsync()
|
||||||
{
|
{
|
||||||
var res = from c in ct.Trial.OrderByDescending(c => c.DtCreated)
|
var ret = await ct.TrialRequest.AsNoTracking().OrderByDescending(z => z.DtRequested).ToListAsync();
|
||||||
select new dtoTrialListItem
|
return Ok(ret);
|
||||||
{
|
|
||||||
id = c.Id,
|
|
||||||
created = c.DtCreated,
|
|
||||||
regto = c.RegTo,
|
|
||||||
fetched = c.Fetched,
|
|
||||||
trial = (c.CustomerId==0)
|
|
||||||
};
|
|
||||||
return res.ToList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//case 3233 GET: api/Trial/5
|
//case 3233 GET: api/Trial/5
|
||||||
[HttpGet("{id}")]
|
[HttpGet("{id}")]
|
||||||
public async Task<IActionResult> GetTrial([FromRoute] long id)
|
public async Task<IActionResult> GetTrial([FromRoute] long id)
|
||||||
@@ -67,45 +42,12 @@ namespace rockfishCore.Controllers
|
|||||||
return BadRequest(ModelState);
|
return BadRequest(ModelState);
|
||||||
}
|
}
|
||||||
|
|
||||||
var l = await ct.Trial.SingleOrDefaultAsync(m => m.Id == id);
|
var ret = await ct.TrialRequest.AsNoTracking().SingleOrDefaultAsync(m => m.Id == id);
|
||||||
|
if (ret == null)
|
||||||
if (l == null)
|
|
||||||
{
|
{
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
}
|
||||||
|
|
||||||
string customerName = "<TRIAL>";
|
|
||||||
|
|
||||||
if (l.CustomerId != 0)
|
|
||||||
{
|
|
||||||
if (ct.Customer.Any(e => e.Id == l.CustomerId))
|
|
||||||
{
|
|
||||||
|
|
||||||
var cust = await ct.Customer
|
|
||||||
.Select(r => new { r.Id, r.Name })
|
|
||||||
.Where(r => r.Id == l.CustomerId)
|
|
||||||
.FirstAsync();
|
|
||||||
customerName=cust.Name;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
customerName = "< Customer " + l.CustomerId.ToString() + " not found (deleted?) >";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var ret = new
|
|
||||||
{
|
|
||||||
regTo = l.RegTo,
|
|
||||||
customerName = customerName,
|
|
||||||
dtcreated = l.DtCreated,
|
|
||||||
email = l.Email,
|
|
||||||
code = l.Code,
|
|
||||||
fetched = l.Fetched,
|
|
||||||
dtfetched = l.DtFetched,
|
|
||||||
fetchFrom = l.FetchFrom,
|
|
||||||
key = l.Key
|
|
||||||
};
|
|
||||||
|
|
||||||
return Ok(ret);
|
return Ok(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,42 +56,31 @@ namespace rockfishCore.Controllers
|
|||||||
public async Task<IActionResult> DeleteTrial([FromRoute] long id)
|
public async Task<IActionResult> DeleteTrial([FromRoute] long id)
|
||||||
{
|
{
|
||||||
if (!ModelState.IsValid)
|
if (!ModelState.IsValid)
|
||||||
{
|
|
||||||
return BadRequest(ModelState);
|
return BadRequest(ModelState);
|
||||||
}
|
var rec = await ct.TrialRequest.SingleOrDefaultAsync(m => m.Id == id);
|
||||||
|
|
||||||
var rec = await ct.Trial.SingleOrDefaultAsync(m => m.Id == id);
|
|
||||||
if (rec == null)
|
if (rec == null)
|
||||||
{
|
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
ct.TrialRequest.Remove(rec);
|
||||||
|
|
||||||
ct.Trial.Remove(rec);
|
|
||||||
await ct.SaveChangesAsync();
|
await ct.SaveChangesAsync();
|
||||||
|
|
||||||
return Ok(rec);
|
return Ok(rec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// PUT: api/Trial/5/true
|
// PUT: api/TrialRequest/5
|
||||||
//Update a Trial and set it's fetched property only
|
[HttpPut("{id}")]
|
||||||
//used by client to make a Trial fetchable or not ad-hoc
|
public async Task<IActionResult> PutTrialRequest([FromRoute] long id, [FromBody] TrialRequest TrialRequest)
|
||||||
[HttpPut("fetched/{id}/{isFetched}")]
|
|
||||||
public async Task<IActionResult> PutTrialFetched([FromRoute] long id, [FromRoute] bool isFetched)
|
|
||||||
{
|
{
|
||||||
if (!ModelState.IsValid)
|
if (!ModelState.IsValid)
|
||||||
{
|
{
|
||||||
return BadRequest(ModelState);
|
return BadRequest(ModelState);
|
||||||
}
|
}
|
||||||
|
|
||||||
var rec = await ct.Trial.SingleOrDefaultAsync(m => m.Id == id);
|
if (id != TrialRequest.Id)
|
||||||
if (rec == null)
|
|
||||||
{
|
{
|
||||||
return NotFound();
|
return BadRequest();
|
||||||
}
|
}
|
||||||
rec.Fetched = isFetched;
|
|
||||||
|
|
||||||
ct.Entry(rec).State = EntityState.Modified;
|
ct.Entry(TrialRequest).State = EntityState.Modified;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -157,7 +88,7 @@ namespace rockfishCore.Controllers
|
|||||||
}
|
}
|
||||||
catch (DbUpdateConcurrencyException)
|
catch (DbUpdateConcurrencyException)
|
||||||
{
|
{
|
||||||
if (!TrialExists(id))
|
if (!await TrialRequestExistsAsync(id))
|
||||||
{
|
{
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
}
|
||||||
@@ -173,24 +104,13 @@ namespace rockfishCore.Controllers
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
private bool TrialExists(long id)
|
|
||||||
|
private async Task<bool> TrialRequestExistsAsync(long id)
|
||||||
{
|
{
|
||||||
return ct.Trial.Any(e => e.Id == id);
|
return await ct.TrialRequest.AnyAsync(e => e.Id == id);
|
||||||
}
|
|
||||||
|
|
||||||
//===================== UTILITY =============
|
|
||||||
private string GetRFAuthorizedUserStamp()
|
|
||||||
{
|
|
||||||
foreach (Claim c in User.Claims)
|
|
||||||
{
|
|
||||||
if (c.Type == "id")
|
|
||||||
{
|
|
||||||
return "RFID" + c.Value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return "RFID unknown";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
|
|
||||||
}//eoc
|
}//eoc
|
||||||
|
|||||||
Reference in New Issue
Block a user