//helper method bool GetCasseteStatus(out CassetteStatus cassetteStatus) { bool ret = false; cassetteStatus = null; //create command handler var getCasseteStatusCmdHandler = new GetRecyclingCasseteStatusCmdHandler(m_Device); GetRecyclingCassetteStatusResponse recycleCasseteStatusResponse; //send command if (getCasseteStatusCmdHandler.Handle( out recycleCasseteStatusResponse) == true) { Debug.Assert(recycleCasseteStatusResponse != null, "recycleCasseteStatusResponse != null"); Debug.Assert( recycleCasseteStatusResponse.CassetteStatuses.Length > m_CassetteNumber, "recycleCasseteStatusResponse.CassetteStatuses.Length > " + "m_CassetteNumber"); //assign result cassetteStatus = recycleCasseteStatusResponse.CassetteStatuses[ m_CassetteNumber]; ret = true; } return(ret); }
IEnumerable <Cassette> CreateCassettes() { GetRecyclingCassetteStatusResponse recyclingCassetteStatusResponse; //send device command - get recycling cassette status var getRecyclingCassetteStatusOk = new GetRecyclingCasseteStatusCmdHandler(this).Handle( out recyclingCassetteStatusResponse); //debug checks Debug.Assert(getRecyclingCassetteStatusOk == true, "getRecyclingCassetteStatusOk == true"); Debug.Assert(recyclingCassetteStatusResponse.CassetteStatuses != null, "recyclingCassetteStatusResponse.CassetteStatuses != null"); for (byte i = 0; i < recyclingCassetteStatusResponse.CassetteStatuses.Length; i++) { if (recyclingCassetteStatusResponse.CassetteStatuses[i].CassettePresent == true) { yield return(new Cassette(i, this)); } } }