コード例 #1
0
        /// <summary>
        /// Create a new Twiddla User, returning the UserID if successful
        /// </summary>
        /// <param name="newusername"></param>
        /// <param name="newpassword"></param>
        /// <param name="displayname"></param>
        /// <param name="email"></param>
        /// <returns></returns>
        public static int CreateUser(string newusername, string newpassword, string displayname, string email)
        {
            string endpoint = String.Format(@"http://{0}/API/CreateUser.aspx", GetTwiddlaHost(HttpContext.Current.Request));

            APICaller caller = new APICaller(endpoint);
            caller.Add("username", TwiddlaUsername);
            caller.Add("password", TwiddlaPassword);
            caller.Add("newusername", newusername);
            caller.Add("newpassword", newpassword);
            caller.Add("displayname", displayname);
            caller.Add("email", email);

            if (caller.Call())
            {
                return caller.IntValue;
            }

            throw caller.LastException;
        }
コード例 #2
0
        /// <summary>
        /// Create a new Twiddla Meeting, returning the SessionID if successful
        /// </summary>
        /// <param name="meetingpassword"></param>
        /// <param name="meetingtitle"></param>
        /// <param name="url">For custom URLs.  Leave blank or null for a standard, numbered, meetingID</param>
        /// <returns></returns>
        /// 
        public static int CreateMeeting(string meetingtitle, string meetingpassword, string url)
        {
            string endpoint = String.Format(@"http://{0}/new.aspx", GetTwiddlaHost(HttpContext.Current.Request));

            APICaller caller = new APICaller(endpoint);
            caller.Add("username", TwiddlaUsername);
            caller.Add("password", TwiddlaPassword);
            caller.Add("meetingtitle", meetingtitle);
            caller.Add("meetingpassword", meetingpassword);
            if (!String.IsNullOrEmpty(url))
            {
                caller.Add("url", url);
            }

            if (caller.Call())
            {
                return caller.IntValue;
            }

            throw caller.LastException;
        }
コード例 #3
0
 public static void Main(string[] args)
 {
     APICaller.InitializeClient();
     CreateHostBuilder(args).Build().Run();
 }
コード例 #4
0
    public IEnumerator GetEndOfGame(string requestUrl, string locatienaam, double score, APICaller API, Action <string, string, Double, APICaller> doLast)
    {
        string url;

        if (debug)
        {
            url = baseLocalURL + requestUrl;
        }
        else
        {
            url = baseURL + requestUrl;
        }


        Debug.Log(url);
        using (WWW www = new WWW(url))
        {
            yield return(www);

            string temp = www.text;
            //Debug.Log(json == ""); json is een string en zal nooit null zijn.
            if (temp != "") //vervang null door een error waarde van de server
            {
                json = www.text;
            }

            else
            {
                json = "-1";
            }
            isBusy = false;
            doLast(json, locatienaam, score, API);
            //Debug.Log("Get Done");
            www.Dispose();
        }
    }
        // TODO: RESET BUTTON?
        static void Main(string[] args)
        {
            // Connect to the Arduino. Connecting here prevents a 2 second delay before the first commands are sent
            ArduinoControlSender.Instance.TryConnect(createNewPort: true);
            ArduinoControlSender.Instance.CheckArduinoStatus();

            // Print out the state of the state machine at the start of the program
            Console.WriteLine($"Temperature State: {StateMachineContainer.Instance.Temperature.CurrentState.ToString()}");
            Console.WriteLine($"Shading State: {StateMachineContainer.Instance.Shading.CurrentState.ToString()}");
            for (int i = 0; i < StateMachineContainer.Instance.LightStateMachines.Count; i++)
            {
                Console.WriteLine($"Lighting Zone {StateMachineContainer.Instance.LightStateMachines[i].Zone}"
                                  + $"State: {StateMachineContainer.Instance.LightStateMachines[i].CurrentState.ToString()}");
            }
            for (int i = 0; i < StateMachineContainer.Instance.WateringStateMachines.Count; i++)
            {
                Console.WriteLine($"Watering Zone {StateMachineContainer.Instance.WateringStateMachines[i].Zone}"
                                  + $"State: {StateMachineContainer.Instance.WateringStateMachines[i].CurrentState.ToString()}");
            }

            // Event handlers for printing state changes
            StateMachineContainer.Instance.Temperature.StateChanged += (o, i) => { Console.WriteLine($"{o}: {i.State}"); };
            StateMachineContainer.Instance.Shading.StateChanged     += (o, i) => { Console.WriteLine($"{o}: {i.State}"); };
            for (int j = 0; j < StateMachineContainer.Instance.LightStateMachines.Count; j++)
            {
                StateMachineContainer.Instance.LightStateMachines[j].StateChanged += (o, i) => { Console.WriteLine($"{o}: {i.State}"); };
            }
            for (int j = 0; j < StateMachineContainer.Instance.WateringStateMachines.Count; j++)
            {
                StateMachineContainer.Instance.WateringStateMachines[j].StateChanged += (o, i) => { Console.WriteLine($"{o}: {i.State}"); };
            }

            // Sync object for event
            object syncRoot = new object();

            // Timer for requesting sensor data
            var time = new System.Timers.Timer();

            // Create the blocking collection
            //var dataBuffer = new BlockingCollection<byte[]>();
            //PacketRequester packetListener = new PacketRequester(dataBuffer, time);
            //PacketConsumer packetConsumer = new PacketConsumer();
            APICaller      apiCaller   = new APICaller();
            APIDataHandler dataHandler = new APIDataHandler(apiCaller);

            // We lock the data analyzer object, because the timer gets put on a separate thread by default
            // So by locking the data analyzer, we can avoid simultaneous operations that would cause B A D things to happen
            // Also, since there's no longer multithreading in the operations, the lock gaurantees there's no unwanted simultaneous operations
            time.Interval = 5000;
            //time.Elapsed += (o, i) => { lock (syncRoot) { packetListener.RequestData(); } };
            time.AutoReset = true;
            time.Elapsed  += (o, i) =>
            {
                lock (syncRoot)
                {
                    dataHandler.RequestDataFromAPI();
                }
            };

            // Event handler for when blocking collections get data
            //packetListener.ItemInQueue += (o, i) => { packetConsumer.ReceiveGreenhouseData(i.Buffer); };

            // Start the timer and keep the OS from garbage collecting it since it runs indefinitely
            time.Start();
            GC.KeepAlive(time);

            // Just keeps the program from ending. Really not the best way, but hey, it works
            Console.ReadLine();
        }
