public void Delete(KeyValueListBase list) { if (list.Pairs.Count == 0) { return; } ExecuteComand(SqlUtil.BuildDelete(list.TableName, SqlUtil.BuildWhere(list.Pairs))); }
public static string BuildUpdate(KeyValueListBase liste, string where) { StringBuilder sb = new StringBuilder(); sb.Append("UPDATE " + liste.TableName + " SET "); AppendKeyValuePairs(sb, liste.Pairs, ", "); sb.Append(" WHERE "); sb.Append(where); return(sb.ToString()); }
public static string BuildInsert(KeyValueListBase liste) { List <KeyValuePair <string, object> > pairs = liste.Pairs; int count = pairs.Count; StringBuilder stringBuilder = PrepareInsertBuilder(liste); stringBuilder.Append("("); for (int index = 0; index < count; ++index) { KeyValuePair <string, object> keyValuePair = pairs[index]; stringBuilder.Append(GetValueString(keyValuePair.Value)); if (index < count - 1) { stringBuilder.Append(","); } } stringBuilder.Append(")"); return(stringBuilder.ToString()); }
private static StringBuilder PrepareInsertBuilder(KeyValueListBase liste) { List <KeyValuePair <string, object> > pairs = liste.Pairs; int count = pairs.Count; StringBuilder stringBuilder = new StringBuilder(150); stringBuilder.Append("INSERT INTO " + DatabaseUtil.Dialect.QuoteForTableName(liste.TableName) + " ("); for (int index = 0; index < count; ++index) { KeyValuePair <string, object> keyValuePair = pairs[index]; stringBuilder.Append(DatabaseUtil.Dialect.QuoteForColumnName(keyValuePair.Key)); if (index < count - 1) { stringBuilder.Append(","); } } stringBuilder.Append(") VALUES "); return(stringBuilder); }
private static StringBuilder PrepareInsertBuilder(KeyValueListBase liste) { var pairs = liste.Pairs; var count = pairs.Count; var sb = new StringBuilder(150); sb.Append("INSERT INTO " + DatabaseUtil.Dialect.QuoteForTableName(liste.TableName) + " ("); for (var i = 0; i < count; i++) { var pair = pairs[i]; sb.Append(DatabaseUtil.Dialect.QuoteForColumnName(pair.Key)); if (i < count - 1) { sb.Append(","); } } sb.Append(") VALUES "); return(sb); }
public static string BuildInsert(KeyValueListBase liste) { var pairs = liste.Pairs; var count = pairs.Count; // create the basic statement var sb = PrepareInsertBuilder(liste); // append values sb.Append("("); for (var i = 0; i < count; i++) { var pair = pairs[i]; sb.Append(GetValueString(pair.Value)); if (i < count - 1) { sb.Append(","); } } sb.Append(")"); return(sb.ToString()); }
public static void Initialize() { if (!Active) { return; } m_patchPath = Path.Combine(Path.GetDirectoryName(Plugin.CurrentPlugin.Context.AssemblyPath), PatchName); if (File.Exists(m_patchPath)) { File.Delete(m_patchPath); } var orbSellerAction = new KeyValueListBase("npcs_actions"); orbSellerAction.AddPair("Type", "Shop"); orbSellerAction.AddPair("NpcId", OrbSeller); orbSellerAction.AddPair("Parameter0", OrbItemTemplate); AppendQuery("SET @orbshop=(SELECT Id FROM `npcs_actions` WHERE " + string.Format("`NpcId`={0} AND `Type`='Shop')", OrbSeller)); AppendQuery(SqlBuilder.BuildDelete("npcs_actions", "Id=@orbshop")); AppendQuery(SqlBuilder.BuildDelete("npcs_items", "NpcShopId=@orbshop")); AppendQuery(SqlBuilder.BuildInsert(orbSellerAction)); AppendQuery("SET @orbshop=(SELECT LAST_INSERT_ID())"); foreach (var seller in Sellers) { var npcAction = new KeyValueListBase("npcs_actions"); npcAction.AddPair("Type", "Shop"); npcAction.AddPair("NpcId", seller.Key); AppendQuery("SET @shopid=(SELECT Id FROM `npcs_actions` WHERE " + string.Format("`NpcId`={0} AND `Type`='Shop')", seller.Key)); AppendQuery(SqlBuilder.BuildDelete("npcs_actions", "Id=@shopid")); AppendQuery(SqlBuilder.BuildDelete("npcs_items", "NpcShopId=@shopid")); AppendQuery(SqlBuilder.BuildInsert(npcAction)); AppendQuery("SET @shopid=(SELECT LAST_INSERT_ID())"); var selector = (from entry in ItemManager.Instance.GetTemplates() where Array.IndexOf(seller.Value, (ItemTypeEnum)entry.TypeId) != -1 && entry.Level >= MinItemLevel && entry.Effects.Count > 0 && !entry.Etheral orderby entry.Level ascending select entry); foreach (var template in selector) { if (IgnoredItems.Contains(template.Id)) { continue; } var price = Prices.First(entry => template.Level <= entry.Key).Value; if (template.TypeId == (int)ItemTypeEnum.PAIN) { var restoreEffect = template.Effects.SingleOrDefault(entry => entry.EffectId == EffectsEnum.Effect_AddHealth) as EffectDice; if (restoreEffect == null) { continue; } price = (int)(Math.Max(restoreEffect.DiceFace, restoreEffect.DiceNum) * BreadHpPerKama); } var itemQuery = new KeyValueListBase("npcs_items"); itemQuery.AddPair("ItemId", template.Id); itemQuery.AddPair("NpcShopId", new RawData("@shopid")); itemQuery.AddPair("CustomPrice", price); itemQuery.AddPair("BuyCriterion", string.Empty); AppendQuery(SqlBuilder.BuildInsert(itemQuery)); if (price > 0) { var orbPrice = OrbsPrices.First(entry => template.Level <= entry.Key).Value; var perfectItemQuery = new KeyValueListBase("npcs_items"); perfectItemQuery.AddPair("ItemId", template.Id); perfectItemQuery.AddPair("NpcShopId", new RawData("@orbshop")); perfectItemQuery.AddPair("CustomPrice", orbPrice); perfectItemQuery.AddPair("MaxStats", "1"); perfectItemQuery.AddPair("BuyCriterion", string.Empty); AppendQuery(SqlBuilder.BuildInsert(perfectItemQuery)); } if (price != 0) { continue; } var updatePrice = new UpdateKeyValueList("items_templates"); updatePrice.AddPair("Price", 0); updatePrice.AddWherePair("Id", template.Id); AppendQuery(SqlBuilder.BuildUpdate(updatePrice)); } } }
public void Insert(KeyValueListBase list) { ExecuteComand(SqlUtil.BuildInsert(list)); }
public void Delete(KeyValueListBase list) { ExecuteComand(SqlUtil.BuildDelete(list.TableName, SqlUtil.BuildWhere(list.Pairs))); }