private IList <ValidationResult> ExtendValidationSearchCriterias(RessourceServerSearchDto c) { var resource = this.GetErrorStringLocalizer(); IList <ValidationResult> result = new List <ValidationResult>(); if (c.Limit - c.Skip > 50) { result.Add(new ValidationResult(String.Format(resource["SearchRessourceServerAskTooMuch"], c))); } return(result); }
public int SearchCount(RessourceServerSearchDto criterias) { Validate(criterias, ExtendValidationSearchCriterias); var count = 0; using (var c = RepositoriesFactory.CreateContext()) { var rsRepo = RepositoriesFactory.GetRessourceServerRepository(c); count = rsRepo.GetAllByCriteriasCount(criterias.Name, criterias.Login, true); } return(count); }
public IEnumerable <RessourceServerDto> Search(RessourceServerSearchDto criterias) { Logger.LogInformation("Search ressource servers"); Validate(criterias, ExtendValidationSearchCriterias); IList <RessourceServer> rs = null; using (var context = RepositoriesFactory.CreateContext()) { var rsRepo = RepositoriesFactory.GetRessourceServerRepository(context); rs = rsRepo.GetAllByCriterias(criterias.Name, criterias.Login, true, criterias.Skip, criterias.Limit).ToList(); } return(rs != null?rs.ToDto() : new List <RessourceServerDto>()); }
public IActionResult GetAll(string name, string login, uint skip, uint limit) { var criterias = new RessourceServerSearchDto() { Name = name, Login = login, Skip = skip, Limit = limit }; var count = _service.SearchCount(criterias); Request.HttpContext.Response.Headers.Add("X-Total-Count", count.ToString()); if (Request.Method.Equals("head", StringComparison.OrdinalIgnoreCase)) { return(Ok()); } else { var clients = _service.Search(criterias); var currentUrl = UriHelper.GetDisplayUrl(Request); return(Ok(clients.ToSearchResult <RessourceServerDto>(currentUrl, count, criterias))); } }