private static WatchlistBE PopulateWatchlist(IDataRecord dr) { WatchlistBE watch = new WatchlistBE(); watch.UserID = DbUtils.Convert.To <uint>(dr["wl_user"], 0); watch.Title = Title.FromDbPath((NS)DbUtils.Convert.To <uint>(dr["wl_namespace"]).Value, GetUTF8String(dr, "wl_title"), null); return(watch); }
public static Dictionary <Site, List <WatchlistBE> > GetWatchlistBySite() { Dictionary <Site, List <WatchlistBE> > watchlistBySite = new Dictionary <Site, List <WatchlistBE> >(); foreach (Site site in MediaWikiConverterContext.Current.MWSites) { List <WatchlistBE> watchlist = new List <WatchlistBE>(); watchlistBySite[site] = watchlist; MediaWikiConverterContext.Current.MWCatalog.NewQuery(String.Format("SELECT wl_user, wl_namespace, wl_title FROM {0}watchlist", site.DbPrefix)).Execute(delegate(IDataReader dr) { while (dr.Read()) { WatchlistBE watch = PopulateWatchlist(dr); if (IsSupportedNamespace(watch.Title)) { watchlist.Add(watch); } } }); } return(watchlistBySite); }
public static void InsertDWWatch(WatchlistBE watch) { MediaWikiConverterContext.Current.DWCatalog.NewQuery(String.Format("REPLACE into watchlist (wl_user, wl_namespace, wl_title) VALUES ({0}, '{1}', '{2}')", watch.UserID, (uint)watch.Title.Namespace, DataCommand.MakeSqlSafe(watch.Title.AsUnprefixedDbPath()))).Execute(); }