APICycleVDP/Diagram-API/DBvdp.cs
Georgy.Khatuncev 242d4bda3e create git sub-module
Prepare repo for use like sub-module in main repo
2024-09-19 01:11:55 +03:00

75 lines
1.7 KiB
C#

using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
namespace Diagram_API.DB
{
public class VdpDB : DbContext
{
public DbSet<DB.Cycle> Cycles { get; set; }
public VdpDB()
{
Database.EnsureCreated();
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySql("server=127.0.0.1;user=diplom;password=diplom;database=VDPCycles;");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
}
}
[Table("Cycles")]
public class Cycle
{
[Column("idCycle"), Required, Key]
public int IdCycle { get; set; }
[Column("numVdp")]
public int NumVdp { get; set; }
[Column("numCycle")]
public int NumCycle { get; set; }
[Column("factStart")]
public DateTime FactStart { get; set; }
[Column("thinkEnd")]
public DateTime ThinkEnd { get; set; }
[Column("factEnd")]
public DateTime FactEnd { get; set; }
}
public static class WorkDB
{
async public static Task<Cycle> GetCycle(int vdp)
{
var result = new Cycle();
await Task.Run(() =>
{
try
{
using (var db = new DB.VdpDB())
{
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;
}
}
}