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. } }
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 }); } }