コード例 #1
0
ファイル: CalixController.cs プロジェクト: retslig/ANDP
        public HttpResponseMessage PostJsonMessage(HttpRequestMessage request)
        {
            try
            {
                _logger.WriteLogEntry(_tenantId.ToString(), null, string.Format(MethodBase.GetCurrentMethod().Name + " in ProvisioningAPI was called."), LogLevelType.Info);

                if (request == null)
                {
                    throw new Exception("Did not receive an json message in the post body.");
                }

                var jsonString    = request.Content.ReadAsStringAsync().Result;
                var requestObject = JObject.Parse(jsonString);
                int equipmentId   = Convert.ToInt32(requestObject["calixRequest"]["equipmentId"]);
                var equipmentConnectionSetting = Setup(equipmentId);

                if (equipmentConnectionSetting == null)
                {
                    throw new Exception("Could not find and connection settings for the equipmentId.");
                }

                _logger.WriteLogEntry(_tenantId.ToString(), new List <object> {
                    equipmentId
                }, string.Format("EquipmentId."), LogLevelType.Info);

                var service = new CalixService(_tenantId, equipmentConnectionSetting, _logger);

                _logger.WriteLogEntry(_tenantId.ToString(), null, "got here", LogLevelType.Info);

                var resultObject = service.PostMessage(requestObject["calixRequest"]["request"]);

                _logger.WriteLogEntry(_tenantId.ToString(), new List <object> {
                    resultObject
                }, string.Format(MethodBase.GetCurrentMethod().Name + " in ProvisioningAPI.  Response({0})", HttpStatusCode.OK), LogLevelType.Info);

                return(Request.CreateResponse(HttpStatusCode.OK, resultObject));
            }
            catch (Exception ex)
            {
                _logger.WriteLogEntry(_tenantId.ToString(), null, string.Format(MethodBase.GetCurrentMethod().Name + " in ProvisioningAPI. Response."), LogLevelType.Error, ex);
                throw;
            }
        }