示例#1
0
        public void OnUseMap(Packets.Client.UseMap p)
        {
            byte index;
            Item item;

            index = p.GetIndex();
            item  = this.Char.inv.GetItem(CONTAINER_TYPE.INVENTORY, index);
            byte map, value;

            map   = (byte)(item.skillID / 10);
            value = (byte)(item.skillID % 10);
            this.Pc.OnUseMap(map, value);
            byte             newAmount;
            DeleteItemResult res = this.Char.inv.DeleteItem(CONTAINER_TYPE.INVENTORY, index, item.id, 1, out newAmount);

            MapServer.charDB.DeleteItem(this.Char, item);
            Packets.Server.DeleteItem delI = new SagaMap.Packets.Server.DeleteItem();
            delI.SetContainer(CONTAINER_TYPE.INVENTORY);
            delI.SetAmount(1);
            delI.SetIndex(index);
            this.netIO.SendPacket(delI, this.SessionID);
            Packets.Server.ShowMap p2 = new SagaMap.Packets.Server.ShowMap();
            p2.SetMap(map);
            p2.SetZone(value);
            this.netIO.SendPacket(p2, this.SessionID);;
        }
        public async Task <DeletePointResult> DeletePointAsync(DeletePointRequest deletePointRequest, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (deletePointRequest == null)
            {
                throw new ArgumentNullException("deletePointRequest");
            }

            var geohash = S2Manager.GenerateGeohash(deletePointRequest.GeoPoint);
            var hashKey = S2Manager.GenerateHashKey(geohash, _config.HashKeyLength);

            var deleteItemRequest = deletePointRequest.DeleteItemRequest;

            deleteItemRequest.TableName = _config.TableName;

            var hashKeyValue = new AttributeValue
            {
                N = hashKey.ToString(CultureInfo.InvariantCulture)
            };

            deleteItemRequest.Key[_config.HashKeyAttributeName]  = hashKeyValue;
            deleteItemRequest.Key[_config.RangeKeyAttributeName] = deletePointRequest.RangeKeyValue;

            DeleteItemResult deleteItemResult = await _config.DynamoDBClient.DeleteItemAsync(deleteItemRequest, cancellationToken).ConfigureAwait(false);

            var deletePointResult = new DeletePointResult(deleteItemResult);

            return(deletePointResult);
        }
        public DeletePointResult(DeleteItemResult deleteItemResult)
        {
            if (deleteItemResult == null)
            {
                throw new ArgumentNullException("deleteItemResult");
            }

            DeleteItemResult = deleteItemResult;
        }
示例#4
0
        public async Task <DeleteItemResult> DeleteAsync(DeleteItemModel deleteItemModel)
        {
            var authResult = await authenticatorsStore.DeleteItemModelAuthenticator.AuthenticateAsync(deleteItemModel);

            if (!authResult.Succeed)
            {
                return(new DeleteItemResult(authResult));
            }
            var validResult = await validatorsStore.DeleteItemModelValidator.ValidateAsync(deleteItemModel);

            if (!validResult.Succeed)
            {
                return(new DeleteItemResult(validResult));
            }
            var result       = new DeleteItemResult();
            var itemResource = (await itemsCrudService.GetAsync(deleteItemModel.ItemId)).Resource;
            await itemsCrudService.DeleteAsync(deleteItemModel.ItemId);

            await resourcesManager.DeleteAsync(itemResource);

            return(result);
        }