コード例 #1
0
ファイル: IoTHubController.cs プロジェクト: KevinKao809/CDS10
        public IHttpActionResult EditFormData(string id, [FromBody] IoTHubModels.Edit IoTHub)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            string logForm          = "Form : " + js.Serialize(IoTHub);
            string logAPI           = "[Put] " + Request.RequestUri.ToString();

            if (!ModelState.IsValid || IoTHub == null)
            {
                Startup._sfAppLogger.Warn(logAPI + " || Input Parameter not expected || " + logForm);
                return(BadRequest("Invalid data"));
            }

            try
            {
                IoTHubModels iotHubModel = new IoTHubModels();
                iotHubModel.updateIoTHub(id, IoTHub);
                return(Ok("Success"));
            }
            catch (Exception ex)
            {
                StringBuilder logMessage = LogUtility.BuildExceptionMessage(ex);
                logMessage.AppendLine(logForm);
                Startup._sfAppLogger.Error(logAPI + logMessage);

                return(InternalServerError(ex));
            }
        }
コード例 #2
0
        public async System.Threading.Tasks.Task <IHttpActionResult> SendC2DMessageAsync(string iotDeviceId)
        {
            try
            {
                int companyId = GetCompanyIdFromToken();
                if (!General.IsIoTDeviceUnderCompany(iotDeviceId, companyId))
                {
                    return(Unauthorized());
                }

                string payload = await Request.Content.ReadAsStringAsync();

                //Retrieve IoTHub Connection String
                IoTDeviceModels iotDeviceModel         = new IoTDeviceModels();
                IoTHubModels    iotHubModel            = new IoTHubModels();
                string          IoTHubAlias            = iotDeviceModel.getIoTDeviceById(iotDeviceId).IoTHubAlias;
                string          IoTHubConnectionString = iotHubModel.getIoTHubById(IoTHubAlias).P_IoTHubConnectionString;

                //Send out Cloud to Device Message
                ServiceClient serviceClient  = ServiceClient.CreateFromConnectionString(IoTHubConnectionString);
                var           commandMessage = new Message(Encoding.ASCII.GetBytes(payload));
                await serviceClient.SendAsync(iotDeviceId, commandMessage);

                return(Ok());
            }
            catch (Exception ex)
            {
                StringBuilder logMessage = LogUtility.BuildExceptionMessage(ex);
                string        logAPI     = "[Put] " + Request.RequestUri.ToString();
                Startup._sfAppLogger.Error(logAPI + logMessage);
                return(InternalServerError(ex));
            }
        }
コード例 #3
0
ファイル: IoTHubController.cs プロジェクト: KevinKao809/CDS10
        public IHttpActionResult GetById(string id)
        {
            IoTHubModels iotHubModel = new IoTHubModels();

            try
            {
                IoTHubModels.Detail company = iotHubModel.getIoTHubById(id);
                return(Ok(company));
            }
            catch
            {
                return(NotFound());
            }
        }
コード例 #4
0
ファイル: IoTHubController.cs プロジェクト: KevinKao809/CDS10
 public IHttpActionResult Delete(string id)
 {
     try
     {
         IoTHubModels iotHubModel = new IoTHubModels();
         iotHubModel.deleteIoTHub(id);
         return(Ok("Success"));
     }
     catch (Exception ex)
     {
         string        logAPI     = "[Delete] " + Request.RequestUri.ToString();
         StringBuilder logMessage = LogUtility.BuildExceptionMessage(ex);
         Startup._sfAppLogger.Error(logAPI + logMessage);
         return(InternalServerError());
     }
 }