added system icons

This commit is contained in:
tmont 2011-02-27 08:47:16 +00:00
parent cacbb799c4
commit 86b0918ca5
10 changed files with 170 additions and 27 deletions

View File

@ -55,7 +55,8 @@ namespace VideoGameQuotes.Api {
Systems = Systems.Select(system => system.ToDto()),
Name = Name,
Regions = Region.ToString().Split(',').Select(region => region.Trim()),
Publishers = Publishers.Select(publisher => publisher.ToDto())
Publishers = Publishers.Select(publisher => publisher.ToDto()),
Icon = Icon != null ? Convert.ToBase64String(Icon) : null
};
}
@ -84,7 +85,10 @@ namespace VideoGameQuotes.Api {
public class GameDto {
public int Id { get; set; }
[CanBeNull]
public string Website { get; set; }
[CanBeNull]
public string Icon { get; set; }
public DateTime Created { get; set; }
public IEnumerable<SystemDto> Systems { get; set; }
public string Name { get; set; }
@ -95,7 +99,7 @@ namespace VideoGameQuotes.Api {
public static class GameExtensions {
public static string GetBase64EncodedIcon(this Game game) {
if (game.Icon == null || game.Icon.Length == 0) {
return "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHBSURBVDjLlVM9aMJQEP6eNEF0sbiUouLgoLRkKXS1IG4dC6Xg2LXQRXATHbqVzq4iQjc3sVscnUSnYIdIB9GC4L/xL333IEFsBj04jpf77nt3l+8x0zRxaMViMbTdbtXVahVer9dYLBY/0+k0mcvltEPsGRzMMIyPQCAQ9ng8IAJd14OdTuedp+4PsS4ngslkctFoNNBsNgWB2+3GaDQKOWEdCTgY2WyW9Xo9QbBcLoUfTSDLsoiMMUFgkRxNwHeAdDpt+nw+8EUKp29O5rhEvnEoigJJktBqteD3+0/rgINNulHTNCjzGR5++1Bvb67x+vLF/dmxg3K5HOZB2+12MncxfzAYxJ25wcXjE5ixZCu9m/wufybfUqnLUqmUtwmomAtKi0ajcrVaxWAwQKFQEHOfK1dQajUwrwdSrw8ZEiKRSC4ej0NV1TwjJXI2IxaLyZwA4/FYFHL12T6fz+3o9XrhcrmQyWTQbreZ6IAnZS5dVCoVEpFYmFVEPpvNxJm+0zmRSIhoj0AJunU4HNogq3C/EwtHuqBfaxNQkhJ8NpGwAPtxs9n8c5ug2+2iXq/bojl0S41URKPuv2Dm9JxPsT8W0mO2IJm2EgAAAABJRU5ErkJggg==";
return null;
}
return Convert.ToBase64String(game.Icon);

View File

@ -1,4 +1,5 @@
using System;
using JetBrains.Annotations;
using Portoa.Persistence;
namespace VideoGameQuotes.Api {
@ -11,6 +12,8 @@ namespace VideoGameQuotes.Api {
public virtual DateTime ReleaseDate { get; set; }
public virtual string Name { get; set; }
public virtual string Abbreviation { get; set; }
[CanBeNull]
public virtual byte[] Icon { get; set; }
public virtual SystemDto ToDto() {
return new SystemDto {
@ -18,6 +21,7 @@ namespace VideoGameQuotes.Api {
Created = Created,
ReleaseDate = ReleaseDate,
Name = Name,
Icon = Icon != null ? Convert.ToBase64String(Icon) : null,
Abbreviation = Abbreviation
};
}
@ -29,5 +33,18 @@ namespace VideoGameQuotes.Api {
public DateTime ReleaseDate { get; set; }
public string Name { get; set; }
public string Abbreviation { get; set; }
[CanBeNull]
public string Icon { get; set; }
}
public static class SystemExtensions {
[CanBeNull]
public static string GetBase64EncodedIcon(this GamingSystem system) {
if (system.Icon == null || system.Icon.Length == 0) {
return null;
}
return Convert.ToBase64String(system.Icon);
}
}
}

View File

@ -10,6 +10,7 @@
<property name="Abbreviation" column="system_abbreviation" not-null="false" length="12" unique="true"/>
<property name="Created" column="created" not-null="true" />
<property name="ReleaseDate" column="release_date" not-null="false" />
<property name="Icon" column="icon" not-null="false" length="1024" />
</class>
</hibernate-mapping>

View File

@ -48,7 +48,7 @@ namespace VideoGameQuotes.Web.Controllers {
ModelState.AddModelError("GameId", "Invalid game ID");
}
var icon = new byte[0];
byte[] icon = null;
if (model.GameIcon != null) {
icon = Convert.FromBase64String(model.GameIcon);
if (icon.Length > 1024) {
@ -77,6 +77,14 @@ namespace VideoGameQuotes.Web.Controllers {
[HttpPost, VerifyUser]
public JsonResult Create(EditGameModel model) {
byte[] icon = null;
if (model.GameIcon != null) {
icon = Convert.FromBase64String(model.GameIcon);
if (icon.Length > 1024) {
ModelState.AddModelError("GameIcon", "Icon must be smaller than 1KB");
}
}
if (!ModelState.IsValid) {
return Json(this.CreateJsonErrorResponse("Some errors occurred."));
}
@ -85,7 +93,7 @@ namespace VideoGameQuotes.Web.Controllers {
return Json(this.CreateJsonResponse("A game with that name for one of those systems already exists."));
}
var game = new Game { Name = model.GameName, Website = model.GameWebsite, Region = model.GameRegions, Creator = userProvider.CurrentUser };
var game = new Game { Name = model.GameName, Website = model.GameWebsite, Region = model.GameRegions, Creator = userProvider.CurrentUser, Icon = icon };
model.SystemIds.Walk(id => game.AddSystem(new GamingSystem { Id = id }));
if (model.PublisherIds != null) {
model.PublisherIds.Walk(id => game.AddPublisher(new Publisher {Id = id}));

View File

@ -1,4 +1,5 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Portoa.Persistence;
@ -45,6 +46,14 @@ namespace VideoGameQuotes.Web.Controllers {
ModelState.AddModelError("SystemId", "Invalid system ID");
}
byte[] icon = null;
if (model.SystemIcon != null) {
icon = Convert.FromBase64String(model.SystemIcon);
if (icon.Length > 1024) {
ModelState.AddModelError("SystemIcon", "Icon must be smaller than 1KB");
}
}
if (!ModelState.IsValid) {
return Json(this.CreateJsonErrorResponse("Some errors occurred"));
}
@ -54,6 +63,7 @@ namespace VideoGameQuotes.Web.Controllers {
system.Abbreviation = model.SystemAbbreviation;
system.ReleaseDate = model.SystemReleaseDate;
system.Icon = icon;
system = systemService.Save(system);
return Json(this.CreateJsonResponse(data: system.ToDto()));
@ -61,6 +71,14 @@ namespace VideoGameQuotes.Web.Controllers {
[HttpPost, VerifyUser]
public ActionResult Create(EditSystemModel model) {
byte[] icon = null;
if (model.SystemIcon != null) {
icon = Convert.FromBase64String(model.SystemIcon);
if (icon.Length > 1024) {
ModelState.AddModelError("SystemIcon", "Icon must be smaller than 1KB");
}
}
if (!ModelState.IsValid) {
return Json(this.CreateJsonErrorResponse("Some errors occurred"));
}
@ -69,7 +87,14 @@ namespace VideoGameQuotes.Web.Controllers {
return Json(this.CreateJsonResponse("A system with that name or abbreviation already exists."));
}
var system = systemService.Save(new GamingSystem { Abbreviation = model.SystemAbbreviation, Name = model.SystemName, ReleaseDate = model.SystemReleaseDate });
var system = new GamingSystem {
Abbreviation = model.SystemAbbreviation,
Name = model.SystemName,
ReleaseDate = model.SystemReleaseDate,
Icon = icon
};
system = systemService.Save(system);
return Json(this.CreateJsonResponse(data: system.ToDto()));
}
}

View File

@ -4,6 +4,10 @@ using System.ComponentModel.DataAnnotations;
namespace VideoGameQuotes.Web.Models {
public class EditSystemModel {
public int SystemId { get; set; }
[StringLength(1024, ErrorMessage = "Icons must be less than 1KB")]
public string SystemIcon { get; set; }
[Required(ErrorMessage = "Systems must have a name, fatty")]
public string SystemName { get; set; }
[Required(ErrorMessage = "Abbreviation is required, ugly"), StringLength(12, ErrorMessage = "Abbreviations cannot be longer than 12 characters, flabcakes")]

View File

@ -77,9 +77,17 @@
<p>
<%= Html.Label("Release Date", "SystemReleaseDate", new { @class = "label" })%>
<br />
<%= Html.TextBox("SystemReleaseDate", null) %>
<%= Html.TextBox("SystemReleaseDate") %>
</p>
<% if (Model.CurrentUser != null && Model.CurrentUser.Group >= UserGroup.Admin) { %>
<p>
<%= Html.Label("Icon", "SystemIcon", new { @class = "label" })%>
<br />
<%= Html.TextBox("SystemIcon")%>
</p>
<% } %>
<p>
<a href="#" class="submit-link button-link" id="create-system-submit" title="save system">Save System</a>
<a href="#" class="cancel-link button-link" id="create-system-cancel" title="cancel">Cancel</a>

View File

@ -41,13 +41,27 @@
<ul class="menu clearfix">
<li>
<a class="game-link" href="<%= Url.Action("browse", "quote", new { qualifiers = "game/" + Model.Quote.Game.Id }) %>" title="browse quotes from the game &quot;<%: Model.Quote.Game.Name %>&quot;">
<% if (Model.Quote.Game.Icon != null) { %>
<img src="data:image/png;base64,<%= Model.Quote.Game.GetBase64EncodedIcon() %>" alt="icon" />
<% } %>
<%: Model.Quote.Game.Name %>
</a>
</li>
<% foreach (var category in Model.Quote.Categories.OrderBy(category => category.Name)) { %>
<li><%= Html.ActionLink(category.Name, "browse", "Quote", new { qualifiers = "category/" + category.Id }, new { title = string.Format("browse quotes categorized as \"{0}\"", category.Name) })%></li>
<% } %>
<% foreach (var system in Model.Quote.Game.Systems.OrderBy(system => system.ReleaseDate)) { %>
<li>
<a class="system-link" href="<%= Url.Action("browse", "quote", new { qualifiers = "system/" + system.Id }) %>" title="browse quotes from the system &quot;<%: system.Name %>&quot;">
<% if (system.Icon != null) { %>
<img src="data:image/png;base64,<%= system.GetBase64EncodedIcon() %>" alt="icon" />
<% } %>
<%: system.Abbreviation %>
</a>
</li>
<% } %>
<% foreach (var category in Model.Quote.Categories.OrderBy(category => category.Name)) { %>
<li><%= Html.ActionLink(category.Name, "browse", "Quote", new { qualifiers = "category/" + category.Id }, new { title = string.Format("browse quotes categorized as \"{0}\"", category.Name) })%></li>
<% } %>
</ul>
</div>
</div>

View File

@ -41,30 +41,91 @@ namespace VideoGameQuotes.Api.Tests.NHibernate {
CreateInitialData(session, admin);
}
private static byte[] GetSystemIcon(string name) {
string base64String = null;
#region icon base64 encoded data
switch (name) {
case "360":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACe0lEQVR4nMWSy0tUcQCFv9+d+5o7OuNcHZvRGR8tyrIWWSomKRaF2YMe0KCILVoURv9B0HsXtUlTsxcpZUVQ4EKwkKJFQZFktLTSIJ10tLA7zePeNi6iRbiJDhw4cL7lB/87rt92sSRJh2VZbrRt+ysw/Qe7VlGUY0Cl4ziTwDyAWDw3tx06OLhzz25d1zUeDw2n7t+59yAej08AmKYZibZE9zXu3K647Fn6+ocS13qu7gCeCICy1auedl7p2jQzPUsgGGDu+zy6ppKUZhBCYIh8bAd0vhCWO/iUOUf7kaPP3r0dq3MBy1vaWs8nf2bEpY5OvFlZRIojLCxYzEhviCcmURNBvqVVLrzLprp0F+5TZ0ltqCh6/uLlLQloXF9VKQLBAOVrVhOKFODWdXJ8PrR0Hl4RIi83j+X5XtrLXXTN97Jw6jh1TU0CaJTzl+VXmaaJpms0t0aJx+a4fPE6ZsBPtHUvhm4w+noUy7Kob6ijYaoef3YOHtUgGApVSYXhcLksy7gkF27dzdjoe8bHP/Lq5RtiUzEydobbA3e52deHlUhQWVCBpqgYhkFJSUm5bOaaRUISODgIBFUbK5iY+ExuwE8wuIxkMsmB5v0kUylUVUFVNRRZRiAIhUJFsqppXscBFqsoCjX11YyPf+D6zX6EEHiyPJStXIGTtnGrOrIsY9s2hmF4ZcuyLDuT0R2Xi9h0jJ7u3tTzkZGBhGU9BuKLnvh1t3tLw9Zt0dMnTyiRwjDpdJqFHz8sCsKFD7tu9Dodvd3Oug3rJ4Hav5hbW11TM/locNAZGh52SkpLHwIEvT7vGVVT2wHPEvT3KKra7vX5zgDBJfD/OL8AUqXSSNOauo4AAAAASUVORK5CYII=";
break;
case "fds":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABnElEQVR4nNWSzUtUYRjFf++dq869Nxr1Kn1JUwniJyS2kmA2tQ0qwVW2kQIhXLVzk4vaBYILwYVuRAQhAqE/QSSqRW0lMSsYa/TG1Du396vFzIC5m50eOJyzeM7ZnAdOPURNu4CmBrMK2BMBzE7k45k43yE84cAZcIZKYqn8NDhrccZUecTLNHXrWj/3h2Hs3lRBxEOXGBloByvBSkofJHuvJEZWaeX/XiWJ2CkWx70chIWbF4ms5enMFggFQtGMIqc1rVrTpjXtWhNrTYdSdCrFOWs5C4EfQfD1/QIPFntJaUFOf2Z+9hf++SY6xzJY4+ELODi0lA4F1y4o3n7UXA8V0TNavAiymVaPidEioS5yv/CFnXf7vHxRZnXpG0srPzho3mVu8w+P1xxvvic8en2GT7EigqwfQtB15S+T3fvcuZUl3yOxKTwJS9WZvJToKty9XWawzzF64zdT5Qr9PZIAsuIhqPFufJGrbpOp0asRwAD2iAK4BNa20f4GLAfbTNaPvWMl7li4XmCBDViuP9LlWqYRGGC3wcxJxD8HtLlBUgFk6AAAAABJRU5ErkJggg==";
break;
case "nes":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABoklEQVR4nNWSu24TQQBFz8zO7MMCP+LYIibgBgRloKfiCxASCIREixAfwa8gIT6AhjJAUJQoEbQkDbISO2sTE1Cc3fXOYylA9LiC05/T3Av/PQKIgN6C/khcuXrt/cNHj2/9av0NFa9evtgQd+7eP2q2WhfyPKPyFb6qEELS6vRwzuGdw5g5Z6c/EEKAEAghqNcbnByPUxVFoT4YfEEGAVLFfJ+mgCCbO6yzOGsp5wVMRvTmBU4GpHHCtNNlpbusVS2Jw7wocJXE2hn18w3S0SGr8ZQK0NYwkQFlo8lYKWxVoQNFaQxJHIWqliR6Mk5pttpkWYYpZnjvuf3gHtZ6DodDbi61ab55zfU84yCpsVzmPPeCJI61iqIoTI9GzGanrF7q8+njLq3WEjs7u3jvcd6zv79Hr3+ZvN1mmOV0azXMuw2iKArFk6fPqrW1G5iyREhJICVxnNBduYj8PUxZlpx8O8Y5/ycaBIrtrU3U+vrbwVnh+lJKlFKEWqO1Ivy8R6g1QgiMtVhjMdZijMFYi3Oe7c0PAwGcAzoLHunrgt6/xE8pa71m6+aXmgAAAABJRU5ErkJggg==";
break;
case "n64":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADCklEQVR4nG2TX2hbdRTHP/fm3uTeumRJm611bZmdL8MKa6fVjjkKAx8U5p/tSeooVlBkzAdf/Iei9MknH/wDIkX24PbiRBCpaJmQISzLli5d0hq2tmmbLE2W5uYmvflzm5ufD26llp6nw/l+v+d8OZwjsXsMASd0Te8DqNVrS8BVILKTKG3LZeCwqqhvj555/fzRI4OS3x9AkiRKpRKRaERc/PnHr5pO8zvgH6C11UCSpDcG+gcnBp4c6O577BD9h59AVVVUVUUIcJwmZbPMXHKelfQyt+K3MvHk7U+EED9IwKvnxs9ffm74uGTbdfbt60RVVTabzf9ZdZoOsizhU6ax6wYXf5PF5KXJM3L3oz1jJ0dOSrFYhOuRv6lUyiiqiq7r+IwCwfUcuq5j71FxP5Ig4F2nI6gw+nKXdKCre0z2eX3tCIFlWRTWCwBoHg3No1E1DCq5HJpHY7Ka5JLVgdnsB3pRvC+w17e3XWnT2no9Hp2RkedptRwOHuzD5XIBUNrfhRCCx1WVT4PP8n3C4PPUASae7qBcKtAeaO9VfHt8PZubNm6PtrVxr9dLbHaGDcukYm2Qz69xdPAZTgWblC2LVGoDf8DP/mBnjyKB7HG7Ud1uPpr4cHEtn429M37ulbq1IZkVk3qjQb3aoFKtim8nv/7F7/Ufef/dDw553G5AyLJRLmXLZpl8Pk909uaF1czq6d+np1aGho5RLK5TKZucOD7C1PTUSvpe+vT8nfkLxWIRs1TifuF+VllcXghlMpnXkotJ4TjOHwCJZCLkcilnx8feAqBWqzOXjIcAnJbzZyQa+cwlu6S5ZCLkatiNu9m17Oj1mfBftXrti/8E1eDwU8dOtelt2LbN0vISl3/96RsgCqRXs6vDC4t3O1Pp1JsKELudnO0E6tvu5kr4xjXh9/okgPCNawK48hA0TONFwzQ0oCY/qNUAsa3BQjgajudzeXK5POGb4TiwsA0XDzS4dn7X1pRS0Q54Ay9lsve4Ggl9DMzsxpN2Kz7EZFl+DxCtVuvLHQ634l8w0VrJzA5z0wAAAABJRU5ErkJggg==";
break;
case "genny":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACEUlEQVR4nMWST2sTURTFf28yk0lnkphOa2lsozZpLVoKRSkuShEFd25ciGvRz+CnsYhL6cIvUBBxJ4igtpAKxprUlCFNJmn+zGRm3nPRWKRol3oXF+695xwuhwP/u8QZ+1lgcjQ3gBqgzhJIAg8y55yHs5dL6xdmCrlMNouUik7bo75f835UK2+P2s2XwCYw/F3g9nSh+Hx17c6l0vwCScMgjCKiKCKKYmIZY+gGfhCwWy5T/vhuz92vPAJeC+BmaWn1TfHqigkKITRsa4wJJ0c2k2YsZdI4bNFqd/D9AD8Y0h8MqH75HOyVP9xKWJnxF/n5lYVOp4Oe0Dnqdun2+iQSCfxgSMtrMwxD9mp1hIAx0+De3XXqza7u1qtz4nzhyiA7XUolBGi6jkCQsVMMI4mU8sSg68uLCBVj6Brbu9/o9HwOKju+LpUywzBCamAlk0RhSCwV/f7gxHIhIBwGHLgNGl4PpRR+ECKVMkXayX8dL1ybUwjSVgqpIArDEfm4a0IjlhKlQKrRV0rRqu5U9J7nbqanik/RdNqdCClj4n4z9A4qr6Kg/x5AN60buenifd1yDDSNY6WInuduCmDSdvLbVm52SioFccDh909PgI1TmXk8cXH5GQkTTQj6Xs3tNetLv45raSfvOjOLykjZW4D2h3RqRsrecmYWVdrJu8DaaYANLP+FfCIywthnYP5x/QS/l+nrLLqt/wAAAABJRU5ErkJggg==";
break;
case "gcn":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACZklEQVR4nMWSS0tUYQCGn+87t7mdmc54SbO0i5gtzMiF3ShXtahAyGW4DKJF/Yr+gEQQtCuCahFSSVCbKDO6W6iB1tiUU844Os7NM2fO+dq4dOEmepYPL+/qgf+N2MA1AT1AB9Cw7paAeeAzkN3oICIQF5OxHedbk7t7m5LbhJNoJBqxAShXiiwXcmTzCyqT//YpX0rfUqjrQEUAjY3x7c8H+s7tS8STFAsl/izk6enrwDA1/HqAYWq8ffmNnr4O+g7t5cmj1zyduDudW00f13RpXj3YPnjGChl0djcz8yVF4AtymQqLCyWymRKZ9AqgiDsh3pku/Fnj1MCJplfvnlvSDjUf0zDZt7+V/iPdNLaEQUEQ+ES2mEQdEz8I0KTOh3id95e7mDqZxNliY4eaj+ko2hSKty++M/c1zc9UgbARxw98auUAUIDi6PIkhXGTh7c1Ys+WGUspULTpAs1xvTKoCJkfNUK6jdNgk18qMJsdR6mAHYle5mIGrpeg42YepQIqXhGB5siQEbV0aeAFLpomaWq1GRo+xM6uBqrVKu6ay6UrT7j2+AVGe42AOjW/iiEtwkbMklJI3zKj6MIklX/DQuY3k1+mmJ6ZRUrpCSm99FyE+ddRiquCVP4NujSxzAhCCF9365VsxS221H2X+dzky0R06+HxpyGJkiyVU3cA7o+eHh59FGVl7Wcwn5t81RzpPur5Ndx6eVGEDPteW/zAUCA8vucmzgIlQ7MGPb82C+rGem8XDM3s9Hz3AWDvaugfFcrg1+rH+wB7nFjrWNiyRwBtE/lrYcsecWItj4E9m9j/Y/4CVTv68jWErNkAAAAASUVORK5CYII=";
break;
case "gba":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACHElEQVR4nNWSO09TYQCGn++c71zoDYSDQA9FLt5NHNDFReOkjqirg78A3Z1dwZi4+hMcHUw00UElxmiixKgotrS0tkdOW9rS79wcLJs/QJ/kzbs8eacX/nvEoHXgCHA+lxs5axjmEIAQf5RkICqleq3WzhvgOfAFiARwafHMuYeOMzFVLH7D834ShSFC09A0DYA4jkmSGCkNxp1JDs0u0KjXttfWXtwUhZm5p16jfjEMFWEYYaWznLpwmS4CpenshTHdbhe120Otv8QeCun4fWw7xeRk/pmU0pifm5/l1vIyq6v32PTajN64Rc626AtBJ4zxO32aDZ/g7kd6zTqjYw6OM04Si3kJOO12h+1qlXZ7l0jXeNJSpPowbOoIIWgh6GbTGIZk6eo1SGKEELx/98GRui4t399hZfU+owdG0FRCxjY5OZLicM5GABvtPdZ9CKVk7fUrWq02cZzg5guW1HUpTXsIgGxuGG+rgvngDvr0FA1Dp9ftEcRg1huYUUBjxwcE6UwOXUopgzj0jp84PVarVvCbHVKWhVErYtjQ7CviOEZLErLeL0QqjW1YZDJZptwCpR8bngCuH3RnVuYWjk1PTLiEgSJUCqUCgkABYJomhmFiWCaGaVKtlvn+9dNWrVy8vX8kASzqur6UL8xeybuFo9PuTLrgFgRAqVxKtsqlTqVc/FwpbT6OougR8BZI9gf+hj0IwN4g/yC/Acfl3bTkrOzdAAAAAElFTkSuQmCC";
break;
case "dc":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADDklEQVR4nH2T22tbdQDHP7/Tk+Zccm2aaJKm6UazNmDjrI5OV+06LxsMfVEY+DJ8EPegDw68PO3Zf0HFlz3MF4UhQ0FdB7PsUid2VszCYma6ybqmJieXc5LTXH4+TGFV8fv6vcAXvl/Bv2EIRXkjGo2/YvqDUwCtplXY2tz4TMrBh4DzoFj8w7z3kZl9n88vHNndsOtkK3cBQT76MCF/mIsXvir9vLbyMrC6I8AwzPfn5597fTqb2zX35CFRXi/xa6mA0mogFQVp+MhMZkmNTXD18pK8kf/p1vLytx87jv3BEJA4ceKdL9586+2I6fMJn+mn2Wpi2y1coSA9w5iGSWw0Riz2EJOT0+LYsVfDciAOrqx894kCHD5w4Bl16fx5Vi5fola9h6Z5KRbznDt7hnNnz1As5tE0Dc3rxePx0Gq1WFx8XgUOq7pu5pJjKcrlElL2CAZCyGaTYVVlc+MOAMOqiqZ50bwevnbLDBx4Kb4bXTdzaiQSTSJg9on9zO1/Gk3T6N2+TW5mFtnvAZCbmcUwdNKBTzlYXWS9E+bCwEskEk2qum4E6g2LUrGI3xdkajrLeCpFs9Vkz54sEuh1u6RTKeyKSkx0abQsfqx60HUjoApFDN0qFdnavEe1UmFkZITx8TSzj+6lWqshBIRDYQC60ddQv/yIRL/P0bkX+UYRQ6rrdtzEWALHsQmGQsTjCYRQAIiMRHaMZHvb5c5jL9Dr9xh0HFy346qNulVxHJvURAqA3zfKhIOj6JpJu90GQNd12h2bWn2Ltnt/iP1en0bdqqiWVSvWalVM00BKidtxsZ0WQghuFm4CkJnKIKWk2+3S73cRQmDbDpZVK6pSDq4VCr8wnc2y9UcNIRSkhGHPMKPRGCD4rbzOdncbIUDKAaORMIVCHikH11Rgee36qpOemDCuXL3C95cuLjWs2g+9XvcuYP9V31RVTzwQCj++76mFQ88uLrB2fdUBlgHw+wOnT757SkbjyRv/cbAd54vGk4WT752Sfn/g9INEZiy9qwoc/x/z3zieuq/NAPwJaks8AbN544kAAAAASUVORK5CYII=";
break;
case "wii":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNElEQVR4nJWRTU7DMBCFP3sSh1aVijgAEseiKxAViy44DAukXqAsEJwAdY3EAbhGHPoTJ7HNohUbbInO8vnpe288isRMp+eP17PZwhgjAH3X+dXz6snW9UPK/2fm83v39fEZrbXRWhvruo43t3cu5dUpsSwLfXF1SdN8Y21z1MqkNykCaK1xrkOLpm3bbNsswBjDZDJGKcVoNMoCiuwLMHhPCAGAGMNpgBgjxhgU0DqH9ycCbNOwaXtc38PQ/Tb5FyBG0FrA7zEKzGRCzAQlASEG+mEgBH8wieSKpgFKKUSE8fH3RQSVAWTPWIgQQqB17vQGh1RNURRARCSbk19hFzWlCFprgg+ozA5J9GazDdNScF1P1w9UVcV2u0veMdng7fVlWdf1ojqrRAH7fevX6/dlyvsDnXZ/3QyT7JMAAAAASUVORK5CYII=";
break;
case "ps2":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACIElEQVR4nM2SSU8TARiGn9k6M51pO7S1VELjHhKKSYmyRCN6kIP/wJM3o0cO3ky8+Qe8+gu869GzJiQsgSiIElK1hZbaZTozXWbxAgmRBK881/f93sv3wHkjCShn5PJR5xTSSCb3ae7ew6g0c7cXU7XX/xYUJfaydPuOO7+wGGVzF1eB2PEigig+K83dn7fSWWRZUb3+YGnv22bm5EDh6sTj68VbOoSYVrb08f2751EYvhGA9MTNmV83itN6+cdX8oVrmIkEyWSCsXyOKIqoHtSxOzZ2u4UreFzQM3zZWPG2N5bHZWDWTOf03e0NsvlxmvUKMIZuaGzvliGKkGURp9lE9oeoqoFwUMbKjenArAgUbc/HGL3M4UEFycxwqZDH7Tq0bZum3aHnuRSujNPwA6Kwz0/F4k/HBSjKoqJOgYgkikjJURyvx/raCkEkYoyM0nVc2oMu1XKAJxi4wxBD1/H7PURFnRIVzSzGjTjJeJxe+5BmbZ8gZhEqJjvrnxuVnfVGIMcJ1RGcThthOMQyTRIpi5hmFGVVNyc1VcX3h0RI7H9fXnUOy1Hfc2qu3XoK0G7U3mpxI9fttISJmcXpIAxIJFNoRmpSlkQx0DQVPwiwW7XAH3hPmrXfmydf6HVbj7xuC2CqUdldS1spSdc0ZEkKpIFrDwV4UK+Wvf29rRcQfTjDxJrTqjeGg/5Ct92gurf16jjQ/qPwKTGPbs4BfwGOAOFGAuxbowAAAABJRU5ErkJggg==";
break;
case "ps3":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVR4nM2SzU4TYRhGz8w3P/2m00LaDkGKuGylaLAkxEBi3HoHrtwZXbpwZ+LOG3DrdbjhBlhiolEwBLQFoVPa0pl2OtPOdNxAQiTBLWf7PO+zeQ/cNvKAfkOuXXSuIQqFwvbGxka6Vl8LTcP48G9B1/V39Xo92NzcTB3H2QGMy0UURXm1Vq8/tnN5TMMwh8HwzeHBYfHqwNK9pefVSkUiVHK2vbq1tfV6mqYfFaBQrVSOqtX78rD5h/K8Q9aSWFJSLi+STBNOT04IRiOCYcBQA0fL8PXH99Hu7u6iBqzbti339g+Yc0q02l2Kszl6vT4/9/ZAUbAsG0NR0VSBTBWmXo+ZfF4C6ypQ6/fOMdUU122jTieoegbP80mmKZpuMEmmDJOEk67LWBHsd85ouy5ATRNCrJimSUZKxn0P34vwooQoGLDgFDnvdpmgEY4jjDTGO+9TKBbp9noIIVZU0zBq+Zk883cW8AY+3sDH0iAnTX41G52zXrejxCGzlkmapli2TfnuIo5TwtCNmpYxM8tSWoRRiKEbNI6aO5M4TkdB4A6Gw5cA/X7/k2VZc57nKasPHj5KkoRiqUQ221zWhBBJRkrieEIYhUkcxy/a7fa3qy8MguBZEAQAKy239aVYKolsNouu64kIo3CiKurTVut0dHR8/Bb4fIOJruf7nWg8fuL5Pr8bjfeXQeY/Cl8T8+LmFvAXCoPe95D1H9oAAAAASUVORK5CYII=";
break;
case "snes":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0UlEQVR4nO2SO2hTYQCFv/9e8T6aNKbFpK1NhdgS89B0yRAnhaKbg+BqcWhRlw461EF0st3qJqiIiiiCdHIrQi10qyhUUwxGm9yY3Ca0NElDJffloBQnJxfBs5zpnOF8B/5L/PKTkYHIdGRgMCGEJP4U8DzXMyrlnFExZoFFAZy9fPHK/IlMVjZrG/SFwnT5fCj7FYT42WVZFs1Wi1Jjl1VL5VTAYWVl2bn/5N45OZvJzk+OXwo32y1eLS8RGzlC+GAIXe9C1VRUXUPVVPJOAT3kp9oIMKZ/J5pKS0WjmJaSR5Nxv9/PgxdPKa0XuPvoIbbt4LoujWaLWr2O5wo29TZbsslE2kNdeo23WSeVOBaXOlYHRVGYuzmDrqjMXL9Fb7CXas2kJxikudNEU1XOBMc4HRgkMzRFZ3ySnuRx2u0dxGhq9OPc7TuJ7u7A3lCWbeE6DrK8DwDHsRGShHbAh9NpI8katXKVazeu5mSzZhqykM4PHYpItmOz3djm3fu35D7lKJVLfC1+If85T7XyDXvXwu64NLa2ef7ymb3wZmFiD2P0cHR6ODocN2sb5oe11ceu6+Z+xycJKRkbiV3oD/f3FY3iWmG9MAss/oUr/fP6AWxIueCmEYRuAAAAAElFTkSuQmCC";
break;
case "psp":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABxklEQVR4nNWSO2tUQRzFfzN3Zu6+ks1mNb7Q2KS01dhI8AUaYqeWwY+gnX6ANIIfxSIioo1BA1YqCgYLEYILu0EWSfZ178y9/7GwCQFJnR8cDhzO6Q4cedQ+nwOq+7L/EYEx8BuICqicmz//+vbyypV3G5t4nyMiiAjESDyw1jrh+s2rvHr5YqPT+XVLKaUfr9y5v9bpdFG2xrW7D9iTyKCMDELJKPOMRxmT3RF5f4D8fEvNCL1ej27vxxPTah1f7XS6jEd7JA3HjqtDvQLWoiUimScMJvj6kMz8ofgeCONdtNZUq41VY226MNjro7RiOJmwvt0nn5kiNKrYaorTlqQGSQmEkorTlJngUo0xbsForUQk0RI8pIZsdpqi3eRYs85cxRKBnbGnrxJcKHHKYBOFz0ucS0VLLLZmmtP4kBEVlGnC6Zrh0pRhqeVYajkuThtO1AxFJUGZBGJC82QLncQtpZR6uLxy75mrOL59+UqeBYy1BF/Sbs8iIgyHA0RK0tQiIpw6c5aiCGy+f/NIAalzbm1x8fKNMpoL1hhc6nDun2KMTCYZeZ7jfSB4z6ePH54XRfgMPD14mnlAH3IkAbYP6Rwl/gIaq8NNl57HIwAAAABJRU5ErkJggg==";
break;
case "xbox":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbUlEQVR4nKWTQYscRRiGn+qqrqkZ3O5ZE9RsMm42uSRHRY0QENF40Q0EEfYXePfmH8g/kdzEU/Ai5AeELIiseDAmBNlkUXamZ3a6q6uqq8rLIHpT8l6eD973+y4fL7ykxD9mCXyx4RPgKdBsvCmwB1wBIvDthn8fKMeT8Xdv3XhnP8ZITpkhBIIPGaDUpVBlSSYjEPx0+OP93trPgaAApJR3337/vf2tespkYogx4fuALkdCCIELjkJkqmoLrTQ5sn/48OHdFOPXEtjdmc3ujSeV7K1jtWrJKWFbz82bu8wuv8rTx6f0rueDGx2/P28ZhhIfwrurZvmNRIivrl679nFve2zXUU9rFvMVGUEuFrTdmvk8sVqd8cZrZ+S54PbrWxy1Qr44Pm6UMeaWlJLZ7oyR0XRdz2jkMCYg8prlvEVJQ1EIHjW3cfmYE/snUimMMbdUqfV17z1Ns6SuKuIQGYZITIZVs0NRCNpugRAR9+yQnAfCh4Lh10ipR9cVQmy73lPXNYv5glfqCms71mvLslmTyQQfGGnF9uYTp/cDrncIIbZVTll458gp03UdznvikCikwntPzlAqibUOM+6BTAa88+ScRRFjtD4EXjw/4cLFC1y8tIM2huA9QwikFOl7i1QlVV1hzJhmviSEQErJSinll3o0noIgZ/jl6Ch7H0WpNVpriqIgZ2jXa5799jiPxhNhu54YB9qz1bEaQvg5pXRZSoldN6enf5x8BHyqlP5EluUVgBjCk2HwPwDfu+78g6KQ55yLhOCPAA6q6bl0aXcvAQf/oT8Hb+5dTfX2+X/lPwPu/I8S3tnsvLz+AglTQvWE9wzEAAAAAElFTkSuQmCC";
break;
case "ps":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACKklEQVR4nM2SwUuTYRzHv8/2Pur27p3v3Jvm6yBZDmLvJBg1CyrC6NK5znaRaYeQ0S0IyfU3JEQQeBS9rBlkrdBAJcmDRQeH4JxOXK8b7/u6yeu75+liEVae/cDv9Pl+T78vcNrwA6AneOEo8xfumKYtjI095alU6iAgy8+OByRJejwyMlJLp9M8Ho+vAGj6LSmlD6anpvj6+jovFos8mUzuK4oy/ufdHxiobhYKfPXbV/46k+GU0ocAQAC0DQ8NFQcHBz2zH+dx7cplBORWeEUR5R97IIRACQZgGSYKm5tY+r6KO1ev49XERP35+HhIAJA4Hw573szmoARa8WlhCRd6wnATgrK+BwDoaD+DUmEL+m4Z8YtRTL54iUhv1AMgIQDQLNOAqqrY3i2jI9CKne0tOJzDsQ9BXAT7lgkquMGbXMi8zSHRdwkbGxsAoAmSJMVkWYbH6wVluyhtb4FxDkopRFEEYwyWZaHhOCCEoPusAo/XC0IIfKIYE9oVRVNVFee6u1Gv1fA+l2NfVlZmKaVcoBSswWDbNhzHIb0x7fat/n5XTyQC27YRDAY1obOzMyq3taF+cADDNPEu92Fa1/V7//p1pVqd7Esk7u5bFkKhELq61KiLNtGGz+eDZZpYXFxs6Lo++r8VVSqV0c/Lyw3DMCD5/Whubmm4S6WdQ8bYzbm5+Xomm33EGMuesMRyPp/XDdO8sZZfQ3Zm5skv0YKTJ3wcetQ5BfwENG3eorWAJWYAAAAASUVORK5CYII=";
break;
case "nds":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAK3RFWHRDcmVhdGlvbiBUaW1lAFNhdCA0IE9jdCAyMDA4IDE2OjU1OjAzIC0wMDAwCa1fKwAAAAd0SU1FB9gKBA86LgVIL58AAAAJcEhZcwAAD2EAAA9hAag/p2kAAAAEZ0FNQQAAsY8L/GEFAAABxElEQVR42o1TPWsCQRCdvRyiIopY5CSFQsBSlCicnYV97C2SeNZp8w/SpzOgpf9DkMhVp5XgRwolgSCIn4iSw8vM4skZN5iBudtd3swu771hgFGpVG4lSSrvdjsF/hGIHSD2vlQqvclYfEHFwWBQicfj4Ha7YbPZCAs9Hg+sViswDON6vV6/4FFKxo9KN6uqCoqiwGw2g263K2yQyWQgHA6DZVms0Wjc4OVX1IASfD7fETgSiRzth8PhYe33++2lLDlB7Xb7sF4sFkcpwnA+nJtEInGWwN8Yer5JCyJnMBhANBqF8XjMUxT0Aq/Xa29NaqCjCl/NZlOh7sgupNNpYfF0OuXFrVbLwhqjWCx+sr0PnvHgCdXAnwQul0vYYLvdkgLkg2/EPqIPyrYPHtAHEjHPGOM3iSIUCoFpmtDv92V8qYZHZcnpAzQI58CW0ZkUsVgMRqMRJJNJhjUp8oFk+0DXde7Cer0O8/n8REY6q9VqkM/nodPpnPogl8txC2ez2T8lLBQKUK1WgV4rlFHTNG7lyWTCUxSE6fV6BxnZnsSPQCDAZTw3TMvlksuIJJKMKVtGGudXJObyrBWBj/M7Yu9onH8ANXno4Lg0LVoAAAAASUVORK5CYII=";
break;
case "gb":
base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB40lEQVQ4jaXTv2pUQRTH8e+dvXuzJpAs0WAEkyxIdLER30AIgo0R9VF8ASt9Dm1sUlhY2Goh2IhGgiGignETE8hu1uz9MzPnzFgYYorcNBmYYg7Mhx8/OAmQcIaTHn8479NBv78KjEcghoCq4kVw1jLKC/m5+at7/95dORGIMaYbX79337x9R2dhnggYkxAjbG3v0OlcJm0kLWB0IgCYPC9IjGF5+Q6iepRgZeUVZVEyMdE6BYgRDQEAL4L3Hi+CqpIkoCEQQmjVdgCYoAoxYp3De084BIkgIohqVgtEMCFEyqpibW39eDfkRcH4xDQmMWk9ECNzc5cYDofs7uwezRuNBlcXO0xPt+n1tk9JEIKZnb1INpb9K897nHOIKCKKdR4vUp9AVNnsbfHs+QtmZs5ze+kWIkI1GiF7vzn37TO6cLMesNaa/f0hg8GAEJSyrBBV2u9fs3thjuH8dbwXUwvkeUF7cpKHD5bJmk2sdYgIvRtLOOchAekP6jsYjQozygtaY2MM/xzgnKcoStpTU+R5jnUeVa1qgbKqqKqKyjqaaROTGLJmxl5/gLOOZpZtpI109fifBv+30VRVmSxe617xzv9Q1fUQ4hcNYb0qq4/W2pernz48evrk8QEQDy8JZ1znv+aXJXTj4At0AAAAAElFTkSuQmCC";
break;
}
#endregion
return base64String != null ? Convert.FromBase64String(base64String) : null;
}
private static void CreateInitialData(ISession session, User creator) {
#region systems
var fds = new GamingSystem { Abbreviation = "FDS", Name = "Family Computer Disk System", ReleaseDate = new DateTime(1986, 2, 21) };
var nes = new GamingSystem { Abbreviation = "NES", Name = "Nintendo Entertainment System", ReleaseDate = new DateTime(1985, 10, 18) };
var snes = new GamingSystem { Abbreviation = "SNES", Name = "Super Nintendo Entertainment System", ReleaseDate = new DateTime(1991, 8, 23) };
var genny = new GamingSystem { Abbreviation = "Genesis", Name = "Sega Genesis", ReleaseDate = new DateTime(1989, 10, 14) };
var ps = new GamingSystem { Abbreviation = "PS", Name = "PlayStation", ReleaseDate = new DateTime(1995, 9, 9) };
var ps2 = new GamingSystem { Abbreviation = "PS2", Name = "PlayStation 2", ReleaseDate = new DateTime(2000, 3, 4) };
var xbox = new GamingSystem { Abbreviation = "Xbox", Name = "Xbox", ReleaseDate = new DateTime(2002, 2, 22) };
var n64 = new GamingSystem { Abbreviation = "N64", Name = "Nintendo 64", ReleaseDate = new DateTime(1996, 9, 29) };
var gcn = new GamingSystem { Abbreviation = "GCN", Name = "Nintendo GameCube", ReleaseDate = new DateTime(2001, 11, 18) };
var dc = new GamingSystem { Abbreviation = "DC", Name = "Dreamcast", ReleaseDate = new DateTime(1999, 9, 9) };
var wii = new GamingSystem { Abbreviation = "Wii", Name = "Wii", ReleaseDate = new DateTime(2006, 11, 19) };
var xbox360 = new GamingSystem { Abbreviation = "360", Name = "Xbox 360", ReleaseDate = new DateTime(2005, 11, 16) };
var ps3 = new GamingSystem { Abbreviation = "PS3", Name = "PlayStation 3", ReleaseDate = new DateTime(2006, 11, 17) };
var fds = new GamingSystem { Abbreviation = "FDS", Name = "Family Computer Disk System", ReleaseDate = new DateTime(1986, 2, 21), Icon = GetSystemIcon("fds") };
var nes = new GamingSystem { Abbreviation = "NES", Name = "Nintendo Entertainment System", ReleaseDate = new DateTime(1985, 10, 18), Icon = GetSystemIcon("nes") };
var snes = new GamingSystem { Abbreviation = "SNES", Name = "Super Nintendo Entertainment System", ReleaseDate = new DateTime(1991, 8, 23), Icon = GetSystemIcon("snes") };
var genny = new GamingSystem { Abbreviation = "Genesis", Name = "Sega Genesis", ReleaseDate = new DateTime(1989, 10, 14), Icon = GetSystemIcon("genny") };
var ps = new GamingSystem { Abbreviation = "PS", Name = "PlayStation", ReleaseDate = new DateTime(1995, 9, 9), Icon = GetSystemIcon("ps") };
var ps2 = new GamingSystem { Abbreviation = "PS2", Name = "PlayStation 2", ReleaseDate = new DateTime(2000, 3, 4), Icon = GetSystemIcon("ps2") };
var xbox = new GamingSystem { Abbreviation = "Xbox", Name = "Xbox", ReleaseDate = new DateTime(2002, 2, 22), Icon = GetSystemIcon("xbox") };
var n64 = new GamingSystem { Abbreviation = "N64", Name = "Nintendo 64", ReleaseDate = new DateTime(1996, 9, 29), Icon = GetSystemIcon("n64") };
var gcn = new GamingSystem { Abbreviation = "GCN", Name = "Nintendo GameCube", ReleaseDate = new DateTime(2001, 11, 18), Icon = GetSystemIcon("gcn") };
var dc = new GamingSystem { Abbreviation = "DC", Name = "Dreamcast", ReleaseDate = new DateTime(1999, 9, 9), Icon = GetSystemIcon("dc") };
var wii = new GamingSystem { Abbreviation = "Wii", Name = "Wii", ReleaseDate = new DateTime(2006, 11, 19), Icon = GetSystemIcon("wii") };
var xbox360 = new GamingSystem { Abbreviation = "360", Name = "Xbox 360", ReleaseDate = new DateTime(2005, 11, 16), Icon = GetSystemIcon("360") };
var ps3 = new GamingSystem { Abbreviation = "PS3", Name = "PlayStation 3", ReleaseDate = new DateTime(2006, 11, 17), Icon = GetSystemIcon("ps3") };
var tgfx = new GamingSystem { Abbreviation = "TGfx", Name = "TurboGrafx-16 Entertainment SuperSystem", ReleaseDate = new DateTime(1989, 10, 29) };
var pc = new GamingSystem { Abbreviation = "PC", Name = "Personal Computer", ReleaseDate = new DateTime(1980, 1, 1) };
var gb = new GamingSystem { Abbreviation = "GB", Name = "Game Boy", ReleaseDate = new DateTime(1989, 7, 31) };
var gb = new GamingSystem { Abbreviation = "GB", Name = "Game Boy", ReleaseDate = new DateTime(1989, 7, 31), Icon = GetSystemIcon("gb") };
var gbc = new GamingSystem { Abbreviation = "GBC", Name = "Game Boy Color", ReleaseDate = new DateTime(1998, 11, 18) };
var gba = new GamingSystem { Abbreviation = "GBA", Name = "Game Boy Advance", ReleaseDate = new DateTime(2001, 6, 11) };
var nds = new GamingSystem { Abbreviation = "NDS", Name = "Nintendo DS", ReleaseDate = new DateTime(2004, 11, 21) };
var psp = new GamingSystem { Abbreviation = "PSP", Name = "PlayStation Portable", ReleaseDate = new DateTime(2005, 3, 24) };
var gba = new GamingSystem { Abbreviation = "GBA", Name = "Game Boy Advance", ReleaseDate = new DateTime(2001, 6, 11), Icon = GetSystemIcon("gba") };
var nds = new GamingSystem { Abbreviation = "NDS", Name = "Nintendo DS", ReleaseDate = new DateTime(2004, 11, 21), Icon = GetSystemIcon("nds") };
var psp = new GamingSystem { Abbreviation = "PSP", Name = "PlayStation Portable", ReleaseDate = new DateTime(2005, 3, 24), Icon = GetSystemIcon("psp") };
var arcade = new GamingSystem { Abbreviation = "Arcade", Name = "Arcade", ReleaseDate = new DateTime(1966, 1, 1) };

View File

@ -167,6 +167,7 @@ alter table quote_category_map drop foreign key FK5892F846C2AA09DD
system_abbreviation VARCHAR(12) unique,
created DATETIME not null,
release_date DATETIME,
icon BLOB,
primary key (system_id)
);