|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ArticleRatings
{
static class Cleaner
{
public static void Clean( Users users )
{
foreach ( var user in users.Values ) Clean( user );
}
public static void Clean( User user )
{
foreach ( var article in user.Articles.Values ) Clean( article );
}
public static void Clean( Article article )
{
var list = new List<Stat>();
Stat prev = null;
foreach ( var stat in article.Stats.Values.Reverse() )
{
try
{
if ( prev != null )
{
if ( stat.IsDuplicate( prev ) )
if ( stat.VotingTotals == null && stat.Votings == null )
continue;
}
list.Add( stat );
}
finally
{
prev = stat;
}
}
bool prevAdded = false;
article.Stats.Clear();
foreach ( var stat in list )
{
article.Stats.Add( stat );
if ( stat == prev ) prevAdded = true;
}
if ( !prevAdded ) article.Stats.Add( prev );
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I discovered C# and .NET 1.0 Beta 1 in late 2000 and loved them immediately.
I have been writing software professionally in C# ever since
In real life, I have spent 3 years travelling abroad,
I have held a UK Private Pilots Licence for 20 years,
and I am a PADI Divemaster.
I now live near idyllic Bournemouth in England.
I can work 'virtually' anywhere!