// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2) .AddJsonOptions(opts => { opts.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Utc; opts.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); }); services.AddCors(); services.AddDbContext <KanjiDbContext>(opts => { opts.UseNpgsql(KanjiDbContext.GetDefaultConnectionString()); }); services.Configure <ApiBehaviorOptions>(opts => { opts.InvalidModelStateResponseFactory = context => new BadRequestObjectResult( ApiResponse.CreateUnsuccessful(ErrorMessages.InvalidInput)); }); }
static void Main(string[] args) { DatabaseContext = KanjiDbContext.CreateDefaultContext(); Connection = (NpgsqlConnection)DatabaseContext.Database.GetDbConnection(); Connection.Open(); StructurePattern = new Regex(@"\[(.*?)\]"); KanjiDict = new Dictionary <string, Kanji>(); string sourcePath = GetArgument(args, "-s"); sourcePath = sourcePath == null ? "data.txt" : sourcePath; if (args.Contains("-t")) { TruncateAll(); } else if (args.Contains("-tp")) { TruncateParts(); } if (args.Contains("--skip-file")) { Console.WriteLine("Skip importing from file"); } else { ReadData(sourcePath); } ExecuteParts(); Console.Write("Closing connection..."); Connection.Close(); Console.WriteLine("Finished!"); Console.WriteLine("\nProcess finished!"); }
public KanjiController(KanjiDbContext database) { Database = database; }