コード例 #6
0
 // Use this for initialization
 public void Setup()
 {
     _api    = gameObject.AddComponent <APICaller>();
     updater = gameObject.AddComponent <InfoUpdater>();
     isDone  = true;
 }
コード例 #7
0
 // Use this for initialization
 void Start()
 {
     inventory = (TeamListDisplay)Instantiate(teamListDisplay);
     api       = gameObject.AddComponent <APICaller>();
     api.ApiGet(url, getPlayers);
 }
コード例 #8
0
 // Start is called before the first frame update
 void Start()
 {
     inventory = (EndInventoryDisplay)Instantiate(inventoryDisplayPrefab);
     api       = gameObject.AddComponent <APICaller>();
     api.ApiGet(url, getScores);
 }
コード例 #9
0
        public async Task <IActionResult> EbayListing(string title)
        {
            string url = await APICaller.GetEbayListingAsync(title);

            return(Redirect(url));
        }
コード例 #10
0
        public async Task <IActionResult> Trailer(string title)
        {
            string url = await APICaller.GetTrailerAsync(title);

            return(Redirect(url));
        }
コード例 #11
0
        public async Task <ActionResult> Reviews(string title)
        {
            List <Review> reviews = await APICaller.GetMovieReviews(title);

            return(View(reviews));
        }
コード例 #12
0
        public async Task <ActionResult> Details(int Id)
        {
            Film details = await APICaller.GetFilmDetailsAsync(Id);

            return(View(details));
        }
コード例 #13
0
 private Configuration()
 {
     APICaller.UpdateConfiguration();
 }
コード例 #14
0
 public APIDataHandler(APICaller caller)
 {
     _apiCaller = caller;
 }
コード例 #15
0
 void Start()
 {
     UpdateClock();
     api         = api = gameObject.AddComponent <APICaller>();
     levelLoader = gameObject.AddComponent <LevelLoader>();
 }
コード例 #16
0
 void Start()
 {
     api = gameObject.AddComponent <APICaller>();
 }
コード例 #17
0
 public virtual void NotifyCallerProcedure(ChannelInstance ch, APICaller caller)
 {
 }
コード例 #18
0
 private void InitializeGlobalVariable()
 {
     apiCaller  = new APICaller();
     fileDealer = new FileDealer();
 }
