Beispiel #1
0
        private async void GetMessagesAsync(object sender, ElapsedEventArgs e)
        {
            var timeStampToSave = DateTime.Now.ToUnixTimestamp();

            foreach (var inbox in inboxes)
            {
                var id = inbox.id;
                var nameValueCollection = new NameValueCollection
                {
                    { "apiKey", (await keyProvider.GetValue("apiKey")) },
                    { "inbox_id", id.ToString() }
                };
                if (lastRetrivedUnixTimeStamp != 0)
                {
                    nameValueCollection.Add("min_time", lastRetrivedUnixTimeStamp.ToString());
                }
                var data = await messageTask.GetMessages(nameValueCollection);

                try
                {
                    if (data["status"].ToString() == "success")
                    {
                        var messages = data["messages"].ToObject <List <Message> >();
                        foreach (var message in messages)
                        {
                            SaveToDisk(message);
                        }
                    }
                    Console.WriteLine("Run at " + DateTime.Now);
                    Console.WriteLine(data["status"]);
                }catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
            File.WriteAllText(timestampPath, DateTime.Now.ToUnixTimestamp().ToString());
        }