/// <summary> /// Fetch Inventories /// </summary> /// <param name="peer">Mmo Peer</param> /// <param name="request">Operation Request</param> /// <returns>Operation Response</returns> public OperationResponse OperationFetchInventory(PeerBase peer, OperationRequest request) { var operation = new FetchInventory(peer.Protocol, request); if (operation.IsValid) { try { Inventories inventories = DbManager.Instance.GetInventories(operation.UserId); FetchInventoryResponse response = new FetchInventoryResponse() { Inventories = Inventories.Serialize(inventories) }; if (inventories != null) { return new OperationResponse(request.OperationCode, response) { ReturnCode = (int)ReturnCode.Ok, DebugMessage = "OK" }; } } catch (Exception ex) { log.Fatal("FetchInventory: " + ex.ToString()); } return new OperationResponse(request.OperationCode) { ReturnCode = (int)ReturnCode.Fatal, DebugMessage = "Can't FetchInventory()" }; } else { return new OperationResponse(request.OperationCode) { ReturnCode = (int)ReturnCode.InvalidOperation, DebugMessage = operation.GetErrorMessage() }; } }
/// <summary> /// Gets the operation response. /// </summary> /// <param name="errorCode"> /// The error code. /// </param> /// <param name="debugMessage"> /// The debug message. /// </param> /// <returns> /// A new operation response. /// </returns> public OperationResponse GetOperationResponse(short errorCode, string debugMessage) { var responseObjcet = new FetchInventoryResponse(); return new OperationResponse(this.OperationRequest.OperationCode, responseObjcet) { ReturnCode = errorCode, DebugMessage = debugMessage }; }