Example #1
0
        private void SaveChestInventory(NWPlayer oPC, NWPlaceable oChest, bool resetTimeLock)
        {
            int          chestID = oChest.GetLocalInt(SearchSiteIDVariableName);
            PCSearchSite entity  = _db.PCSearchSites.SingleOrDefault(x => x.PlayerID == oPC.GlobalID && x.SearchSiteID == chestID);

            int      lockHours = _random.Random(2, 5);
            DateTime lockTime  = DateTime.UtcNow.AddHours(lockHours);

            if (entity != null)
            {
                if (resetTimeLock)
                {
                    lockTime = entity.UnlockDateTime;
                }
                _db.PCSearchSites.Remove(entity);
            }

            entity = new PCSearchSite
            {
                PlayerID       = oPC.GlobalID,
                SearchSiteID   = chestID,
                UnlockDateTime = lockTime
            };

            foreach (NWItem item in oChest.InventoryItems)
            {
                if (item.GetLocalInt("QUEST_ID") <= 0)
                {
                    PCSearchSiteItem itemEntity = new PCSearchSiteItem
                    {
                        SearchItem   = _serialization.Serialize(item),
                        SearchSiteID = entity.SearchSiteID
                    };

                    _db.PCSearchSiteItems.Add(itemEntity);
                }
            }

            _db.SaveChanges();
        }
Example #2
0
        private static void SaveChestInventory(NWPlayer oPC, NWPlaceable oChest, bool resetTimeLock)
        {
            int          chestID = oChest.GetLocalInt(SearchSiteIDVariableName);
            PCSearchSite entity  = DataService.SingleOrDefault <PCSearchSite>(x => x.PlayerID == oPC.GlobalID && x.SearchSiteID == chestID);

            int      lockHours = RandomService.Random(2, 5);
            DateTime lockTime  = DateTime.UtcNow.AddHours(lockHours);

            if (entity != null)
            {
                if (resetTimeLock)
                {
                    lockTime = entity.UnlockDateTime;
                }
                DataService.SubmitDataChange(entity, DatabaseActionType.Delete);
            }

            entity = new PCSearchSite
            {
                PlayerID       = oPC.GlobalID,
                SearchSiteID   = chestID,
                UnlockDateTime = lockTime
            };

            foreach (NWItem item in oChest.InventoryItems)
            {
                if (item.GetLocalInt("QUEST_ID") <= 0)
                {
                    PCSearchSiteItem itemEntity = new PCSearchSiteItem
                    {
                        SearchItem   = SerializationService.Serialize(item),
                        SearchSiteID = entity.SearchSiteID
                    };

                    DataService.SubmitDataChange(itemEntity, DatabaseActionType.Insert);
                }
            }
        }