public IAsyncOperation <GarageDoorGetDoorStateResult> GetDoorStateAsync(AllJoynMessageInfo info)
        {
            Task <GarageDoorGetDoorStateResult> task = new Task <GarageDoorGetDoorStateResult>(() =>
            {
                var newState    = new GarageDoorDoorState();
                var status      = _driver.GetCurrentStatus();
                newState.Value1 = Convert.ToByte(status);
                switch (status)
                {
                case DoorStatus.Closed:
                    newState.Value2 = "Closed";
                    break;

                case DoorStatus.Opened:
                    newState.Value2 = "Opened";
                    break;

                case DoorStatus.Closing:
                    newState.Value2 = "Closing";
                    break;

                case DoorStatus.Opening:
                    newState.Value2 = "Opening";
                    break;

                default:
                    newState.Value2 = "Unknown";
                    break;
                }
                return(GarageDoorGetDoorStateResult.CreateSuccessResult(newState));
            });

            task.Start();
            return(task.AsAsyncOperation());
        }
 public IAsyncOperation<GarageDoorGetDoorStateResult> GetDoorStateAsync(AllJoynMessageInfo info)
 {
     Task<GarageDoorGetDoorStateResult> task = new Task<GarageDoorGetDoorStateResult>(() =>
     {
         var newState = new GarageDoorDoorState();
         var status = _driver.GetCurrentStatus();
         newState.Value1 = Convert.ToByte(status);
         switch(status)
         {
             case DoorStatus.Closed:
                 newState.Value2 = "Closed";
                 break;
             case DoorStatus.Opened:
                 newState.Value2 = "Opened";
                 break;
             case DoorStatus.Closing:
                 newState.Value2 = "Closing";
                 break;
             case DoorStatus.Opening:
                 newState.Value2 = "Opening";
                 break;
             default:
                 newState.Value2 = "Unknown";
                 break;
         }
         return GarageDoorGetDoorStateResult.CreateSuccessResult(newState);
     });
     task.Start();
     return task.AsAsyncOperation();
 }