예제 #1
0
 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);
 }
예제 #2
0
        /// <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));
        }