예제 #1
0
 /// <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);
     }
 }
예제 #2
0
 /// <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;
        }