Exemplo n.º 1
0
        /// <summary>
        /// Shows a reports details by name.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="stringOption"></param>
        /// <returns></returns>
        public async Task <IEnumerable <ReportDto> > GetAllByNameAsync(string name, Search.StringOption stringOption)
        {
            var option    = GetSearchNameOptions(name, stringOption);
            var reportDbs = await _repository.ReadAllAsync(option, _ => _.Name).ConfigureAwait(false);

            var reportDtos = _mapper.Map <List <ReportDto> >(reportDbs);

            return(reportDtos);
        }
Exemplo n.º 2
0
        private Expression <Func <DashboardDb, bool> > GetSearchNameOptions(string name, Search.StringOption stringOption)
        {
            Expression <Func <DashboardDb, bool> > expressionWhere;

            switch (stringOption)
            {
            case Search.StringOption.Equals:
                expressionWhere = _ => _.Name.Equals(name);
                break;

            case Search.StringOption.StartsWith:
                expressionWhere = _ => _.Name.StartsWith(name);
                break;

            case Search.StringOption.EndsWith:
                expressionWhere = _ => _.Name.EndsWith(name);
                break;

            case Search.StringOption.Contains:
                expressionWhere = _ => _.Name.Contains(name);
                break;

            default:
                expressionWhere = _ => _.Name.StartsWith(name);
                break;
            }
            return(expressionWhere);
        }