commit 30621b350d797b647f9356571dac064a5f40ca7d Author: Pecha Date: Mon Sep 21 20:07:48 2020 +1000 Initial Commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..12a2548 --- /dev/null +++ b/.gitignore @@ -0,0 +1,433 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- Backup*.rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +## +## Visual studio for Mac +## + + +# globs +Makefile.in +*.userprefs +*.usertasks +config.make +config.status +aclocal.m4 +install-sh +autom4te.cache/ +*.tar.gz +tarballs/ +test-results/ + +# Mac bundle stuff +*.dmg +*.app + +# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# JetBrains Rider +.idea/ +*.sln.iml + +## +## Visual Studio Code +## +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..0c08049 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,36 @@ +{ + // Use IntelliSense to find out which attributes exist for C# debugging + // Use hover for the description of the existing attributes + // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md + "version": "0.2.0", + "configurations": [ + { + "name": ".NET Core Launch (web)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + // If you have changed target frameworks, make sure to update the program path. + "program": "${workspaceFolder}/bin/Debug/netcoreapp3.1/usaquote-api.dll", + "args": [], + "cwd": "${workspaceFolder}", + "stopAtEntry": false, + // Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser + "serverReadyAction": { + "action": "openExternally", + "pattern": "\\bNow listening on:\\s+(https?://\\S+)" + }, + "env": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "sourceFileMap": { + "/Views": "${workspaceFolder}/Views" + } + }, + { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach", + "processId": "${command:pickProcess}" + } + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..9d4e3ab --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/usaquote-api.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "publish", + "command": "dotnet", + "type": "process", + "args": [ + "publish", + "${workspaceFolder}/usaquote-api.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "watch", + "command": "dotnet", + "type": "process", + "args": [ + "watch", + "run", + "${workspaceFolder}/usaquote-api.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + } + ] +} \ No newline at end of file diff --git a/Controllers/QuoteController.cs b/Controllers/QuoteController.cs new file mode 100644 index 0000000..769d9de --- /dev/null +++ b/Controllers/QuoteController.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; +using usaquote_api.Data; +using usaquote_api.Models; + +namespace usaquote_api.Controllers{ + [ApiController] + [Route("[controller]")] + public class QuoteController : ControllerBase { + private readonly UsaquoteContext _context; + public QuoteController(UsaquoteContext context) { + _context = context; + } + + [HttpGet] + public async Task> GetQuote() { + int count = _context.Quotes.Count(); + var rnd = new Random(); + var quote = await _context.Quotes.FindAsync(rnd.Next(count)); + return quote; + } + [HttpGet("{speaker}")] + public async Task> GetBySpeaker(string speaker) { + var rnd = new Random(); + var quotelist = _context.Quotes.Where(q => q.speaker == speaker).ToList(); + var quote = quotelist[rnd.Next(quotelist.Count())]; + // var quote = quotelist.First(); + // var x = rnd.Next(quotelist.Count()); + return quote; + } + + } +} \ No newline at end of file diff --git a/Data/UsaquoteContext.cs b/Data/UsaquoteContext.cs new file mode 100644 index 0000000..3d10074 --- /dev/null +++ b/Data/UsaquoteContext.cs @@ -0,0 +1,11 @@ +using Microsoft.EntityFrameworkCore; + + + +namespace usaquote_api.Data { + public class UsaquoteContext : DbContext { + public DbSet Quotes {get; set;} + public UsaquoteContext( + DbContextOptions options): base(options) {} + } +} \ No newline at end of file diff --git a/Migrations/20200920084041_InitialCreate.Designer.cs b/Migrations/20200920084041_InitialCreate.Designer.cs new file mode 100644 index 0000000..dd88dab --- /dev/null +++ b/Migrations/20200920084041_InitialCreate.Designer.cs @@ -0,0 +1,39 @@ +// +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using usaquote_api.Data; + +namespace usaquote_api.Migrations +{ + [DbContext(typeof(UsaquoteContext))] + [Migration("20200920084041_InitialCreate")] + partial class InitialCreate + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "3.1.8"); + + modelBuilder.Entity("usaquote_api.Models.Quote", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("content") + .HasColumnType("TEXT"); + + b.Property("speaker") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("Quotes"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20200920084041_InitialCreate.cs b/Migrations/20200920084041_InitialCreate.cs new file mode 100644 index 0000000..9c7842c --- /dev/null +++ b/Migrations/20200920084041_InitialCreate.cs @@ -0,0 +1,30 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace usaquote_api.Migrations +{ + public partial class InitialCreate : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Quotes", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + speaker = table.Column(nullable: true), + content = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Quotes", x => x.ID); + }); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Quotes"); + } + } +} diff --git a/Migrations/UsaquoteContextModelSnapshot.cs b/Migrations/UsaquoteContextModelSnapshot.cs new file mode 100644 index 0000000..8c3cf64 --- /dev/null +++ b/Migrations/UsaquoteContextModelSnapshot.cs @@ -0,0 +1,37 @@ +// +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using usaquote_api.Data; + +namespace usaquote_api.Migrations +{ + [DbContext(typeof(UsaquoteContext))] + partial class UsaquoteContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "3.1.8"); + + modelBuilder.Entity("usaquote_api.Models.Quote", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("content") + .HasColumnType("TEXT"); + + b.Property("speaker") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("Quotes"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Models/Quote.cs b/Models/Quote.cs new file mode 100644 index 0000000..89e5165 --- /dev/null +++ b/Models/Quote.cs @@ -0,0 +1,7 @@ +namespace usaquote_api.Models { + public class Quote { + public int ID {get; set;} + public string speaker {get; set;} + public string content {get; set;} + } +} \ No newline at end of file diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..3ac1a39 --- /dev/null +++ b/Program.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; + +namespace usaquote_api +{ + public class Program + { + public static void Main(string[] args) + { + CreateHostBuilder(args).Build().Run(); + } + + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(webBuilder => + { + webBuilder.UseStartup(); + }); + } +} diff --git a/Properties/launchSettings.json b/Properties/launchSettings.json new file mode 100644 index 0000000..13f77ea --- /dev/null +++ b/Properties/launchSettings.json @@ -0,0 +1,30 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:28187", + "sslPort": 44312 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "weatherforecast", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "usaquote_api": { + "commandName": "Project", + "launchBrowser": true, + "launchUrl": "weatherforecast", + "applicationUrl": "https://localhost:5001;http://localhost:5000", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/Startup.cs b/Startup.cs new file mode 100644 index 0000000..cd751d1 --- /dev/null +++ b/Startup.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.HttpsPolicy; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; +using usaquote_api.Data; +using Microsoft.EntityFrameworkCore; + +namespace usaquote_api +{ + public class Startup + { + public Startup(IConfiguration configuration) + { + Configuration = configuration; + } + + public IConfiguration Configuration { get; } + + // This method gets called by the runtime. Use this method to add services to the container. + public void ConfigureServices(IServiceCollection services) + { + services.AddControllers(); + services.AddDbContext(options => + options.UseSqlite(Configuration.GetConnectionString("UsaquoteContext")) + ); + } + + // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. + public void Configure(IApplicationBuilder app, IWebHostEnvironment env) + { + if (env.IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + } + + // app.UseHttpsRedirection(); + + app.UseRouting(); + + app.UseEndpoints(endpoints => + { + endpoints.MapControllers(); + }); + } + } +} diff --git a/appsettings.Development.json b/appsettings.Development.json new file mode 100644 index 0000000..dba68eb --- /dev/null +++ b/appsettings.Development.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + } +} diff --git a/appsettings.json b/appsettings.json new file mode 100644 index 0000000..0774a77 --- /dev/null +++ b/appsettings.json @@ -0,0 +1,13 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + }, + "AllowedHosts": "*", + "ConnectionStrings": { + "UsaquoteContext": "Data Source=usaquote.db" + } +} diff --git a/rabbit.txt b/rabbit.txt new file mode 100644 index 0000000..e145ed1 --- /dev/null +++ b/rabbit.txt @@ -0,0 +1,192 @@ +rabbit*Just right. +rabbit*Oh? Is it something? +rabbit*Who are you? +rabbit*?! +rabbit*... which words are not common to . +rabbit*Unreasonableness. +rabbit*I do not want to become it. +rabbit*Snacks ... !! +rabbit*Do not forfeit it. +rabbit*I must control it well. +rabbit*Delicious! +rabbit*Oh, no! Is it OK? +rabbit*Thank you for the delicious meal. +rabbit*Shall I come back to the house? +rabbit*Why is it interference? +rabbit*Yes, I am sleepy. +rabbit*Hungry ...! +rabbit*Is it that? There is not rice? +rabbit*Already! Get a grip! +rabbit*It is my work! +rabbit*I do what. +rabbit*Then it is good. +rabbit*An obstacle. +rabbit*Delicate. +rabbit*Oh, it is ... there there. Comfortable. +rabbit*Because you said that thank you, pat it early. +rabbit*I know it! +rabbit*Do return it to me early? +rabbit*Here is not warm at all today, ... . Why is it? +rabbit*I am waiting a little more. +rabbit*I make attentive ears and am waiting early when words do not sound like "it becomes warm". +rabbit*There is so much my hair. +rabbit*Hair is ... Itchy. +rabbit*Where do you take my hair to? +rabbit*!! !Oh! USASUKE! +rabbit*Play! +rabbit*That ... Does the addition of the rice have not yet come? +rabbit*Is it a boyfriend for me? +rabbit*This child warmth feels nothing, too. +rabbit*The child who a boy was bigger than me at least, and was strong was good. +rabbit*Hmm. +rabbit*That's good. Cold. +rabbit*Is it mineral matter and suitability? I am not so glad. +rabbit*"Is it cat hair? A fool! Because it is a rabbit, I do not distribute it of the cat!" +rabbit*Is it that? The hand? Where is the hand? +rabbit*Hand, having different tastes +rabbit*Hand discovery! +rabbit*Is it that? It is not a hand! Where is a hand? +rabbit*Wait; and ...! +rabbit*Oh! I want the hand! Seem to please! +rabbit*Already! Give it! +rabbit*What shall I do? +rabbit*I will stop it. +rabbit*Am I pretty? +rabbit*It is a fact that is pretty! Are there words? +rabbit*Is it not too sudden? Still for the child want to eat. +rabbit*Is there somewhat a lot of rice today? +rabbit*I am satisfied first of all. +rabbit*Do you still give me it what it is? +rabbit*A smell of the great grass. +rabbit*Tasting. +rabbit*I do not need it. +rabbit*That is tasting. +rabbit*I have finished eating. Do add it early? +rabbit*Please early. +rabbit*Oh? Be doing it a joke. I like one. +rabbit*. . . ? +rabbit*Oh? Is it mom? Really? +rabbit*Is it vegetables? ... Vegetablesphobe eats +rabbit*It was eaten when I ate. +rabbit*I was the greatest until yesterday. It is hard to do it. +rabbit*Hi. +rabbit*Is it what this? +rabbit*By all odds it is not an apple! +rabbit*Sweet one of liking you! +rabbit*I am not deceived! +rabbit*Do not make a fool! +rabbit*Pat it. +rabbit*Pat it. +rabbit*Pat it. +rabbit*A smell to smell for the first time. +rabbit*It may be eaten only a little. +rabbit*It is impossible! +rabbit*A leaf is good. +rabbit*It is impossible, too! +rabbit*At last did it arrive? How much is this? +rabbit*A fool! +rabbit*Remake it. +rabbit*No matter how much a salesperson is pretty, it is too high and is not popular! +rabbit*Oh, with -. +rabbit*I say that I do it how! +rabbit*No! +rabbit*Do you make it how much? +rabbit*High! Is it five apples? +rabbit*Eat. +rabbit*Do not say to me, "I wear a parka". +rabbit*I wear it for trial! +rabbit*A try-on. A try-on! +rabbit*I am somewhat like a trap. +rabbit*Is it what this? Is it a tunnel? +rabbit*This? It is different from the tunnel which I heard. +rabbit*Can you call it a this tunnel? +rabbit*I want to play in a genuine tunnel. +rabbit*Do you play if fun? +rabbit*Yes, please. +rabbit*Only as for this? +rabbit*A little more. +rabbit*Pat it early! +rabbit*A grass obstacle! +rabbit*Nice day, isn't it? +rabbit*Hey. Shall I play? +rabbit*Hey. What do you do? +rabbit*I'll do my best +rabbit*OK +rabbit*ThIs is enough. +rabbit*Hi. +rabbit*I will do my best. +rabbit*I was tired. +rabbit*No! +rabbit*Return my place +rabbit*When is it over? +rabbit*Nuisance +rabbit*Does it have not yet come? +rabbit*Is it something? +rabbit*What is it? +rabbit*The end? My place? +rabbit*The sofa which here was? +rabbit*What is it not? +rabbit*Do not touch me! +rabbit*Hey! +rabbit*Return my place! +rabbit*I hate! +rabbit*Because I never permit it +rabbit*It is snacks! ! +rabbit*OK +Rabbit*Look +Rabbit*Is it great? +Rabbit*Hey! Of any, doing it! +Rabbit*Do not touch it without permission +Rabbit*There must be the tail +Rabbit*I was going to just touch it +Rabbit*I notice +Rabbit*"I am, and be" and do not say how! +Rabbit*Do not misunderstand it +Rabbit*Let me sleep +Rabbit*What do you do since a little while ago? +Rabbit*"Only as for little ," did you say? +Rabbit*I touch too much it! +Rabbit*I am in the middle of eating +Rabbit*Is it a lion? Is it not I lion rabbit? +Rabbit*I make a fool! +Rabbit*What is it? +Rabbit*What is it? I hate +Rabbit*What are you doing? +Rabbit*Bad feeling…. +Rabbit*Sleepy +Rabbit*!? +Rabbit*Where am I? +Rabbit*Is dangerous; was going to sleep +Rabbit*May I all eat? +rabbit*Oh? Is it a nail? Did a nail say? +rabbit*I hate +rabbit*I hate it! +rabbit*Unreasonableness! +rabbit*Dislike +rabbit*I hate it. I must escape. +rabbit*Hey? More snacks top top +rabbit*Is there not anymore it? +rabbit*Then it is good. +rabbit*Uncomfortable! +rabbit*No! +rabbit*I do not like the feeling of the blanket. +rabbit*I improved +rabbit*Do you know even the vegetablesphobia? Do you not eat? +rabbit*I came what it was! +rabbit*A toy does not need a childish thing +rabbit*Hey. Do play? +rabbit*Therefore! I do not need the toy! +rabbit*Annoying. +rabbit*Oh. Snacks. +rabbit*I do not need mental attitude how +rabbit*Already! Santa takes a rest long ago! +Rabbit*I invite you a feeling unexpectedly +Rabbit*I liked it +rabbit*Irritating! This is enough? +rabbit*Was there it today? +rabbit*I still want to eat it +rabbit*lucky! +Rabbit*It was sold out +Rabbit*Stop it a little! Do not break a wall! +Rabbit*Return! +Rabbit*I begin to buy it and must go diff --git a/usaquote-api.csproj b/usaquote-api.csproj new file mode 100644 index 0000000..e1743b1 --- /dev/null +++ b/usaquote-api.csproj @@ -0,0 +1,21 @@ + + + + netcoreapp3.1 + usaquote_api + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + diff --git a/usaquote.db b/usaquote.db new file mode 100644 index 0000000..4d84280 Binary files /dev/null and b/usaquote.db differ diff --git a/usaquote.sql b/usaquote.sql new file mode 100644 index 0000000..d790faa --- /dev/null +++ b/usaquote.sql @@ -0,0 +1,247 @@ +INSERT INTO `Quotes` (speaker, content) VALUES +("Usaco", "Just right."), +("Usaco", "Oh? Is it something?"), +("Usaco", "Who are you?"), +("Usaco", "?!"), +("Usaco", "... which words are not common to ."), +("Usaco", "Unreasonableness."), +("Usaco", "I do not want to become it."), +("Usaco", "Snacks ... !!"), +("Usaco", "Do not forfeit it."), +("Usaco", "I must control it well."), +("Usaco", "Delicious!"), +("Usaco", "Oh, no! Is it OK?"), +("Usaco", "Thank you for the delicious meal."), +("Usaco", "Shall I come back to the house?"), +("Usaco", "Why is it interference?"), +("Usaco", "Yes, I am sleepy."), +("Usaco", "Hungry ...!"), +("Usaco", "Is it that? There is not rice?"), +("Usaco", "Already! Get a grip!"), +("Usaco", "It is my work!"), +("Usaco", "I do what."), +("Usaco", "Then it is good."), +("Usaco", "An obstacle."), +("Usaco", "Delicate."), +("Usaco", "Oh, it is ... there there. Comfortable."), +("Usaco", "Because you said that thank you, pat it early."), +("Usaco", "I know it!"), +("Usaco", "Do return it to me early?"), +("Usaco", "Here is not warm at all today, ... . Why is it?"), +("Usaco", "I am waiting a little more."), +("Usaco", "I make attentive ears and am waiting early when words do not sound like ""it becomes warm""."), +("Usaco", "There is so much my hair."), +("Usaco", "Hair is ... Itchy."), +("Usaco", "Where do you take my hair to?"), +("Usaco", "!! !Oh! USASUKE!"), +("Usaco", "Play!"), +("Usaco", "That ... Does the addition of the rice have not yet come?"), +("Usaco", "Is it a boyfriend for me?"), +("Usaco", "This child warmth feels nothing, too."), +("Usaco", "The child who a boy was bigger than me at least, and was strong was good."), +("Usaco", "Hmm."), +("Usaco", "That's good. Cold."), +("Usaco", "Is it mineral matter and suitability? I am not so glad."), +("Usaco", """Is it cat hair? A fool! Because it is a rabbit, I do not distribute it of the cat!"""), +("Usaco", "Is it that? The hand? Where is the hand?"), +("Usaco", "Hand, having different tastes"), +("Usaco", "Hand discovery!"), +("Usaco", "Is it that? It is not a hand! Where is a hand?"), +("Usaco", "Wait; and ...!"), +("Usaco", "Oh! I want the hand! Seem to please!"), +("Usaco", "Already! Give it!"), +("Usaco", "What shall I do?"), +("Usaco", "I will stop it."), +("Usaco", "Am I pretty?"), +("Usaco", "It is a fact that is pretty! Are there words?"), +("Usaco", "Is it not too sudden? Still for the child want to eat."), +("Usaco", "Is there somewhat a lot of rice today?"), +("Usaco", "I am satisfied first of all."), +("Usaco", "Do you still give me it what it is?"), +("Usaco", "A smell of the great grass."), +("Usaco", "Tasting."), +("Usaco", "I do not need it."), +("Usaco", "That is tasting."), +("Usaco", "I have finished eating. Do add it early?"), +("Usaco", "Please early."), +("Usaco", "Oh? Be doing it a joke. I like one."), +("Usaco", ". . . ?"), +("Usaco", "Oh? Is it mom? Really?"), +("Usaco", "Is it vegetables? ... Vegetablesphobe eats"), +("Usaco", "It was eaten when I ate."), +("Usaco", "I was the greatest until yesterday. It is hard to do it."), +("Usaco", "Hi."), +("Usaco", "Is it what this?"), +("Usaco", "By all odds it is not an apple!"), +("Usaco", "Sweet one of liking you!"), +("Usaco", "I am not deceived!"), +("Usaco", "Do not make a fool!"), +("Usaco", "Pat it."), +("Usaco", "Pat it."), +("Usaco", "Pat it."), +("Usaco", "A smell to smell for the first time."), +("Usaco", "It may be eaten only a little."), +("Usaco", "It is impossible!"), +("Usaco", "A leaf is good."), +("Usaco", "It is impossible, too!"), +("Usaco", "At last did it arrive? How much is this?"), +("Usaco", "A fool!"), +("Usaco", "Remake it."), +("Usaco", "No matter how much a salesperson is pretty, it is too high and is not popular!"), +("Usaco", "Oh, with -."), +("Usaco", "I say that I do it how!"), +("Usaco", "No!"), +("Usaco", "Do you make it how much?"), +("Usaco", "High! Is it five apples?"), +("Usaco", "Eat."), +("Usaco", "Do not say to me, ""I wear a parka""."), +("Usaco", "I wear it for trial!"), +("Usaco", "A try-on. A try-on!"), +("Usaco", "I am somewhat like a trap."), +("Usaco", "Is it what this? Is it a tunnel?"), +("Usaco", "This? It is different from the tunnel which I heard."), +("Usaco", "Can you call it a this tunnel?"), +("Usaco", "I want to play in a genuine tunnel."), +("Usaco", "Do you play if fun?"), +("Usaco", "Yes, please."), +("Usaco", "Only as for this?"), +("Usaco", "A little more."), +("Usaco", "Pat it early!"), +("Usaco", "A grass obstacle!"), +("Usaco", "Nice day, isn't it?"), +("Usaco", "Hey. Shall I play?"), +("Usaco", "Hey. What do you do?"), +("Usaco", "I'll do my best"), +("Usaco", "OK"), +("Usaco", "ThIs is enough."), +("Usaco", "Hi."), +("Usaco", "I will do my best."), +("Usaco", "I was tired."), +("Usaco", "No!"), +("Usaco", "Return my place"), +("Usaco", "When is it over?"), +("Usaco", "Nuisance"), +("Usaco", "Does it have not yet come?"), +("Usaco", "Is it something?"), +("Usaco", "What is it?"), +("Usaco", "The end? My place?"), +("Usaco", "The sofa which here was?"), +("Usaco", "What is it not?"), +("Usaco", "Do not touch me!"), +("Usaco", "Hey!"), +("Usaco", "Return my place!"), +("Usaco", "I hate!"), +("Usaco", "Because I never permit it"), +("Usaco", "It is snacks! !"), +("Usaco", "OK"), +("Usaco", "Look"), +("Usaco", "Is it great?"), +("Usaco", "Hey! Of any, doing it!"), +("Usaco", "Do not touch it without permission"), +("Usaco", "There must be the tail"), +("Usaco", "I was going to just touch it"), +("Usaco", "I notice"), +("Usaco", """I am, and be"" and do not say how!"), +("Usaco", "Do not misunderstand it"), +("Usaco", "Let me sleep"), +("Usaco", "What do you do since a little while ago?"), +("Usaco", """Only as for little ,"" did you say?"), +("Usaco", "I touch too much it!"), +("Usaco", "I am in the middle of eating"), +("Usaco", "Is it a lion? Is it not I lion rabbit?"), +("Usaco", "I make a fool!"), +("Usaco", "What is it?"), +("Usaco", "What is it? I hate"), +("Usaco", "What are you doing?"), +("Usaco", "Bad feeling…."), +("Usaco", "Sleepy"), +("Usaco", "!?"), +("Usaco", "Where am I?"), +("Usaco", "Is dangerous; was going to sleep"), +("Usaco", "May I all eat?"), +("Usaco", "Oh? Is it a nail? Did a nail say?"), +("Usaco", "I hate"), +("Usaco", "I hate it!"), +("Usaco", "Unreasonableness!"), +("Usaco", "Dislike"), +("Usaco", "I hate it. I must escape."), +("Usaco", "Hey? More snacks top top"), +("Usaco", "Is there not anymore it?"), +("Usaco", "Then it is good."), +("Usaco", "Uncomfortable!"), +("Usaco", "No!"), +("Usaco", "I do not like the feeling of the blanket."), +("Usaco", "I improved"), +("Usaco", "Do you know even the vegetablesphobia? Do you not eat?"), +("Usaco", "I came what it was!"), +("Usaco", "A toy does not need a childish thing"), +("Usaco", "Hey. Do play?"), +("Usaco", "Therefore! I do not need the toy!"), +("Usaco", "Annoying."), +("Usaco", "Oh. Snacks."), +("Usaco", "I do not need mental attitude how"), +("Usaco", "Already! Santa takes a rest long ago!"), +("Usaco", "I invite you a feeling unexpectedly"), +("Usaco", "I liked it"), +("Usaco", "Irritating! This is enough?"), +("Usaco", "Was there it today?"), +("Usaco", "I still want to eat it"), +("Usaco", "lucky!"), +("Usaco", "It was sold out"), +("Usaco", "Stop it a little! Do not break a wall!"), +("Usaco", "Return!"), +("Usaco", "I begin to buy it and must go"), +("Hamco", "Delicious"), +("Hamco", "It seems to be warm if I make a house."), +("Hamco", "The discovery that seems to be delicious!"), +("Hamco", "I take a break a little."), +("Hamco", "Eat!."), +("Hamco", "Early! Does it have not yet come next time?"), +("Hamco", "What is slow? In addition, do you enter?"), +("Hamco", "Room!"), +("Hamco", "cone!Delicious!"), +("Hamco", "What are you doing?"), +("Hamco", "When will you give me it?"), +("Hamco", "It is eaten!"), +("Hamco", "Already over? Do you still enter?"), +("Hamco", "As for this of me! Return it!"), +("Hamco", "My corn! Return it!"), +("Hamco", "Please! Why do you have it? Already! Return it!"), +("Hamco", "I have eaten a chip."), +("Hamco", "Do not be smoothened."), +("Hamco", "Oh! I was able to chew! This is good."), +("Hamco", "Because I still enter, a cheek pouch wants this, too."), +("Hamco", "... which does not open in it turning out that I open out in this part ."), +("Hamco", "Why do you not open?"), +("Hamco", "Please cake ..."), +("Hamco", "Eat snacks ...; eat!"), +("Hamco", "Well, I smell good!"), +("Hamco", "... which does not arrive ."), +("Hamco", "It seems to be delicious!"), +("Hamco", "I was able to do something."), +("Hamco", "Take it!"), +("Hamco", "I will eat later."), +("Hamco", "I am!"), +("Hamco", "Is it a dog? Where is it?"), +("Hamco", "A doggy!"), +("Hamco", "What is it?"), +("Hamco", "Is it something?"), +("Hamco", "Let me sleep a little more."), +("Hamco", "I get it if I do not eat"), +("Hamco", "Though I do it, the sweet smell is not found"), +("Hamco", "Is it what this?"), +("Hamco", "??"), +("Hamco", "I want this, too!"), +("Hamco", "Please. Ridicule dog over there"), +("Hamco", "Return a hat!"), +("Hamco", "Can this escape?"), +("Hamco", "Fall!"), +("Hamco", "What is it?"), +("Hamco", "This sound is ... I drop it, and is it a ball?"), +("Hamco", "Already over?"), +("Hamco", "Is it what this?"), +("Hamco", "Is this all mine?"), +("Hamco", "I eat, too!"), +("Hamco", "Please to me"), +("Hamco", "Pan"), +("Hamco", "Is there not it? I chew!");