/// <inheritdoc /> public async Task <bool> Unlock(string targetedDeviceId, LockerActionEnum action) { if (this._deviceClient == null) { var initialized = InitializeIotHub(); if (!initialized) { return(false); } } LockerMessage req = new LockerMessage(); req.Action = action; req.SenderDeviceId = Constants.CurrentLoggedInUser.DeviceId; req.TargetedDeviceId = targetedDeviceId; req.IotHubEndpoint = IotEndpointsEnum.D2DEndpoint; var messageString = JsonConvert.SerializeObject(req); byte[] messageBytes = Encoding.UTF8.GetBytes(messageString); var message = new Message(messageBytes); message.Properties.Add("IotHubEndpoint", IotEndpointsEnum.D2DEndpoint); try { await this._deviceClient.SendEventAsync(message); } catch (Exception e) { Console.WriteLine(e.Message); return(false); } return(true); }
/// <inheritdoc /> public async Task <ResponseBase> AddNewActionForLocker(LockerActionEnum type) { var request = new ActionRequest(); request.Action = type; var responseData = new ResponseBase() { HasBeenSuccessful = false }; var result = await this._apiWrapper.AddNewActionForLocker(request); string content = await result.Content.ReadAsStringAsync(); if (result.StatusCode == HttpStatusCode.OK) { try { var deserializedContent = JsonConvert.DeserializeObject <ResponseBase>(content); if (!deserializedContent.HasBeenSuccessful) { responseData.HasBeenSuccessful = false; responseData.Error = "Internal Server Error"; return(responseData); } responseData.HasBeenSuccessful = true; responseData.Error = null; return(responseData); } catch (Exception e) { Console.WriteLine(e.StackTrace); responseData.HasBeenSuccessful = false; responseData.Error = "Deserialization Error"; return(responseData); } } else { responseData.HasBeenSuccessful = false; responseData.Error = "Internal Error" + result.StatusCode.ToString();; return(responseData); } }