修复了一些bug

This commit is contained in:
luolangaga 2024-08-11 00:16:14 +08:00
parent bc396e5029
commit b46b944f5a
12 changed files with 1247 additions and 124 deletions

View File

@ -1,5 +1,4 @@
using asg_form.Model;
using Manganese.Array;
using Manganese.Array;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
@ -111,7 +110,7 @@ namespace asg_form.Controllers
{
public long Id { get; set; }
public form form { get; set; }
public T_events events { get; set; }
public Events.T_events events { get; set; }
public string msg { get; set; }
}

View File

@ -1,6 +1,5 @@

using asg_form.Controllers.Store;
using asg_form.Model;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.DataEncryption;
@ -36,7 +35,7 @@ namespace asg_form.Controllers
builder.Property(e => e.team_password).IsRequired();
builder.Property(e => e.time).IsRequired();
builder.Property(e => e.piaoshu).IsRequired();
builder.HasOne<T_events>(c => c.events).WithMany(a => a.forms).IsRequired();
builder.HasOne<Events.T_events>(c => c.events).WithMany(a => a.forms).IsRequired();
}
}
@ -64,11 +63,20 @@ namespace asg_form.Controllers
{
public void Configure(EntityTypeBuilder<StoreinfoDB> builder)
{
builder.ToTable("F_Store");
builder.ToTable("T_Storeinfo");
builder.HasOne<StoreDB>(c => c.Store).WithMany(a => a.buyer).IsRequired();
}
}
class STORConfig : IEntityTypeConfiguration<StoreDB>
{
public void Configure(EntityTypeBuilder<StoreDB> builder)
{
builder.ToTable("T_Store");
}
}
class newsConfig : IEntityTypeConfiguration<T_news>
{
@ -120,9 +128,9 @@ namespace asg_form.Controllers
builder.HasOne<schedule.team_game>(e => e.team).WithMany(o=>o.logs).IsRequired();
}
}
class EventsConfig : IEntityTypeConfiguration<T_events>
class EventsConfig : IEntityTypeConfiguration<Events.T_events>
{
public void Configure(EntityTypeBuilder<T_events> builder)
public void Configure(EntityTypeBuilder<Events.T_events> builder)
{
builder.ToTable("F_events");
builder.Property(e => e.Id).IsRequired();
@ -162,10 +170,22 @@ namespace asg_form.Controllers
}
}
class configConfig : IEntityTypeConfiguration<T_config>
{
public void Configure(EntityTypeBuilder<T_config> builder)
{
builder.ToTable("T_Config");
builder.Property(e => e.Id).IsRequired();
builder.Property(a => a.Title);
builder.Property(a => a.msg);
builder.Property(e => e.Substance);
}
}
class TestDbContext : DbContext
{
@ -176,12 +196,14 @@ namespace asg_form.Controllers
public DbSet<blog.blog_db> blogs { get; set; }
public DbSet<schedule.schedule_log> schlogs { get; set; }
public DbSet<schedule.team_game> team_Games { get; set; }
public DbSet<T_events> events { get; set; }
public DbSet<Events.T_events> events { get; set; }
public DbSet<Champion.T_Champion> Champions { get; set; }
public DbSet<comform.com_form> com_Forms { get; set; }
public DbSet<T_Friend> T_Friends { get; set; }
public DbSet<StoreDB> T_Store { get; set; }
public DbSet<StoreinfoDB> T_Storeinfo { get; set; }
public DbSet<T_config> T_config { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
@ -197,6 +219,7 @@ namespace asg_form.Controllers
}
public class IDBcontext : IdentityDbContext<User, Role, long>
{
public DbSet<User> users { get; set; }

View File

@ -1,5 +1,4 @@
using asg_form.Model;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using System.Security.Claims;
@ -7,8 +6,7 @@ using static asg_form.Controllers.excel;
namespace asg_form.Controllers
{
public class Events:ControllerBase
public class Events : ControllerBase
{
private readonly RoleManager<Role> roleManager;
private readonly UserManager<User> userManager;
@ -25,16 +23,26 @@ namespace asg_form.Controllers
/// </summary>
/// <returns></returns>
// [Authorize]
[Route("api/v1/Events")]
[HttpGet]
// [ResponseCache(Duration = 260)]
public async Task<ActionResult<List<T_events>>> Getallevent()
// [ResponseCache(Duration = 260)]
public async Task<ActionResult<object>> Getallevent(bool get_poem = false)
{
TestDbContext testDbContext = new TestDbContext();
var Event= testDbContext.events.ToList();
return Event;
object Event = new object();
if (get_poem)
{
Event = testDbContext.events.Select(a => new { a.Id, a.is_over, a.opentime, a.name, a.promChart }).ToList();
}
else
{
Event = testDbContext.events.Select(a => new { a.Id, a.is_over, a.opentime, a.name }).ToList();
}
return Event;
}
/// <summary>
/// 发布新赛事
@ -43,16 +51,16 @@ namespace asg_form.Controllers
[Authorize]
[Route("api/v1/admin/Events")]
[HttpPost]
public async Task<ActionResult<List<T_events>>> Postevent(T_events events, [FromBody]string rule_markdown)
public async Task<ActionResult<List<T_events>>> Postevent([FromBody] events_get events)
{
TestDbContext testDbContext = new TestDbContext();
await testDbContext.events.AddAsync(new T_events { name = events.name, is_over = events.is_over, opentime = events.opentime ,events_rule_uri= new Uri($"https://124.223.35.239/doc/rule/{events.name}.md") });
await testDbContext.events.AddAsync(new T_events { name = events.name, is_over = events.is_over, opentime = events.opentime, events_rule_uri = new Uri($"https://124.223.35.239/doc/rule/{events.name}.md") });
System.IO.Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + $"loge/{events.name}");
System.IO.File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory+ $"doc/rule/{events.name}.md", rule_markdown);
System.IO.File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + $"doc/rule/{events.name}.md", events.rule_markdown);
await testDbContext.SaveChangesAsync();
return Ok("添加成功!");
}
/// <summary>
@ -62,40 +70,40 @@ namespace asg_form.Controllers
[Authorize]
[Route("api/v1/admin/Events")]
[HttpPut]
public async Task<ActionResult<List<T_events>>> putevent(string event_name, [FromBody]T_events events)
public async Task<ActionResult<List<T_events>>> putevent(string event_name, [FromBody] T_events events)
{
if (this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
{
TestDbContext testDb=new TestDbContext();
var eve= testDb.events.FirstOrDefault(a => a.name == event_name);
eve.name=events.name;
eve.opentime=events.opentime;
eve.is_over=events.is_over;
{
TestDbContext testDb = new TestDbContext();
var eve = testDb.events.FirstOrDefault(a => a.name == event_name);
eve.name = events.name;
eve.opentime = events.opentime;
eve.is_over = events.is_over;
await testDb.SaveChangesAsync();
return Ok(eve);
}
return BadRequest(new error_mb { code = 400, message = "没管理员改个P" });
}
}
/// <summary>
/// 删除新赛事
/// </summary>
/// <returns></returns>
[Authorize]
/// <summary>
/// 删除新赛事
/// </summary>
/// <returns></returns>
[Authorize]
[Route("api/v1/admin/Events")]
[HttpDelete]
public async Task<ActionResult<List<T_events>>> Delevent(string event_name)
{
if (this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
{
TestDbContext test=new TestDbContext();
var evernt= test.events.FirstOrDefault(a => a.name == event_name);
TestDbContext test = new TestDbContext();
var evernt = test.events.FirstOrDefault(a => a.name == event_name);
test.Remove(evernt);
await test.SaveChangesAsync();
await test.SaveChangesAsync();
return Ok("删掉了呢");
}
else
@ -103,7 +111,7 @@ namespace asg_form.Controllers
return BadRequest(new error_mb { code = 400, message = "没P管理员隔着装尼玛呢" });
}
}
}
/// <summary>
/// 修改赛事
@ -112,7 +120,7 @@ namespace asg_form.Controllers
[Authorize]
[Route("api/v1/admin/Events_rule")]
[HttpDelete]
public async Task<ActionResult<List<T_events>>> event_rule(string event_name, [FromBody]string rule_markdown)
public async Task<ActionResult<List<T_events>>> event_rule(string event_name, [FromBody] string rule_markdown)
{
if (this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
{
@ -129,7 +137,50 @@ namespace asg_form.Controllers
}
/// <summary>
/// 修改赛程图
/// </summary>
/// <returns></returns>
[Authorize]
[Route("api/v1/admin/poem")]
[HttpPost]
public async Task<ActionResult<List<T_events>>> event_poem(string event_name, [FromBody] string poem_json)
{
if (this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
{
TestDbContext test = new TestDbContext();
var evernt = test.events.FirstOrDefault(a => a.name == event_name);
evernt.promChart = poem_json;
await test.SaveChangesAsync();
return Ok("修改了呢");
}
else
{
return BadRequest(new error_mb { code = 400, message = "没P管理员隔着装尼玛呢" });
}
}
}
public class T_events
{
public int Id { get; set; }
public string? name { get; set; }
public bool? is_over { get; set; }
public DateTime? opentime { get; set; }
public List<form>? forms { get; set; }
public Uri? events_rule_uri { get; set; }
public string? promChart { get; set; }
}
public class events_get
{
public int Id { get; set; }
public string? name { get; set; }
public bool? is_over { get; set; }
public DateTime? opentime { get; set; }
public string rule_markdown { get; set; }
}
}
}

View File

@ -64,7 +64,10 @@ namespace asg_form.Controllers.Store
using (TestDbContext sb = new TestDbContext())
{
var a= await sb.T_Store.FindAsync(storeinfo.id);
a = storeinfo;
a.Name=storeinfo.Name;
a.description=storeinfo.description;
a.information=storeinfo.information;
a.Price=storeinfo.Price;
await sb.SaveChangesAsync();
return Ok(storeinfo);
}
@ -88,7 +91,26 @@ namespace asg_form.Controllers.Store
using (TestDbContext sb = new TestDbContext())
{
var a= sb.T_Store.ToList().GroupBy(a => a.Type);
var a= sb.T_Store.ToList();
return Ok(a);
}
}
[Route("api/v1/Store/Verification")]
[HttpGet]
[Authorize]
public async Task<ActionResult<object>> Verification(long storeinfoid)
{
if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
{
return BadRequest(new error_mb { code = 400, message = "无权访问" });
}
using (TestDbContext sb = new TestDbContext())
{
var a = sb.T_Storeinfo.Find(storeinfoid);
a.isVerification = true;
await sb.SaveChangesAsync();
return Ok(a);
}
}
@ -112,7 +134,7 @@ namespace asg_form.Controllers.Store
}
using (TestDbContext sb = new TestDbContext())
{
var a = new Store_record(null,null);
var a = new all_record();
IQueryable<StoreinfoDB> b;
if (showVerification)
{
@ -124,19 +146,30 @@ namespace asg_form.Controllers.Store
}
if (search_id == null)
{
return Ok(await b.Paginate(pageindex, pagesize).ToListAsync()) ;
a.cout = b.Count();
a.msg = await b.Paginate(pageindex, pagesize).ToListAsync();
}
else
{
return Ok(await b.Where(a=>a.buyerid==search_id).Paginate(pageindex, pagesize).ToListAsync());
a.cout = b.Where(a => a.buyerid == search_id).Count();
a.msg = await b.Where(a => a.buyerid == search_id).Paginate(pageindex, pagesize).ToListAsync();
}
return Ok(a);
}
}
public record Store_record(long? allstort,List<StoreinfoDB>? Storeinfos);
public record buyreq_record(bool iserror, string msg);
public record all_record()
{
public long? cout { get; set; }
public object msg { get; set; }
}
[Route("api/v1/Store/Buy")]
[HttpGet]
[HttpPost]
[Authorize]
public async Task<ActionResult<object>> BuyStore(long storeid)
public async Task<ActionResult<object>> BuyStore([FromBody]long[] storeid)
{
string id = this.User.FindFirst(ClaimTypes.NameIdentifier)!.Value;
var user = await userManager.FindByIdAsync(id);
@ -149,20 +182,28 @@ namespace asg_form.Controllers.Store
using (TestDbContext sb = new TestDbContext())
{
var stort= await sb.T_Store.FindAsync(storeid);
try
List<buyreq_record> bureq = new List<buyreq_record>();
foreach (var item in storeid)
{
user.Integral = cut_value((long)user.Integral,stort.Price);
await userManager.UpdateAsync(user);
await sb.T_Storeinfo.AddAsync(new StoreinfoDB { buyerid = id.ToInt64(), Store = stort });
await sb.SaveChangesAsync();
return Ok("购买成功,请前往背包查看");
}
catch
{
return BadRequest(new error_mb { code = 400, message = $"你的金钱无法满足你完成以下操作" });
var stort = await sb.T_Store.FindAsync(storeid);
try
{
user.Integral = cut_value((long)user.Integral, stort.Price);
await userManager.UpdateAsync(user);
await sb.T_Storeinfo.AddAsync(new StoreinfoDB { buyerid = id.ToInt64(), Store = stort });
await sb.SaveChangesAsync();
bureq.Add(new buyreq_record(false, $"购买{stort.Name}成功"));
}
catch
{
bureq.Add(new buyreq_record(true, $"购买失败,因为余额不足"));
}
}
return Ok(bureq);
}
}
}

