/// <summary> /// Insert one DBItem into tabl /// </summary> /// <param name="item"> /// DBItem to write /// </param> public static void Save(DBItem item) { try { using (IDbConnection conn = Connector.GetConnection()) { conn.Execute( "REPLACE INTO items VALUES (@containerType, @containerInstance, @containerPlacement, @lowid, @highid, @quality, @multiplecount)", new { item }); } } catch (Exception e) { LogUtil.ErrorException(e); } }
/// <summary> /// </summary> /// <returns> /// </returns> public virtual bool Write() { List<DBInstancedItem> DBinstanced = new List<DBInstancedItem>(); List<DBItem> DBuninstanced = new List<DBItem>(); foreach (KeyValuePair<int, IItem> kv in this.Content) { if (kv.Value.Identity.Type != IdentityType.None) { DBInstancedItem dbi = new DBInstancedItem { containerinstance = this.Identity.Instance, containertype = (int)this.Identity.Type, containerplacement = kv.Key, itemtype = (int)kv.Value.Identity.Type, Id = kv.Value.Identity.Instance, lowid = kv.Value.LowID, highid = kv.Value.HighID, quality = kv.Value.Quality, multiplecount = kv.Value.MultipleCount, stats = new Binary(kv.Value.GetItemAttributes()) }; DBinstanced.Add(dbi); } else { DBItem dbi = new DBItem { containerinstance = this.Identity.Instance, containertype = (int)this.Identity.Type, containerplacement = kv.Key, lowid = kv.Value.LowID, highid = kv.Value.HighID, quality = kv.Value.Quality, multiplecount = kv.Value.MultipleCount }; DBuninstanced.Add(dbi); } } ItemDao.Instance.Save(DBuninstanced, null, null); InstancedItemDao.Instance.Save(DBinstanced, null, null); return true; }