Skip to content

Instantly share code, notes, and snippets.

@robertmeta
Forked from MagnusVortex/Game.cs
Created February 18, 2012 03:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robertmeta/1857202 to your computer and use it in GitHub Desktop.
Save robertmeta/1857202 to your computer and use it in GitHub Desktop.
Why merges are a headache for me
private void InsertCard(CardModel card)
{
var sb = new StringBuilder();
using (SQLiteCommand com = GamesRepository.DatabaseConnection.CreateCommand())
{
//Build Query
sb.Append("INSERT INTO [cards](");
sb.Append("[id],[game_id],[set_real_id],[name], [image], [alternate]");
sb.Append(") VALUES(");
sb.Append("@id,@game_id,(SELECT real_id FROM sets WHERE id = @set_id LIMIT 1),@name,@image,@alternate");
sb.Append(");\n");
com.CommandText = sb.ToString();
com.Parameters.AddWithValue("@id", card.Id.ToString());
com.Parameters.AddWithValue("@game_id", Id.ToString());
com.Parameters.AddWithValue("@set_id", card.Set.Id.ToString());
com.Parameters.AddWithValue("@name", card.Name);
com.Parameters.AddWithValue("@image", card.ImageUri);
com.Parameters.AddWithValue("@alternate", card.Alternate.ToString());
com.ExecuteNonQuery();
}
//Add custom properties for the card.
sb = new StringBuilder();
sb.Append("INSERT INTO [custom_properties](");
sb.Append("[id],[card_real_id],[game_id],[name],[type],[vint],[vstr]");
sb.Append(") VALUES(");
sb.Append("@id,(SELECT real_id FROM cards WHERE id = @card_id LIMIT 1),@game_id,@name,@type,@vint,@vstr");
sb.Append(");\n");
string command = sb.ToString();
foreach (KeyValuePair<string, object> pair in card.Properties)
{
if (pair.Key == "Alternate")
{
}
else
{
using (var com = dbc.CreateCommand())
{
com.CommandText = command;
com.Parameters.AddWithValue("@id", pair.Key + card.Id);
com.Parameters.AddWithValue("@card_id", card.Id.ToString());
com.Parameters.AddWithValue("@game_id", Id.ToString());
com.Parameters.AddWithValue("@name", pair.Key);
if (pair.Value is string)
{
com.Parameters.AddWithValue("@type", 0);
com.Parameters.AddWithValue("@vstr", pair.Value);
com.Parameters.AddWithValue("@vint", null);
}
else if (pair.Value is int)
{
com.Parameters.AddWithValue("@type", 1);
com.Parameters.AddWithValue("@vstr", null);
com.Parameters.AddWithValue("@vint", (int)pair.Value);
}
else // char
{
com.Parameters.AddWithValue("@type", 2);
com.Parameters.AddWithValue("@vstr", pair.Value.ToString());
com.Parameters.AddWithValue("@vint", null);
}
com.ExecuteNonQuery();
}
}
}
}
private void InsertCard(CardModel card)
{
var sb = new StringBuilder();
using (SQLiteCommand com = GamesRepository.DatabaseConnection.CreateCommand())
{
//Build Query
sb.Append("INSERT INTO [cards](");
sb.Append("[id],[game_id],[set_real_id],[name], [image], [alternate]");
sb.Append(") VALUES(");
sb.Append("@id,@game_id,(SELECT real_id FROM sets WHERE id = @set_id LIMIT 1),@name,@image,@alternate");
sb.Append(");\n");
com.CommandText = sb.ToString();
com.Parameters.AddWithValue("@id", card.Id.ToString());
com.Parameters.AddWithValue("@game_id", Id.ToString());
com.Parameters.AddWithValue("@set_id", card.Set.Id.ToString());
com.Parameters.AddWithValue("@name", card.Name);
com.Parameters.AddWithValue("@image", card.ImageUri);
com.Parameters.AddWithValue("@alternate", card.Alternate.ToString());
com.ExecuteNonQuery();
}
//Add custom properties for the card.
sb = new StringBuilder();
sb.Append("INSERT INTO [custom_properties](");
sb.Append("[id],[card_real_id],[game_id],[name],[type],[vint],[vstr]");
sb.Append(") VALUES(");
sb.Append("@id,(SELECT real_id FROM cards WHERE id = @card_id LIMIT 1),@game_id,@name,@type,@vint,@vstr");
sb.Append(");\n");
string command = sb.ToString();
foreach (KeyValuePair<string, object> pair in card.Properties)
{
using (SQLiteCommand com = GamesRepository.DatabaseConnection.CreateCommand())
{
com.CommandText = command;
com.Parameters.AddWithValue("@id", pair.Key + card.Id);
com.Parameters.AddWithValue("@card_id", card.Id.ToString());
com.Parameters.AddWithValue("@game_id", Id.ToString());
com.Parameters.AddWithValue("@name", pair.Key);
if (pair.Value is string)
{
com.Parameters.AddWithValue("@type", 0);
com.Parameters.AddWithValue("@vstr", pair.Value);
com.Parameters.AddWithValue("@vint", null);
}
else if (pair.Value is int)
{
com.Parameters.AddWithValue("@type", 1);
com.Parameters.AddWithValue("@vstr", null);
com.Parameters.AddWithValue("@vint", (int) pair.Value);
}
else // char
{
com.CommandText = command;
com.Parameters.AddWithValue("@id", pair.Key + card.Id);
com.Parameters.AddWithValue("@card_id", card.Id.ToString());
com.Parameters.AddWithValue("@game_id", Id.ToString());
com.Parameters.AddWithValue("@name", pair.Key);
if (pair.Value is string)
{
com.Parameters.AddWithValue("@type", 0);
com.Parameters.AddWithValue("@vstr", pair.Value);
com.Parameters.AddWithValue("@vint", null);
}
else if (pair.Value is int)
{
com.Parameters.AddWithValue("@type", 1);
com.Parameters.AddWithValue("@vstr", null);
com.Parameters.AddWithValue("@vint", (int)pair.Value);
}
else // char
{
com.Parameters.AddWithValue("@type", 2);
com.Parameters.AddWithValue("@vstr", pair.Value.ToString());
com.Parameters.AddWithValue("@vint", null);
}
com.ExecuteNonQuery();
}
}
}
}
private void InsertCard(CardModel card)
{
var sb = new StringBuilder();
using (SQLiteCommand com = GamesRepository.DatabaseConnection.CreateCommand())
{
//Build Query
sb.Append("INSERT INTO [cards](");
sb.Append("[id],[game_id],[set_real_id],[name], [image]");
sb.Append(") VALUES(");
sb.Append("@id,@game_id,(SELECT real_id FROM sets WHERE id = @set_id LIMIT 1),@name,@image");
sb.Append(");\n");
com.CommandText = sb.ToString();
com.Parameters.AddWithValue("@id", card.Id.ToString());
com.Parameters.AddWithValue("@game_id", Id.ToString());
com.Parameters.AddWithValue("@set_id", card.Set.Id.ToString());
com.Parameters.AddWithValue("@name", card.Name);
com.Parameters.AddWithValue("@image", card.ImageUri);
com.ExecuteNonQuery();
}
//Add custom properties for the card.
sb = new StringBuilder();
sb.Append("INSERT INTO [custom_properties](");
sb.Append("[id],[card_real_id],[game_id],[name],[type],[vint],[vstr]");
sb.Append(") VALUES(");
sb.Append("@id,(SELECT real_id FROM cards WHERE id = @card_id LIMIT 1),@game_id,@name,@type,@vint,@vstr");
sb.Append(");\n");
string command = sb.ToString();
foreach (KeyValuePair<string, object> pair in card.Properties)
{
using (SQLiteCommand com = GamesRepository.DatabaseConnection.CreateCommand())
{
com.CommandText = command;
com.Parameters.AddWithValue("@id", pair.Key + card.Id);
com.Parameters.AddWithValue("@card_id", card.Id.ToString());
com.Parameters.AddWithValue("@game_id", Id.ToString());
com.Parameters.AddWithValue("@name", pair.Key);
if (pair.Value is string)
{
com.Parameters.AddWithValue("@type", 0);
com.Parameters.AddWithValue("@vstr", pair.Value);
com.Parameters.AddWithValue("@vint", null);
}
else if (pair.Value is int)
{
com.Parameters.AddWithValue("@type", 1);
com.Parameters.AddWithValue("@vstr", null);
com.Parameters.AddWithValue("@vint", (int) pair.Value);
}
else // char
{
com.Parameters.AddWithValue("@type", 2);
com.Parameters.AddWithValue("@vstr", pair.Value.ToString());
com.Parameters.AddWithValue("@vint", null);
}
com.ExecuteNonQuery();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment