public static ISqlFilter SqlIntFilter(UserFilterProviderColumn columnFilter) { string column = "counter"; int? filterValue = null; while (!filterValue.HasValue) { Console.WriteLine(" Inserisci il counter:"); var str = Console.ReadLine(); if (int.TryParse(str, out var value)) { filterValue = value; } } IntFilterMode?mode = null; //non è più un enum ma un oggetto che ha un enum ma che può essere nullo while (mode == null) { Console.WriteLine("1. minore"); Console.WriteLine("2. uguale"); Console.WriteLine("3. maggiore"); var key = Console.ReadKey(); switch (key.KeyChar) { case '1': mode = IntFilterMode.Minor; break; case '2': mode = IntFilterMode.Equal; break; case '3': mode = IntFilterMode.Major; break; } } var filter = new IntFilter(column, filterValue.Value, mode.Value); return(filter); }
public static ISqlFilter SqlDateTimeFilter(UserFilterProviderColumn columnFilter) { string column = "timestamp"; DateTime?filterValue = null; while (!filterValue.HasValue) { Console.WriteLine(" Inserisci la data in formato standard:"); var str = Console.ReadLine(); if (DateTime.TryParse(str, out var value)) { filterValue = value; } } DateTimeFilterMode?mode = null; //non è più un enum ma un oggetto che ha un enum ma che può essere nullo while (mode == null) { Console.WriteLine("1. prima"); Console.WriteLine("2. ora esatta"); Console.WriteLine("3. dopo"); var key = Console.ReadKey(); switch (key.KeyChar) { case '1': mode = DateTimeFilterMode.Before; break; case '2': mode = DateTimeFilterMode.At; break; case '3': mode = DateTimeFilterMode.After; break; } } var filter = new DateTimeFilter(column, filterValue.Value, mode.Value); return(filter); }
public static ISqlFilter SqlTextStringFilter(UserFilterProviderColumn columnFilter) { string column; switch (columnFilter) { case UserFilterProviderColumn.Email: Console.WriteLine(" Inserisci l'email o parte di essa:"); column = "email"; break; case UserFilterProviderColumn.Phone: Console.WriteLine(" Inserisci il telefono o parte di esso:"); column = "phone"; break; case UserFilterProviderColumn.Name: Console.WriteLine(" Inserisci il nome o parte di esso:"); column = "name"; break; case UserFilterProviderColumn.Notes: Console.WriteLine(" Inserisci le note o parte di esse:"); column = "notes"; break; default: throw new Exception(); } var filterValue = Console.ReadLine(); StringTextFilterMode?mode = null; //non è più un enum ma un oggetto che ha un enum ma che può essere nullo while (mode == null) { Console.WriteLine("1. Contains"); Console.WriteLine("2. Starts"); Console.WriteLine("3. End"); Console.WriteLine("4. Match esatto"); var key = Console.ReadKey(); switch (key.KeyChar) { case '1': mode = StringTextFilterMode.Contains; break; case '2': mode = StringTextFilterMode.Starts; break; case '3': mode = StringTextFilterMode.Ends; break; case '4': mode = StringTextFilterMode.Equal; break; } } var filter = new StringTextFilter(column, filterValue.Trim(), mode.Value); return(filter); }