У меня есть эти строки в моем коде:Как я могу удалить сообщения через 24 часа после их публикации?
PostedId.Add(responsePost);
PostedId.Add(DateTime.Now.ToLongDateString());
PostedId является списком добавить к нему идентификатору публикуемого сообщения, а также добавить Дату поста.
Тогда у меня есть эта кнопка щелчка событие, удалять сообщения по каждым позам ID:
private void button7_Click(object sender, EventArgs e)
{
var responsePost = "";
try
{
var objFacebookClient = new FacebookClient(AccessPageToken);
for (int i = 0; i < PostedId.Count; i++)
{
char[] array = PostedId[i].Where(c => Char.IsDigit(c) || c == '_').ToArray();
string s1 = new string(array);
objFacebookClient.Delete(s1);
}
}
catch (Exception ex)
{
responsePost = "Facebook Posting Error Message: " + ex.Message;
}
}
Вместо этого кнопка щелчок событие я перемещу позже код на событие таймера. То, что я хочу добавить в код, - это проверить, что если дата даты была отправлена, она отправляется через 24 часа (день), а затем удаляет ее.
Это пример того, как список PostedId выглядеть следующим образом:
index 0: {"id":"344087212396598_344923118979674"}
index 1: Wednesday, February 19, 2014
index 2: {"id":"344087212396598_344923125646340"}
index 3: Wednesday, February 19, 2014
Index 1 принадлежат показать индекс даты 0 идентификатор был отправлен. Индекс 3 - это дата, когда был отправлен индекс 2.
Я хочу, чтобы проверить, что если дата в индексе 1 прошло 24 часов удалить индекс 0, а затем удалить его собственного индекса 1.
Тогда же для индекса 3 и 2. Если дата в индексе 3 прошло 24 часы сначала удаляют индекс 2, затем удаляют индекс 3.
И так далее для всего индекса в списке объявлений.
Как я могу добавить эту проверку в мое событие click7 кнопки, так что, когда я нажимаю, как сейчас, он не будет удалять все сообщения автоматически, а только те, кто прошел 24 часа?
EDIT **
Это то, что я сделал в настоящее время:
В верхней части формы я добавил:
private List<DateTime> dt = new List<DateTime>();
Затем добавил:
PostedId.Add(responsePost);
dt.Add(DateTime.Now);
Тогда я проверьте даты:
private void button7_Click(object sender, EventArgs e)
{
TimeSpan span = new TimeSpan(1, 0, 0, 0);
var responsePost = "";
try
{
var objFacebookClient = new FacebookClient(AccessPageToken);
for (int i = 0; i < PostedId.Count; i++)
{
char[] array = PostedId[i].Where(c => Char.IsDigit(c) || c == '_').ToArray();
string s1 = new string(array);
if (dt[i] <= DateTime.Now.Subtract(span))
{
objFacebookClient.Delete(s1);
}
}
}
catch (Exception ex)
{
responsePost = "Facebook Posting Error Message: " + ex.Message;
}
}
Это правильно? Я имею в виду делать, если (dt [i] < = DateTime.Now.Subtract (span)) является правильным сравнением?
Я использовал контрольную точку:
Теперь я = 0, так дт индекс 0: {2/19/2014 7:56:07 PM} И пядь: 1, 0, 0, 0 И DateTime.Now в DateTime.Now.Subtract: {2/19/2014 7:59:08 PM}
Итак, когда он удалит его? Через 24 часа? Я сделал все правильно?
если заявление? – Mozzie
Отредактировал мой вопрос сейчас тем, что я сделал. Это правильно ? – user3200169
@ user3200169 Почему вы говорите «мой вопрос» ?. AFAIK этот вопрос из user2704319, который явно отличается идентификатором. Можете ли вы это прояснить? – rene