新增從大暪口紀錄數據
This commit is contained in:
parent
f58be7970d
commit
53287bb390
123
WebApi_data_value/Controllers/Yuntech_in_car_tableController.cs
Normal file
123
WebApi_data_value/Controllers/Yuntech_in_car_tableController.cs
Normal file
@ -0,0 +1,123 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using WebApi_data_value.Models;
|
||||
using WebApi_data_value.Services;
|
||||
using WebApi_data_value.ViewModel;
|
||||
|
||||
namespace WebApi_data_value.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class Yuntech_in_car_tableController : ControllerBase
|
||||
{
|
||||
private readonly SqlContext _context;
|
||||
|
||||
public Yuntech_in_car_tableController(SqlContext context)
|
||||
{
|
||||
_context = context;
|
||||
}
|
||||
|
||||
// GET: api/Yuntech_in_car_table
|
||||
[HttpGet]
|
||||
public async Task<ActionResult<IEnumerable<Yuntech_in_car_table>>> Getyuntech_in_car_table()
|
||||
{
|
||||
var in_car_table = await (from c in _context.yuntech_in_car_table
|
||||
orderby c.in_time descending
|
||||
select new Yuntech_in_car_table
|
||||
{
|
||||
license_plate_number = c.license_plate_number,
|
||||
in_time = c.in_time,
|
||||
out_time = c.out_time,
|
||||
location = c.location,
|
||||
}
|
||||
).ToListAsync();
|
||||
|
||||
|
||||
return in_car_table;
|
||||
}
|
||||
|
||||
|
||||
#region 獲取進入的單獨地區的所有資料
|
||||
// GET: api/Yuntech_in_car_table/5
|
||||
[HttpGet("location-{id}")]
|
||||
public async Task<IEnumerable<Yuntech_in_car_table>> GetYuntech_in_car_table(string id)
|
||||
{
|
||||
var in_car_table = await (from c in _context.yuntech_in_car_table
|
||||
where c.location == id
|
||||
orderby c.in_time descending
|
||||
select new Yuntech_in_car_table
|
||||
{
|
||||
license_plate_number = c.license_plate_number,
|
||||
in_time = c.in_time,
|
||||
out_time = c.out_time,
|
||||
location = c.location,
|
||||
}
|
||||
).ToListAsync();
|
||||
|
||||
|
||||
return in_car_table;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 獲取進入的單獨地區的所有資料
|
||||
// GET: api/Yuntech_in_car_table/5
|
||||
[HttpGet("location-{id}-time-{time}")]
|
||||
public async Task<ActionResult<Yuntech_in_car_table>> One_data(string id, DateTime time)
|
||||
{
|
||||
var in_car_table = await (from c in _context.yuntech_in_car_table
|
||||
where c.location == id
|
||||
where c.in_time == time
|
||||
select c).FirstAsync();
|
||||
|
||||
|
||||
return in_car_table;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
|
||||
// POST: api/Yuntech_in_car_table
|
||||
// To protect from overposting attacks, see https://go.microsoft.com/fwlink/?linkid=2123754
|
||||
[HttpPost]
|
||||
public async Task<ActionResult<Yuntech_in_car_table>> PostYuntech_in_car_table(Yuntech_in_car_table yuntech_in_car_table)
|
||||
{
|
||||
if (_context.yuntech_in_car_table == null)
|
||||
{
|
||||
return Problem("Entity set 'SqlContext.yuntech_in_car_table' is null.");
|
||||
}
|
||||
_context.yuntech_in_car_table.Add(yuntech_in_car_table);
|
||||
try
|
||||
{
|
||||
yuntech_in_car_table.in_time = DateTime.Now;
|
||||
yuntech_in_car_table.out_time = null;
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
catch (DbUpdateException)
|
||||
{
|
||||
if (Yuntech_in_car_tableExists(yuntech_in_car_table.in_time))
|
||||
{
|
||||
return Conflict();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
return CreatedAtAction("GetYuntech_in_car_table", new { id = yuntech_in_car_table.in_time }, yuntech_in_car_table);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private bool Yuntech_in_car_tableExists(DateTime? id)
|
||||
{
|
||||
return (_context.yuntech_in_car_table?.Any(e => e.in_time == id)).GetValueOrDefault();
|
||||
}
|
||||
}
|
||||
}
|
11
WebApi_data_value/Models/Yuntech_in_car_table.cs
Normal file
11
WebApi_data_value/Models/Yuntech_in_car_table.cs
Normal file
@ -0,0 +1,11 @@
|
||||
namespace WebApi_data_value.Models
|
||||
{
|
||||
public class Yuntech_in_car_table
|
||||
{
|
||||
public string? license_plate_number { get; set; }
|
||||
public string? car_img { get; set; }
|
||||
public string? location { get; set; }
|
||||
public DateTime? in_time { get; set; }
|
||||
public DateTime? out_time { get; set; }
|
||||
}
|
||||
}
|
@ -17,8 +17,8 @@ builder.Services.AddCors();
|
||||
builder.Services.AddControllers();
|
||||
|
||||
// 連線PostgreSQL資料庫
|
||||
//var connectionString = "Server=140.125.20.183;UserID=postgres;password=EL404el404;Database=postgres;port=5432;Search Path=public;CommandTimeout=1800";
|
||||
var connectionString = "Server=127.0.0.1;UserID=postgres;password=EL404el404;Database=postgres;port=5432;Search Path=public;CommandTimeout=1800";
|
||||
var connectionString = "Server=140.125.20.183;UserID=postgres;password=EL404el404;Database=postgres;port=5432;Search Path=public;CommandTimeout=1800";
|
||||
//var connectionString = "Server=127.0.0.1;UserID=postgres;password=EL404el404;Database=postgres;port=5432;Search Path=public;CommandTimeout=1800";
|
||||
builder.Services.AddDbContext<SqlContext>(opt => opt.UseNpgsql(connectionString));
|
||||
|
||||
|
||||
|
@ -46,6 +46,9 @@ namespace WebApi_data_value.Services
|
||||
// 演算法
|
||||
public DbSet<Parking_space_algorithm> parking_space_algorithm { get; set; } = null!;
|
||||
|
||||
//大門口
|
||||
public DbSet<Yuntech_in_car_table> yuntech_in_car_table { get; set; } = null!;
|
||||
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder builder)
|
||||
{
|
||||
@ -71,6 +74,7 @@ namespace WebApi_data_value.Services
|
||||
|
||||
builder.Entity<Parking_space_algorithm>().HasKey(o => new { o.algorithm_serial_num }); //Primary Key
|
||||
|
||||
builder.Entity<Yuntech_in_car_table>().HasKey(o => new { o.in_time }); //Primary Key
|
||||
}
|
||||
|
||||
|
||||
|
@ -22,6 +22,7 @@
|
||||
<PackageReference Include="JWT" Version="10.0.2" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.7" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="6.0.7" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.26" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.4" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.4">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
|
Loading…
Reference in New Issue
Block a user