private CloseAlarmResponse GetAlarmResponse(Data response, CloseAlarmResponse alarmResponse) { if (response != null) { if (response.Response != null) { if (response.Response.ActiveAlarms != null) { if (response.Response.ActiveAlarms.Any()) { var dataResponseActiveAlarmsActiveAlarms = response.Response.ActiveAlarms[0].ActiveAlarm; if (dataResponseActiveAlarmsActiveAlarms != null) { if (dataResponseActiveAlarmsActiveAlarms.Any()) { alarmResponse.Closed = dataResponseActiveAlarmsActiveAlarms[0].Closed == "1"; alarmResponse.IsValid = true; } } } } } else if (response.Error != null) { alarmResponse.IsValid = false; alarmResponse.ErrorMessage = response.Error.Items[0]; } } return(alarmResponse); }
/// <summary> /// Closes the alarm on Duncan sside and returns a response if it was successful or not /// </summary> /// <param name="request"></param> /// <returns></returns> public CloseAlarmResponse CloseAlarm(CloseAlarmRequest request) { //fix up the response with some default values var alarmResponse = new CloseAlarmResponse { IsValid = false }; var dataRequest = GenerateAlarmRequest(request); //now that we have our data request, we need to send it to duncan and get the response. string strUrl = ConfigurationManager.AppSettings[Constants.FieldMaintenance.WebServiceCloseAlarmName]; var serializedDataRequest = Serialize(dataRequest); if (string.IsNullOrEmpty(serializedDataRequest)) { return(alarmResponse); } byte[] dataByte = StringToByteArray(serializedDataRequest); var response = PostRequest(strUrl, dataByte); return(GetAlarmResponse(response, alarmResponse)); }