View File

@ -21,6 +21,9 @@ using MimeKit;
using MailKit.Net.Smtp;
using Mirai.Net.Utils.Scaffolds;
using Mirai.Net.Sessions.Http.Managers;
using asg_form.Controllers.Store;
using NPOI.SS.Formula.Functions;
using static asg_form.Controllers.Store.Storehttp;
namespace asg_form.Controllers
{
@ -231,55 +234,24 @@ else{
[Route("api/v2/admin/allperson")]
[HttpGet]
[Authorize]
public async Task<ActionResult<post_user_v2>> getalladmin_v2(string? keyword, short page, short page_long = 10)
public async Task<ActionResult<post_user_v2>> getalladmin_v2(string? keyword, short pageindex=1, short pagesize = 10)
{
if (this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
{
List<User> users = new List<User>();
post_user_v2 user = new post_user_v2();
var a = new all_record();
if (keyword == null)
{
int a = userManager.Users.Count();
user.Count = a;
int b = page_long * page;
if (page_long * page > a)
{
b = a;
}
users = userManager.Users.Skip(page_long * page - page_long).Take(page_long).ToList();
a.cout = userManager.Users.Count();
a.msg = await userManager.Users.Paginate(pageindex, pagesize).ToListAsync();
}
else
{
int a = userManager.Users.Where(a => a.UserName.IndexOf(keyword) >= 0 || a.chinaname.IndexOf(keyword) >= 0 || a.Email.IndexOf(keyword) >= 0).Count();
user.Count = a;
int b = page_long * page;
if (page_long * page > a)
{
b = a;
}
users = userManager.Users.Where(a => a.UserName.IndexOf(keyword) >= 0 || a.chinaname.IndexOf(keyword) >= 0 || a.Email.IndexOf(keyword) >= 0).Skip(page_long * page - page_long).Take(page_long).ToList();
a.cout = userManager.Users.Where(a=>a.chinaname==keyword||a.UserName==keyword||a.Email==keyword).Count();
a.msg = await userManager.Users.Where(a => a.chinaname == keyword || a.UserName == keyword || a.Email == keyword).Paginate(pageindex, pagesize).ToListAsync();
}
foreach (var auser in users)
{
bool isadmin = await userManager.IsInRoleAsync(auser, "admin");
var roles = await userManager.GetRolesAsync(auser);
try
{
// user.user.Add(new post_user { id = auser.Id, chinaname = auser.chinaname, name = auser.UserName, isadmin = isadmin, email = auser.Email, Roles = (List<string>)roles, officium = auser.officium, Integral = auser.Integral });
}
catch
{
}
}
return user;
return Ok(a);
}
else

View File

@ -0,0 +1,131 @@
using System.Security.Claims;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace asg_form.Controllers;
public class T_config
{
public int Id { set; get; }
public string Title{ set; get; }
public string Substance{ set; get;}
public string? msg{ set; get; }
}
[ApiController]
[Route("api/[controller]")]
public class config : ControllerBase
{
[Route("api/v1/admin/config")]
[HttpPost]
[Authorize]
public async Task<ActionResult<object>> config_post([FromBody] T_config config)
{
if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
{
return BadRequest(new error_mb { code = 400, message = "无权访问" });
}
using(TestDbContext db=new TestDbContext()){
var config__ = db.T_config.FirstOrDefault(a => a.Id == config.Id);
if (config__==null)
{
db.T_config.Add(config);
await db.SaveChangesAsync();
}
else
{
var config_ = db.T_config.FirstOrDefault(a => a.Id == config.Id);
config_.msg=config.msg;
config_.Substance = config.Substance;
config_.Title = config.Title;
await db.SaveChangesAsync();
}
}
return Ok("添加成功!");
}
[Route("api/v1/admin/config/byTitle")]
[HttpPost]
[Authorize]
public async Task<ActionResult<object>> config_get_title([FromBody] string title)
{
if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
{
return BadRequest(new error_mb { code = 400, message = "无权访问" });
}
using (TestDbContext db = new TestDbContext())
{
var config = db.T_config.FirstOrDefault(a => a.Title == title);
return Ok(config.Substance);
}
}
[Route("api/v1/admin/config")]
[HttpDelete]
[Authorize]
public async Task<ActionResult<object>> config_get_title(int Id)
{
if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
{
return BadRequest(new error_mb { code = 400, message = "无权访问" });
}
using (TestDbContext db = new TestDbContext())
{
var config = db.T_config.FirstOrDefault(a => a.Id==Id);
db.Remove(config);
await db.SaveChangesAsync();
return Ok("成功!");
}
}
[Route("api/v1/admin/config/all")]
[HttpGet]
[Authorize]
public async Task<ActionResult<object>> config_get_all(short page, short page_long = 10)
{
if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
{
return BadRequest(new error_mb { code = 400, message = "无权访问" });
}
using (TestDbContext db = new TestDbContext())
{
int a = db.T_config.Count();
int b = page_long * page;
if (page_long * page > a)
{
b = a;
}
object config = db.T_config.Skip(page_long * page - page_long).Take(page_long).ToList();
return Ok(config);
}
}
}

View File

@ -1,6 +1,5 @@
using asg_form.Controllers.Hubs;
using asg_form.Model;
using Manganese.Text;
using Masuit.Tools;
using Masuit.Tools.Win32.AntiVirus;
@ -440,7 +439,7 @@ namespace asg_form.Controllers
public string team_password { get; set; }
public string team_tel { get; set; }
public string logo_uri { get; set; }
public T_events events { get; set; }
public Events.T_events events { get; set; }
// public string? belong { get; set; }
public List<role> role { get; set; } = new List<role>();
}

View File

@ -0,0 +1,818 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using asg_form.Controllers;
#nullable disable
namespace asg_form.Migrations
{
[DbContext(typeof(IDBcontext))]
[Migration("20240810122803_newstore")]
partial class newstore
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<long>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ClaimType")
.HasColumnType("nvarchar(max)");
b.Property<string>("ClaimValue")
.HasColumnType("nvarchar(max)");
b.Property<long>("RoleId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<long>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ClaimType")
.HasColumnType("nvarchar(max)");
b.Property<string>("ClaimValue")
.HasColumnType("nvarchar(max)");
b.Property<long>("UserId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<long>", b =>
{
b.Property<string>("LoginProvider")
.HasColumnType("nvarchar(450)");
b.Property<string>("ProviderKey")
.HasColumnType("nvarchar(450)");
b.Property<string>("ProviderDisplayName")
.HasColumnType("nvarchar(max)");
b.Property<long>("UserId")
.HasColumnType("bigint");
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<long>", b =>
{
b.Property<long>("UserId")
.HasColumnType("bigint");
b.Property<long>("RoleId")
.HasColumnType("bigint");
b.HasKey("UserId", "RoleId");
b.HasIndex("RoleId");
b.ToTable("AspNetUserRoles", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<long>", b =>
{
b.Property<long>("UserId")
.HasColumnType("bigint");
b.Property<string>("LoginProvider")
.HasColumnType("nvarchar(450)");
b.Property<string>("Name")
.HasColumnType("nvarchar(450)");
b.Property<string>("Value")
.HasColumnType("nvarchar(max)");
b.HasKey("UserId", "LoginProvider", "Name");
b.ToTable("AspNetUserTokens", (string)null);
});
modelBuilder.Entity("asg_form.Controllers.Champion+T_Champion", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
b.Property<int>("eventsId")
.HasColumnType("int");
b.Property<long>("formId")
.HasColumnType("bigint");
b.Property<string>("msg")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("eventsId");
b.HasIndex("formId");
b.ToTable("F_Champion", (string)null);
});
modelBuilder.Entity("asg_form.Controllers.Store.StoreDB", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<string>("Name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<long>("Price")
.HasColumnType("bigint");
b.Property<string>("Type")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("description")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("information")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("id");
b.ToTable("T_Store", (string)null);
});
modelBuilder.Entity("asg_form.Controllers.Store.StoreinfoDB", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<long>("Storeid")
.HasColumnType("bigint");
b.Property<long>("buyerid")
.HasColumnType("bigint");
b.Property<bool>("isVerification")
.HasColumnType("bit");
b.HasKey("id");
b.HasIndex("Storeid");
b.ToTable("T_Storeinfo", (string)null);
});
modelBuilder.Entity("asg_form.Controllers.T_Friend", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<string>("account")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("comMsg")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("comTime")
.HasColumnType("datetime2");
b.Property<string>("comType")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("degree")
.HasColumnType("int");
b.Property<string>("headName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("headTel")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("orgName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("id");
b.ToTable("F_Friend", (string)null);
});
modelBuilder.Entity("asg_form.Controllers.T_news", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
b.Property<string>("FormName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Title")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("msg")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<DateTime?>("time")
.IsRequired()
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("F_news", (string)null);
});
modelBuilder.Entity("asg_form.Controllers.comform+com_form", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
b.Property<string>("Com_Cocial_media")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Com_Email")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Com_qq")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("UserId")
.HasColumnType("int");
b.Property<string>("idv_id")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("introduction")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("F_ComForm", (string)null);
});
modelBuilder.Entity("asg_form.Controllers.form", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
b.Property<int>("eventsId")
.HasColumnType("int");
b.Property<string>("logo_uri")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("piaoshu")
.HasColumnType("int");
b.Property<string>("team_name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("team_password")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("team_tel")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("time")
.HasColumnType("datetime2");
b.HasKey("Id");
b.HasIndex("eventsId");
b.ToTable("F_form", (string)null);
});
modelBuilder.Entity("asg_form.Controllers.role", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
b.Property<string>("Common_Roles")
.HasColumnType("nvarchar(max)");
b.Property<string>("Game_Name")
.HasColumnType("nvarchar(max)");
b.Property<int?>("Historical_Ranks")
.HasColumnType("int");
b.Property<string>("Id_Card")
.HasColumnType("nvarchar(max)");
b.Property<string>("Id_Card_Name")
.HasColumnType("nvarchar(max)");
b.Property<string>("Phone_Number")
.HasColumnType("nvarchar(max)");
b.Property<long>("formId")
.HasColumnType("bigint");
b.Property<string>("role_id")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("role_lin")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("role_name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("formId");
b.ToTable("F_role", (string)null);
});
modelBuilder.Entity("asg_form.Controllers.schedule+schedule_log", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
b.Property<string>("chickteam")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<long>("teamid")
.HasColumnType("bigint");
b.Property<string>("userid")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<bool?>("win")
.HasColumnType("bit");
b.HasKey("Id");
b.HasIndex("teamid");
b.ToTable("F_achlog", (string)null);
});
modelBuilder.Entity("asg_form.Controllers.schedule+team_game", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<string>("belong")
.HasColumnType("nvarchar(max)");
b.Property<string>("bilibiliuri")
.HasColumnType("nvarchar(max)");
b.Property<string>("commentary")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("opentime")
.HasColumnType("datetime2");
b.Property<string>("referee")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("tag")
.HasColumnType("nvarchar(max)");
b.Property<string>("team1_name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("team1_piaoshu")
.HasColumnType("int");
b.Property<string>("team2_name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("team2_piaoshu")
.HasColumnType("int");
b.Property<string>("winteam")
.HasColumnType("nvarchar(max)");
b.HasKey("id");
b.ToTable("F_game", (string)null);
});
modelBuilder.Entity("asg_form.Model.T_events", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("events_rule_uri")
.HasColumnType("nvarchar(max)");
b.Property<bool?>("is_over")
.HasColumnType("bit");
b.Property<string>("name")
.HasColumnType("nvarchar(max)");
b.Property<DateTime?>("opentime")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("F_events", (string)null);
});
modelBuilder.Entity("asg_form.Role", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("nvarchar(max)");
b.Property<string>("Name")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("NormalizedName")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("msg")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("NormalizedName")
.IsUnique()
.HasDatabaseName("RoleNameIndex")
.HasFilter("[NormalizedName] IS NOT NULL");
b.ToTable("AspNetRoles", (string)null);
});
modelBuilder.Entity("asg_form.User", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
b.Property<int>("AccessFailedCount")
.HasColumnType("int");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2");
b.Property<string>("Email")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<bool>("EmailConfirmed")
.HasColumnType("bit");
b.Property<long?>("Integral")
.HasColumnType("bigint");
b.Property<bool>("LockoutEnabled")
.HasColumnType("bit");
b.Property<DateTimeOffset?>("LockoutEnd")
.HasColumnType("datetimeoffset");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("NormalizedUserName")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("PasswordHash")
.HasColumnType("nvarchar(max)");
b.Property<string>("PhoneNumber")
.HasColumnType("nvarchar(max)");
b.Property<bool>("PhoneNumberConfirmed")
.HasColumnType("bit");
b.Property<string>("SecurityStamp")
.HasColumnType("nvarchar(max)");
b.Property<bool>("TwoFactorEnabled")
.HasColumnType("bit");
b.Property<string>("UserBase64")
.HasColumnType("nvarchar(max)");
b.Property<string>("UserName")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("chinaname")
.HasColumnType("nvarchar(max)");
b.Property<long?>("haveformId")
.HasColumnType("bigint");
b.Property<bool?>("isbooking")
.HasColumnType("bit");
b.Property<string>("officium")
.HasColumnType("nvarchar(max)");
b.Property<int>("point")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("NormalizedEmail")
.HasDatabaseName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
.HasDatabaseName("UserNameIndex")
.HasFilter("[NormalizedUserName] IS NOT NULL");
b.HasIndex("haveformId");
b.ToTable("AspNetUsers", (string)null);
});
modelBuilder.Entity("asg_form.blog+blog_db", b =>
{
b.Property<long>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("ID"));
b.Property<string>("formuser")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("msg")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("pushtime")
.HasColumnType("datetime2");
b.Property<string>("title")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("ID");
b.ToTable("F_blog", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<long>", b =>
{
b.HasOne("asg_form.Role", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<long>", b =>
{
b.HasOne("asg_form.User", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<long>", b =>
{
b.HasOne("asg_form.User", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<long>", b =>
{
b.HasOne("asg_form.Role", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("asg_form.User", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<long>", b =>
{
b.HasOne("asg_form.User", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("asg_form.Controllers.Champion+T_Champion", b =>
{
b.HasOne("asg_form.Model.T_events", "events")
.WithMany()
.HasForeignKey("eventsId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("asg_form.Controllers.form", "form")
.WithMany()
.HasForeignKey("formId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("events");
b.Navigation("form");
});
modelBuilder.Entity("asg_form.Controllers.Store.StoreinfoDB", b =>
{
b.HasOne("asg_form.Controllers.Store.StoreDB", "Store")
.WithMany("buyer")
.HasForeignKey("Storeid")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Store");
});
modelBuilder.Entity("asg_form.Controllers.form", b =>
{
b.HasOne("asg_form.Model.T_events", "events")
.WithMany("forms")
.HasForeignKey("eventsId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("events");
});
modelBuilder.Entity("asg_form.Controllers.role", b =>
{
b.HasOne("asg_form.Controllers.form", "form")
.WithMany("role")
.HasForeignKey("formId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("form");
});
modelBuilder.Entity("asg_form.Controllers.schedule+schedule_log", b =>
{
b.HasOne("asg_form.Controllers.schedule+team_game", "team")
.WithMany("logs")
.HasForeignKey("teamid")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("team");
});
modelBuilder.Entity("asg_form.User", b =>
{
b.HasOne("asg_form.Controllers.form", "haveform")
.WithMany()
.HasForeignKey("haveformId");
b.Navigation("haveform");
});
modelBuilder.Entity("asg_form.Controllers.Store.StoreDB", b =>
{
b.Navigation("buyer");
});
modelBuilder.Entity("asg_form.Controllers.form", b =>
{
b.Navigation("role");
});
modelBuilder.Entity("asg_form.Controllers.schedule+team_game", b =>
{
b.Navigation("logs");
});
modelBuilder.Entity("asg_form.Model.T_events", b =>
{
b.Navigation("forms");
});
#pragma warning restore 612, 618
}
}
}

View File

@ -0,0 +1,104 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace asg_form.Migrations
{
/// <inheritdoc />
public partial class newstore : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_F_Store_StoreDB_Storeid",
table: "F_Store");
migrationBuilder.DropPrimaryKey(
name: "PK_StoreDB",
table: "StoreDB");
migrationBuilder.DropPrimaryKey(
name: "PK_F_Store",
table: "F_Store");
migrationBuilder.RenameTable(
name: "StoreDB",
newName: "T_Store");
migrationBuilder.RenameTable(
name: "F_Store",
newName: "T_Storeinfo");
migrationBuilder.RenameIndex(
name: "IX_F_Store_Storeid",
table: "T_Storeinfo",
newName: "IX_T_Storeinfo_Storeid");
migrationBuilder.AddPrimaryKey(
name: "PK_T_Store",
table: "T_Store",
column: "id");
migrationBuilder.AddPrimaryKey(
name: "PK_T_Storeinfo",
table: "T_Storeinfo",
column: "id");
migrationBuilder.AddForeignKey(
name: "FK_T_Storeinfo_T_Store_Storeid",
table: "T_Storeinfo",
column: "Storeid",
principalTable: "T_Store",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_T_Storeinfo_T_Store_Storeid",
table: "T_Storeinfo");
migrationBuilder.DropPrimaryKey(
name: "PK_T_Storeinfo",
table: "T_Storeinfo");
migrationBuilder.DropPrimaryKey(
name: "PK_T_Store",
table: "T_Store");
migrationBuilder.RenameTable(
name: "T_Storeinfo",
newName: "F_Store");
migrationBuilder.RenameTable(
name: "T_Store",
newName: "StoreDB");
migrationBuilder.RenameIndex(
name: "IX_T_Storeinfo_Storeid",
table: "F_Store",
newName: "IX_F_Store_Storeid");
migrationBuilder.AddPrimaryKey(
name: "PK_F_Store",
table: "F_Store",
column: "id");
migrationBuilder.AddPrimaryKey(
name: "PK_StoreDB",
table: "StoreDB",
column: "id");
migrationBuilder.AddForeignKey(
name: "FK_F_Store_StoreDB_Storeid",
table: "F_Store",
column: "Storeid",
principalTable: "StoreDB",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
}
}
}

View File

@ -181,7 +181,7 @@ namespace asg_form.Migrations
b.HasKey("id");
b.ToTable("StoreDB");
b.ToTable("T_Store", (string)null);
});
modelBuilder.Entity("asg_form.Controllers.Store.StoreinfoDB", b =>
@ -205,7 +205,7 @@ namespace asg_form.Migrations
b.HasIndex("Storeid");
b.ToTable("F_Store", (string)null);
b.ToTable("T_Storeinfo", (string)null);
});
modelBuilder.Entity("asg_form.Controllers.T_Friend", b =>

View File

@ -1,16 +0,0 @@
using asg_form.Controllers;
namespace asg_form.Model
{
public class T_events
{
public int Id { get; set; }
public string? name { get; set; }
public bool? is_over { get; set; }
public DateTime? opentime { get; set; }
public List<form>? forms { get; set; }
public Uri? events_rule_uri { get; set; }
}
}

View File

@ -51,6 +51,7 @@
<ItemGroup>
<Folder Include="Controllers\PlayerC\" />
<Folder Include="Model\" />
</ItemGroup>
</Project>