public async Task <OperationResult <ListResponse <SearchResult> > > GetCategories(OffsetLimitModel request, CancellationToken token) { if (!EnableRead) { return(null); } var results = Validate(request); if (results.Any()) { return(new OperationResult <ListResponse <SearchResult> >(new ValidationError(string.Join(Environment.NewLine, results.Select(i => i.ErrorMessage))))); } var parameters = new Dictionary <string, object>(); AddOffsetLimitParameters(parameters, request.Offset, request.Limit); var endpoint = "categories/top"; var result = await Gateway.Get <ListResponse <SearchResult> >(GatewayVersion.V1, endpoint, parameters, token); if (result.IsSuccess) { foreach (var category in result.Result.Results) { category.Name = Transliteration.ToRus(category.Name); } } return(result); }
public async Task <OperationResult <ListResponse <SearchResult> > > GetCategories(OffsetLimitModel request, CancellationToken token) { if (!EnableRead) { return(null); } var results = Validate(request); if (results != null) { return(new OperationResult <ListResponse <SearchResult> >(results)); } var parameters = new Dictionary <string, object>(); AddOffsetLimitParameters(parameters, request.Offset, request.Limit); var endpoint = $"{BaseUrl}/{GatewayVersion.V1}/categories/top"; var result = await HttpClient.Get <ListResponse <SearchResult> >(endpoint, parameters, token); if (result.IsSuccess) { foreach (var category in result.Result.Results) { category.Name = Transliteration.ToRus(category.Name); } } return(result); }
public static string TagToRu(this string text) { if (string.IsNullOrWhiteSpace(text)) { return(text); } return(Transliteration.ToRus(text)); }
public async Task <OperationResult <ListResponse <SearchResult> > > SearchCategories(SearchWithQueryModel model, CancellationToken token) { if (!EnableRead) { return(null); } var results = Validate(model); if (results.Any()) { return(new OperationResult <ListResponse <SearchResult> >(new ValidationError(string.Join(Environment.NewLine, results.Select(i => i.ErrorMessage))))); } var query = Transliteration.ToEng(model.Query); if (query != model.Query) { query = $"ru--{query}"; } model.Query = query; var parameters = new Dictionary <string, object>(); AddOffsetLimitParameters(parameters, model.Offset, model.Limit); parameters.Add("query", model.Query); var endpoint = "categories/search"; var result = await Gateway.Get <ListResponse <SearchResult> >(GatewayVersion.V1, endpoint, parameters, token); if (result.IsSuccess) { foreach (var categories in result.Result.Results) { categories.Name = Transliteration.ToRus(categories.Name); } } return(result); }
public async Task <OperationResult <ListResponse <SearchResult> > > SearchCategories(SearchWithQueryModel model, CancellationToken token) { if (!EnableRead) { return(null); } var results = Validate(model); if (results != null) { return(new OperationResult <ListResponse <SearchResult> >(results)); } var query = Transliteration.ToEng(model.Query); if (query != model.Query) { query = $"ru--{query}"; } model.Query = query; var parameters = new Dictionary <string, object>(); AddOffsetLimitParameters(parameters, model.Offset, model.Limit); parameters.Add("query", model.Query); var endpoint = $"{BaseUrl}/{GatewayVersion.V1P1}/categories/search"; var result = await HttpClient.Get <ListResponse <SearchResult> >(endpoint, parameters, token); if (result.IsSuccess) { foreach (var categories in result.Result.Results) { categories.Name = Transliteration.ToRus(categories.Name); } } return(result); }
public void TranslateToRusTest(string value, string exp) { var rez = Transliteration.ToRus(value); Assert.IsTrue(rez.Equals(exp), $"{rez} != {exp} ({exp} > {value})"); }