Exemple #1
0
        private void MainUserControl_Load(object sender, EventArgs e)
        {
            _path             = new FileInfo().GetFilePath();
            connectionDetails = JsonDeserializer.ConvertFromFile(_path);
            apiWrapper        = new NanoleafApiWrapper(connectionDetails.IpAdress, connectionDetails.Port, connectionDetails.AuthCode);

            InitializeValues();
            listBox1.DataSource = JsonDeserializer.ListOfEffects(apiWrapper.GetEffets());
            Console.WriteLine(apiWrapper.GetEffets());
        }
Exemple #2
0
        private void OnClickSendRequest(object sender, EventArgs e)
        {
            RemoveControlsFromPanel("lblCantConnect");
            NanoleafApiWrapper apiWrapper = new NanoleafApiWrapper(_ipAdress, _port);

            _authCode = apiWrapper.GetToken();
            if (_authCode.Contains("System.Net.WebException"))
            {
                AddControlsToPanel(new Label()
                {
                    Name      = "lblCantConnect",
                    Text      = "Cant establish connection with the nanoleaf, try again. Remember to hold power button 5 seconds, untile light controller starts flashing",
                    ForeColor = Color.Red,
                    AutoSize  = false,
                    Dock      = DockStyle.Fill,
                    TextAlign = ContentAlignment.MiddleCenter
                }, 1, 2);
            }
            else
            {
                //select only the token, removes /auth_token/ atribute
                Dictionary <string, string> data = JsonConvert.DeserializeObject <Dictionary <string, string> >(apiWrapper.GetToken());
                _authCode = data["auth_token"];
                NanoleafConnectionInfo nCI = new NanoleafConnectionInfo()
                {
                    AuthCode = _authCode,
                    IpAdress = _ipAdress,
                    Port     = _port
                };
                //Create a file with connection information
                ConnectionDocument cD = new ConnectionDocument(nCI);
                cD.CreateFile();

                if (cD.exceptionThrown == null)
                {
                    RemoveControlsFromPanel("lblCantConnect");
                    AddControlsToPanel(new Label()
                    {
                        Name      = "lblEstablishedConnection",
                        Text      = "Connected to nanoleaf. Click continue to open control menu.",
                        ForeColor = Color.Green,
                        AutoSize  = false,
                        Dock      = DockStyle.Fill,
                        TextAlign = ContentAlignment.MiddleCenter
                    }, 1, 2);

                    AddControlsToPanel(Buttons.NewSetupButton("btnFinish", "Continue", OnClickContinue), 2, 4);
                }
            }
        }