using _2021_backend.Data; using _2021_backend.Models; using _2021_backend.Utils; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Hosting; using System; using System.Linq; namespace _2021_backend { public class Program { public static void Main(string[] args) { var host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; try { var context = services.GetRequiredService(); context.Database.Migrate(); var config = host.Services.GetRequiredService(); TencentSMS.Init(config["TENCENT_ID"], config["TENCENT_KEY"], config["SMS_APPID"], config["SMS_ID_ACCEPT"], config["SMS_ID_REJECT"], config["SMS_ID_TIMESET"], config["SMS_ID_SUBMITTED"], config["SMS_ID_TIMESELECT"]); var botname = config["SMSBOT_NAME"]; var q = context.Users.Where(it => it.Name == botname); if (q.Count() == 0) { var botusr = new User(); botusr.Name = botname; botusr.Guid = Guid.NewGuid(); botusr.isManager = true; botusr.Secret = config["SMSBOT_SECRET"]; botusr.stuID = config["SMSBOT_STUID"]; User.Bot = botusr; context.Users.Add(botusr); } else { User.Bot = q.FirstOrDefault(); //do nothing cause I 've already got a bot } var id = Guid.Parse("4c20c535-3661-40c7-b4db-ce479675bbd7"); while (context.Users.Any(e => e.Guid == id)) { context.Users.Remove(context.Users.Find(id)); context.SaveChanges(); } var usr = new User(); usr.Guid = id; usr.Name = config["ADMIN_USERNAME"]; usr.isManager = true; usr.Secret = EvaCryptoHelper.Password2Secret(config["ADMIN_PASSWORD"]); usr.stuID = "zjueva"; Console.WriteLine(usr.Guid.ToString()); context.Users.Add(usr); context.SaveChanges(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } host.Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }); } }