コード例 #19
0
        /// <summary>
        /// List all snapshots for the supplied sessionID
        /// </summary>
        /// <param name="format"></param>
        /// <param name="sessionID"></param>
        /// <returns></returns>
        public static string ListSnapshots(ResponseFormat format, int sessionID)
        {
            string endpoint = String.Format(@"http://{0}/API/ListSnapshots.aspx", GetTwiddlaHost(HttpContext.Current.Request));

            APICaller caller = new APICaller(endpoint);
            caller.Add("username", TwiddlaUsername);
            caller.Add("password", TwiddlaPassword);
            caller.Add("format", format.ToString().ToLower());
            if (sessionID > 0)
            {
                caller.Add("sessionid", sessionID);
            }

            if (caller.Call())
            {
                return caller.Html;
            }

            throw caller.LastException;
        }
コード例 #20
0
 void Start()
 {
     Debug.Log("trste");
     api = gameObject.AddComponent <APICaller>();
 }
コード例 #21
0
 // Use this for initialization
 void Start()
 {
     playerObject = GameObject.Find("Knight");
     api          = gameObject.AddComponent <APICaller>();
     levelLoader  = gameObject.AddComponent <LevelLoader>();
 }
コード例 #22
0
        private void CheckLoginStatus()
        {
            try
            {
                // Get Municipality from storage and deserialize
                if (_storage.Retrieve(Definitions.AuthKey) == null)
                {
                    Definitions.Report = new DriveReport();
                    Navigation.PushAsync <LoginViewModel>();

                    return;
                }
                var byteArray = _storage.Retrieve(Definitions.AuthKey);
                var mstring   = Encoding.UTF8.GetString(byteArray, 0, byteArray.Length);
                var userToken = JsonConvert.DeserializeObject <Authorization>(mstring);
                // Get Token from storage and deserialize
                if (_storage.Retrieve(Definitions.MunKey) == null || _storage.Retrieve(Definitions.UserDataKey) == null)
                {
                    Definitions.Report = new DriveReport();
                    Navigation.PushAsync <LoginViewModel>();
                    return;
                }

                var munByte   = _storage.Retrieve(Definitions.MunKey);
                var munString = Encoding.UTF8.GetString(munByte, 0, munByte.Length);
                var mun       = JsonConvert.DeserializeObject <Municipality>(munString);

                var userByte   = _storage.Retrieve(Definitions.UserDataKey);
                var userString = Encoding.UTF8.GetString(userByte, 0, userByte.Length);
                var user       = JsonConvert.DeserializeObject <UserInfoModel>(userString);

                APICaller.RefreshModel(userToken, mun).ContinueWith((result) =>
                {
                    if (result.Result.Error.ErrorCode == "404")
                    {
                        App.ShowMessage(result.Result.Error.Message + "\n" +
                                        "Data kunne ikke hentes. Gemte data benyttes.");

                        Definitions.User    = user;
                        Definitions.MunIcon = new UriImageSource {
                            Uri = new Uri(mun.ImgUrl)
                        };
                        Definitions.TextColor      = mun.TextColor;
                        Definitions.PrimaryColor   = mun.PrimaryColor;
                        Definitions.SecondaryColor = mun.SecondaryColor;
                        Definitions.MunUrl         = mun.APIUrl;
                        return;
                    }
                    else if (result.Result.User == null)
                    {
                        App.ShowMessage("Fejl: " + result.Result.Error.Message);
                        Definitions.Report = new DriveReport();
                        Navigation.PushAsync <LoginViewModel>();

                        return;
                    }

                    Definitions.User    = result.Result.User;
                    Definitions.MunIcon = new UriImageSource {
                        Uri = new Uri(mun.ImgUrl)
                    };
                    Definitions.TextColor      = mun.TextColor;
                    Definitions.PrimaryColor   = mun.PrimaryColor;
                    Definitions.SecondaryColor = mun.SecondaryColor;
                    Definitions.MunUrl         = mun.APIUrl;
                    _storage.Store(Definitions.UserDataKey, Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(result.Result.User)));

                    Definitions.Report = new DriveReport();

                    InitializeCollection();
                }, TaskScheduler.FromCurrentSynchronizationContext());
            }
            catch (Exception e)
            {
                Definitions.Report = new DriveReport();

                Navigation.PushAsync <LoginViewModel>();
                return;
            }
        }