public static bool UpdateUserRecentActivity(User user)
{
try
{
using (SqlConnection connection = ConnectionManager.GetConnection())
{
var data = new ActivEarthDataProvidersDataContext(connection);
List<MessageDataProvider> messages = (from m in data.MessageDataProviders
where m.group_id == -1 && m.user_id == user.UserID
select
m
).ToList();
foreach (MessageDataProvider messageData in messages)
{
bool found = false;
foreach (Message message in user.Wall.Messages)
{
if (messageData.message == message.Text && messageData.user_id == message.Poster.UserID
&& messageData.title == message.Title && messageData.time == message.Time && messageData.date == message.Date)
{
found = true;
}
}
if (!found)
{
data.MessageDataProviders.DeleteOnSubmit(messageData);
}
}
foreach (Message message in user.Wall.Messages)
{
bool found = false;
foreach (MessageDataProvider messageData in messages)
{
if (messageData.message == message.Text && messageData.user_id == message.Poster.UserID
&& messageData.title == message.Title && messageData.time == message.Time && messageData.date == message.Date)
{
found = true;
}
}
if (!found)
{
MessageDataProvider messageData = new MessageDataProvider
{
title = message.Title,
message = message.Text,
user_id = message.Poster.UserID,
group_id = -1,
date = message.Date,
time = message.Time
};
data.MessageDataProviders.InsertOnSubmit(messageData);
}
}
data.SubmitChanges();
return true;
}
}
catch (Exception)
{
return false;
}
}