Exemplo n.º 1
0
 public ANDORWhere(Column column, object value, Comparison comp, bool useOr)
 {
     _column = column;
     _value = value;
     _comp = comp;
     _useOr = useOr;
 }
Exemplo n.º 2
0
 public ANDORWhere(Column column, object value)
     : this(column, value, false)
 {
 }
Exemplo n.º 3
0
 public ANDORWhere(Column column, object value, bool useOr)
     : this(column, value, Comparison.Equals, useOr)
 {
 }
Exemplo n.º 4
0
 public void OrWhere(Column column, object value)
 {
     OrWhere(column, value, Comparison.Equals);
 }
Exemplo n.º 5
0
 public void OrWhere(Column column, object value, Comparison comp)
 {
     _wheres.Add(new ANDORWhere(column, value, comp, true));
 }
Exemplo n.º 6
0
 private void OrderBy(Column column, string direction)
 {
     _orders.Add(string.Format("{0}.{1} {2}"
         , DataService.Provider.QuoteName( _Table.TableName )
         , DataService.Provider.QuoteName( column.Name )
         , direction
         ));
 }
Exemplo n.º 7
0
 public void AndWhere(Column column, object value, Comparison comp)
 {
     _wheres.Add(new ANDORWhere(column, value, comp, false));
 }
Exemplo n.º 8
0
 /// <summary>
 /// Ads an Order by Asc
 /// </summary>
 /// <param name="column"></param>
 public void OrderByAsc(Column column)
 {
     OrderBy(column, "ASC");
 }
Exemplo n.º 9
0
 /// <summary>
 /// Ads an Order by DESC
 /// </summary>
 /// <param name="column"></param>
 public void OrderByDesc(Column column)
 {
     OrderBy(column, "DESC");
 }
Exemplo n.º 10
0
 /// <summary>
 /// Ors an IN clause
 /// </summary>
 /// <param name="column"></param>
 /// <param name="ints"></param>
 public void AndInWhere(Column column, params int[] ints)
 {
     _wheres.Add(new INWhere(column, false, ints));
 }
Exemplo n.º 11
0
 /// <summary>
 /// Ands an IN clause
 /// </summary>
 /// <param name="column"></param>
 /// <param name="strings"></param>
 public void AndInWhere(Column column, params string[] strings)
 {
     _wheres.Add(new INWhere(column,false,strings));
 }
Exemplo n.º 12
0
 public INWhere(Column column, bool useOr, params string[] strings)
 {
     string_Keys = strings;
     _column = column;
     _useOr = useOr;
 }
Exemplo n.º 13
0
 public INWhere(Column column, bool useOr, params int[] ints)
 {
     int_Ids = ints;
     _column = column;
     _useOr = useOr;
 }
Exemplo n.º 14
0
        private static void DeleteByColumn(Column column,  bool state)
        {
            List<string> idsToDelete = new List<string>();
            List<int> postIdsChanged = new List<int>();

            Query q = CreateQuery();
            q.AndWhere(column,state);
            q.AndWhere(Columns.Published, DateTime.Now.AddDays(-1 * Int32.Parse(ConfigurationManager.AppSettings["Graffiti::Comments::DaysToDelete"] ?? "7")),Comparison.LessOrEquals);
            q.Top = "25";
            q.OrderByAsc(Columns.Published);
            CommentCollection cc = CommentCollection.FetchByQuery(q);
            foreach(Comment c in cc)
            {
                idsToDelete.Add(c.Id.ToString());
                if (!postIdsChanged.Contains(c.PostId))
                    postIdsChanged.Add(c.PostId);
            }

            if(idsToDelete.Count > 0)
            {
                QueryCommand deleteCommand =
                    new QueryCommand("DELETE FROM graffiti_Comments where Id in (" + string.Join(",", idsToDelete.ToArray()) + ")");

                DataService.ExecuteNonQuery(deleteCommand);

                foreach(int pid in postIdsChanged)
                    Core.Post.UpdateCommentCount(pid);

                Log.Info("Deleted Comments", idsToDelete.Count + " comment(s) were removed from the database since they were older than " + (ConfigurationManager.AppSettings["Graffiti::Comments::DaysToDelete"] ?? "7") + " days and marked as " + ((column.Name == "IsDeleted") ? " deleted" : " unpublished") );
            }
        }