public int GetNumberOfExpressions(GetPageParameters parameters) { int res; Log.StartTiming(); using (var context = GetContext()) { res = context.GetNumberOfExpressions(parameters); } Log.StopTiming(); return(res); }
public IEnumerable <ExpressionEntity> GetPage(GetPageParameters parameters) { IEnumerable <ExpressionEntity> res; Log.StartTiming(); using (var context = GetContext()) { res = context.GetPage(parameters); } Log.StopTiming(); return(res); }
public IEnumerable <ExpressionEntity> GetPage(GetPageParameters parameters) { var expressions = Find(Expressions, parameters); expressions = expressions.Skip(parameters.Index * parameters.PageSize).Take(parameters.PageSize); var res = expressions.ToList(); foreach (var ex in res) { ex.SetClean(); } return(res); }
public int GetNumberOfExpressions(GetPageParameters parameters) { return(Find(Expressions, parameters, false).Count()); }
private IQueryable <ExpressionEntity> Find(IQueryable <ExpressionEntity> expressions, GetPageParameters parameters, bool order = true) { var res = expressions.Include(e => e.Translations); if (!String.IsNullOrEmpty(parameters.TextToFind)) { if (parameters.MatchWholeWord) { res = res. Where( e => e.Expression == parameters.TextToFind || e.Translations.Any(t => t.Translation == parameters.TextToFind)); } else { res = res. Where( e => e.Expression != null && e.Expression.Contains(parameters.TextToFind) || e.Translations.Any( t => t.Translation != null && t.Translation.Contains(parameters.TextToFind))); } } if (!String.IsNullOrEmpty(parameters.Category)) { res = res.Where(e => e.Category == parameters.Category); } if (parameters.Lang > 0) { res = res.Where(ex => ex.Translations.Any(t => (t.Language & parameters.Lang) != 0)); if (!parameters.ShowEmpty) { res = res.Where(ex => ex.Translations.Any(t => !String.IsNullOrEmpty(t.Translation))); } } else { res = res.Where(ex => ex.Translations.Count == 0); } if (order) { res = res.OrderBy(e => e.Expression); } return(res); }