Exemple #1
0
        public void Handle(IGluonSession session, TransferClaim request)
        {
            if (request.Type != Protocol.Gluon.Model.ClaimType.LOT)
            {
                //what?
                session.Write(new TransferClaimResponse
                {
                    Status   = TransferClaimResponseStatus.REJECTED,
                    Type     = request.Type,
                    ClaimId  = request.ClaimId,
                    EntityId = request.EntityId
                });
                return;
            }

            Lots.TryClose(request.EntityId, request.ClaimId);
            try
            {
                using (var db = DAFactory.Get())
                {
                    db.LotClaims.Delete(request.ClaimId, request.FromOwner);
                }
            }
            catch (Exception e)
            {
                //probably already unclaimed. do nothing.
            }
        }
Exemple #2
0
        public void Handle(IGluonSession session, TransferClaim request)
        {
            LOG.Info("Recieved lot host request... ");

            if (request.Type != Protocol.Gluon.Model.ClaimType.LOT)
            {
                session.Write(new TransferClaimResponse {
                    Status   = TransferClaimResponseStatus.REJECTED,
                    Type     = request.Type,
                    ClaimId  = request.ClaimId,
                    EntityId = request.EntityId
                });
                return;
            }

            var lot = Lots.TryHost(request.EntityId, session);

            if (lot == null)
            {
                session.Write(new TransferClaimResponse
                {
                    Status   = TransferClaimResponseStatus.REJECTED,
                    Type     = request.Type,
                    ClaimId  = request.ClaimId,
                    EntityId = request.EntityId
                });
                return;
            }

            if (Lots.TryAcceptClaim((int)request.EntityId, request.ClaimId, request.SpecialId, request.FromOwner, request.Action))
            {
                session.Write(new TransferClaimResponse
                {
                    Status   = TransferClaimResponseStatus.ACCEPTED,
                    Type     = request.Type,
                    ClaimId  = request.ClaimId,
                    EntityId = request.EntityId
                });
            }
            else
            {
                session.Write(new TransferClaimResponse
                {
                    Status   = TransferClaimResponseStatus.CLAIM_NOT_FOUND,
                    Type     = request.Type,
                    ClaimId  = request.ClaimId,
                    EntityId = request.EntityId
                });
            }
        }