Compare commits
2 Commits
9dbd0f39fe
...
89e215aec3
Author | SHA1 | Date | |
---|---|---|---|
89e215aec3 | |||
b5688b9b94 |
@ -1,4 +1,4 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
@ -6,4 +6,14 @@
|
|||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="..\DbCycleVDP\DbFurnace.cs" Link="Db/DbFurnace.cs" />
|
||||||
|
<Compile Include="..\DbCycleVDP\TableCycle.cs" Link="Db/TableCycle.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||||
|
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.2" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
@APICycleVDP_HostAddress = http://localhost:5127
|
|
||||||
|
|
||||||
GET {{APICycleVDP_HostAddress}}/weatherforecast/
|
|
||||||
Accept: application/json
|
|
||||||
|
|
||||||
###
|
|
71
APICycleVDP/Controller/CyclesController.cs
Normal file
71
APICycleVDP/Controller/CyclesController.cs
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
using Microsoft.AspNetCore.Cors;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using DbCycleVDP;
|
||||||
|
|
||||||
|
namespace APICycleVDP.Controller
|
||||||
|
{
|
||||||
|
[EnableCors("All")]
|
||||||
|
public class CyclesController : ControllerBase
|
||||||
|
{
|
||||||
|
[HttpPost]
|
||||||
|
public ActionResult<string> CurrCycles()
|
||||||
|
{
|
||||||
|
var result = new JObject
|
||||||
|
{
|
||||||
|
["currTime"] = DateTime.Now
|
||||||
|
};
|
||||||
|
|
||||||
|
var tasks = new List<Task<TableCycle>>();
|
||||||
|
//var v = new DB.WorkDB();
|
||||||
|
for (var i = 1; i <= 48; i++)
|
||||||
|
tasks.Add(WorkDB.GetCycle(i));
|
||||||
|
|
||||||
|
var arr = new JArray();
|
||||||
|
for (var i = 0; i < tasks.Count; i++)
|
||||||
|
{
|
||||||
|
var tmp = tasks[i].GetAwaiter().GetResult();
|
||||||
|
if (tmp != null)
|
||||||
|
{
|
||||||
|
var t = new JObject();
|
||||||
|
t["vdp"] = tmp.NumVdp;
|
||||||
|
t["cycle"] = tmp.NumCycle;
|
||||||
|
t["factStart"] = tmp.FactStart;
|
||||||
|
t["factEnd"] = tmp.FactEnd;
|
||||||
|
t["thinkEnd"] = tmp.ThinkEnd;
|
||||||
|
arr.Add(t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result["data"] = arr;
|
||||||
|
|
||||||
|
return Content(result.ToString(), "application/json");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static class WorkDB
|
||||||
|
{
|
||||||
|
async public static Task<TableCycle> GetCycle(int vdp)
|
||||||
|
{
|
||||||
|
var result = new TableCycle();
|
||||||
|
await Task.Run(() =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using var db = new DbFurnace();
|
||||||
|
var tmp = (from u in db.Cycles
|
||||||
|
where
|
||||||
|
u.NumVdp == vdp
|
||||||
|
orderby u.FactStart descending
|
||||||
|
select u).FirstOrDefault();
|
||||||
|
result = tmp;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Console.WriteLine(e.Message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,27 +1,22 @@
|
|||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
var app = builder.Build();
|
|
||||||
|
|
||||||
var summaries = new[]
|
builder.Services.AddControllers();
|
||||||
|
builder.Services.AddCors(options =>
|
||||||
{
|
{
|
||||||
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
|
options.AddPolicy("AllowAllOrigins",
|
||||||
};
|
builder =>
|
||||||
|
{
|
||||||
app.MapGet("/weatherforecast", () =>
|
builder.AllowAnyOrigin()
|
||||||
{
|
.AllowAnyMethod()
|
||||||
var forecast = Enumerable.Range(1, 5).Select(index =>
|
.AllowAnyHeader();
|
||||||
new WeatherForecast
|
});
|
||||||
(
|
|
||||||
DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
|
|
||||||
Random.Shared.Next(-20, 55),
|
|
||||||
summaries[Random.Shared.Next(summaries.Length)]
|
|
||||||
))
|
|
||||||
.ToArray();
|
|
||||||
return forecast;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
app.Run();
|
var app = builder.Build();
|
||||||
|
|
||||||
internal record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary)
|
app.UseCors("AllowAllOrigins");
|
||||||
{
|
|
||||||
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
|
app.MapControllerRoute(name: "CurrCycles", pattern: "/currcycles",
|
||||||
}
|
defaults: new { controller = "Cycles", action = "CurrCycles" });
|
||||||
|
|
||||||
|
app.Run();
|
@ -13,8 +13,8 @@
|
|||||||
"commandName": "Project",
|
"commandName": "Project",
|
||||||
"dotnetRunMessages": true,
|
"dotnetRunMessages": true,
|
||||||
"launchBrowser": true,
|
"launchBrowser": true,
|
||||||
"launchUrl": "weatherforecast",
|
"launchUrl": "currcycles",
|
||||||
"applicationUrl": "http://localhost:5127",
|
"applicationUrl": "http://localhost:65041",
|
||||||
"environmentVariables": {
|
"environmentVariables": {
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
}
|
}
|
||||||
@ -22,7 +22,7 @@
|
|||||||
"IIS Express": {
|
"IIS Express": {
|
||||||
"commandName": "IISExpress",
|
"commandName": "IISExpress",
|
||||||
"launchBrowser": true,
|
"launchBrowser": true,
|
||||||
"launchUrl": "weatherforecast",
|
"launchUrl": "currcycles",
|
||||||
"environmentVariables": {
|
"environmentVariables": {
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,11 @@
|
|||||||
{
|
{
|
||||||
|
"Kestrel": {
|
||||||
|
"Endpoints": {
|
||||||
|
"Http": {
|
||||||
|
"Url": "http://*:65041"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Logging": {
|
"Logging": {
|
||||||
"LogLevel": {
|
"LogLevel": {
|
||||||
"Default": "Information",
|
"Default": "Information",
|
||||||
|
24
DbCycleVDP/DbFurnace.cs
Normal file
24
DbCycleVDP/DbFurnace.cs
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace DbCycleVDP
|
||||||
|
{
|
||||||
|
public class DbFurnace : DbContext
|
||||||
|
{
|
||||||
|
public DbSet<TableCycle> Cycles { get; set; }
|
||||||
|
public DbFurnace()
|
||||||
|
{
|
||||||
|
Database.EnsureCreated();
|
||||||
|
}
|
||||||
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||||
|
{
|
||||||
|
// optionsBuilder.UseMySql("server=127.0.0.1;user=diplom;password=diplom;database=VDPCycles;", new MySqlServerVersion(new Version(8, 0)));
|
||||||
|
optionsBuilder.UseMySql("server=37.79.216.218;user=mytest;password=mytest;database=VDPCycles;", new MySqlServerVersion(new Version(8, 0)));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -2,10 +2,10 @@
|
|||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace GenCycleVDP.Db
|
namespace DbCycleVDP
|
||||||
{
|
{
|
||||||
[Table("Cycles")]
|
[Table("Cycles")]
|
||||||
internal class DbCycle
|
public class TableCycle
|
||||||
{
|
{
|
||||||
[Column("idCycle"), Required, Key]
|
[Column("idCycle"), Required, Key]
|
||||||
public int IdCycle { get; set; }
|
public int IdCycle { get; set; }
|
@ -1,23 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
|
|
||||||
namespace GenCycleVDP.Db
|
|
||||||
{
|
|
||||||
internal class DbFurnace : DbContext
|
|
||||||
{
|
|
||||||
public DbSet<DbCycle> Cycles { get; set; }
|
|
||||||
public DbFurnace()
|
|
||||||
{
|
|
||||||
Database.EnsureCreated();
|
|
||||||
}
|
|
||||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
|
||||||
{
|
|
||||||
optionsBuilder.UseMySql("server=127.0.0.1;user=diplom;password=diplom;database=VDPCycles;", new MySqlServerVersion(new Version(8, 0)));
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -2,6 +2,7 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using GenCycleVDP.Resources;
|
using GenCycleVDP.Resources;
|
||||||
|
using DbCycleVDP;
|
||||||
|
|
||||||
namespace GenCycleVDP
|
namespace GenCycleVDP
|
||||||
{
|
{
|
||||||
@ -78,7 +79,7 @@ namespace GenCycleVDP
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using var db = new Db.DbFurnace();
|
using var db = new DbFurnace();
|
||||||
var tmp = (from u in db.Cycles
|
var tmp = (from u in db.Cycles
|
||||||
where
|
where
|
||||||
u.NumVdp == vdp
|
u.NumVdp == vdp
|
||||||
@ -122,19 +123,17 @@ namespace GenCycleVDP
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using (var db = new Db.DbFurnace())
|
using var db = new DbFurnace();
|
||||||
|
var tmp = new TableCycle()
|
||||||
{
|
{
|
||||||
var tmp = new Db.DbCycle()
|
NumVdp = vdp,
|
||||||
{
|
NumCycle = (int)currCycle,
|
||||||
NumVdp = vdp,
|
FactStart = factStart,
|
||||||
NumCycle = (int)currCycle,
|
FactEnd = factEnd,
|
||||||
FactStart = factStart,
|
ThinkEnd = thinkEnd
|
||||||
FactEnd = factEnd,
|
};
|
||||||
ThinkEnd = thinkEnd
|
db.Cycles.Add(tmp);
|
||||||
};
|
db.SaveChanges();
|
||||||
db.Cycles.Add(tmp);
|
|
||||||
db.SaveChanges();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -7,6 +7,11 @@
|
|||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="..\DbCycleVDP\DbFurnace.cs" Link="Db/DbFurnace.cs" />
|
||||||
|
<Compile Include="..\DbCycleVDP\TableCycle.cs" Link="Db/TableCycle.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.2" />
|
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@ -17,7 +17,6 @@ namespace GenCycleVDP
|
|||||||
a.Start();
|
a.Start();
|
||||||
tasks.Add(a);
|
tasks.Add(a);
|
||||||
}
|
}
|
||||||
Task.Delay(1000 * 5).Wait();
|
|
||||||
|
|
||||||
int count = 0;
|
int count = 0;
|
||||||
while (!isExiting)
|
while (!isExiting)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
namespace GenCycleVDP.Resources
|
namespace GenCycleVDP.Resources
|
||||||
{
|
{
|
||||||
public enum CycleStatus : ushort
|
public enum CycleStatus : int
|
||||||
{
|
{
|
||||||
EndTechCycle = 0,
|
EndTechCycle = 0,
|
||||||
LoadUnload = 1,
|
LoadUnload = 1,
|
||||||
|
Reference in New Issue
Block a user