//keep update once there is a respond from the console to gateway public void UpdateIncidentCodingStatus(CADIncidentCodingStatus incidentcodingstatus) { SendOrPostCallback callback = delegate(object state) { Log("Update Incident Coding Status"); foreach (string unitcallsign in incidentcodingstatus.AckTracking.Unit) { IncidentCodingStatus newincidentcodingsttaus = new IncidentCodingStatus(); newincidentcodingsttaus.CodingID = incidentcodingstatus.CodingID; newincidentcodingsttaus.TrackStation = incidentcodingstatus.AckTracking.Station; newincidentcodingsttaus.TrackStatus = incidentcodingstatus.AckTracking.Status; newincidentcodingsttaus.TrackUnit = unitcallsign; newincidentcodingsttaus.AckFrom = incidentcodingstatus.AckFrom; newincidentcodingsttaus.AckStatus = incidentcodingstatus.AckStatus; newincidentcodingsttaus.AckTimeStamp = String.Format("{0:g}", incidentcodingstatus.AckTimeStamp); newincidentcodingsttaus.AckNo = incidentcodingstatus.AckNo.ToString(); newincidentcodingsttaus.AckTotal = incidentcodingstatus.AckTotal.ToString(); _IncidentCodingStatusList.Add(newincidentcodingsttaus); } }; _uiSyncContext.Post(callback, "update Incident Coding Status"); }
//Update according at the CAD from thr adhoc Incident Coding Query public void RcvIncidentCodingStatusResponse(CADIncidentAck codingstatusresponse) { SendOrPostCallback callback = delegate(object state) { Log("Update response from ad hoc request"); //for each station in the tracking foreach (Tracking station in codingstatusresponse.AckTracking) { //for each unit in the station foreach (string unitcallsign in station.Unit) { IncidentCodingStatus newincidentcodingsttaus = new IncidentCodingStatus(); newincidentcodingsttaus.CodingID = codingstatusresponse.CodingID; newincidentcodingsttaus.TrackStation = station.Station; newincidentcodingsttaus.TrackStatus = station.Status; newincidentcodingsttaus.TrackUnit = unitcallsign; newincidentcodingsttaus.AckFrom = ""; newincidentcodingsttaus.AckStatus = ""; newincidentcodingsttaus.AckTimeStamp = String.Format("{0:g}", codingstatusresponse.AckTimeStamp); newincidentcodingsttaus.AckNo = codingstatusresponse.AckNo.ToString(); newincidentcodingsttaus.AckTotal = codingstatusresponse.AckTotal.ToString(); _IncidentCodingStatusList.Add(newincidentcodingsttaus); } } }; _uiSyncContext.Post(callback, "update incident coding status responese"); }
//Receive Ack from gateway and update according at the CAD public void UpdateCADIncidentAck(CADIncidentAck CADincidentack) { SendOrPostCallback callback = delegate(object state) { Log("Update CAD Incident Acknowledge from Gateway"); //for each station in the tracking foreach (Tracking station in CADincidentack.AckTracking) { //for each unit in the station foreach (string unitcallsign in station.Unit) { IncidentCodingStatus newincidentcodingsttaus = new IncidentCodingStatus(); newincidentcodingsttaus.CodingID = CADincidentack.CodingID; newincidentcodingsttaus.TrackStation = station.Station; newincidentcodingsttaus.TrackStatus = station.Status; newincidentcodingsttaus.TrackUnit = unitcallsign; newincidentcodingsttaus.AckFrom = ""; newincidentcodingsttaus.AckStatus = ""; newincidentcodingsttaus.AckTimeStamp = String.Format("{0:g}", CADincidentack.AckTimeStamp); newincidentcodingsttaus.AckNo = CADincidentack.AckNo.ToString(); newincidentcodingsttaus.AckTotal = CADincidentack.AckTotal.ToString(); _IncidentCodingStatusList.Add(newincidentcodingsttaus); } } }; _uiSyncContext.Post(callback, "update CAD Incident Ack"); }