public async Task <IActionResult> GetBreadcrumb([FromQuery] string categoryId, [FromQuery] string subcategoryId, [FromQuery] string productId) { if (String.IsNullOrEmpty(categoryId) || String.IsNullOrEmpty(subcategoryId)) { var msg = $"Что-то пошло не так, не удалось получить Breadcrumb для продукта, так как отсутствует категория и подкатегория."; _logger.LogError(msg); return(BadRequest(msg)); } var breadcrumb = String.IsNullOrEmpty(productId) ? await _repository.GetProductBreadcrumb(categoryId, subcategoryId) : await _repository.GetProductBreadcrumb(categoryId, subcategoryId, productId); var order = 1; var breadcrumbList = new List <IBreadcrumb>() { new BreadcrumbDTO() { DisplayName = "Каталог", Url = "Catalog", Order = order++, }, }; breadcrumbList.AddRange( breadcrumb.Select(x => { x.Order = order++; return(x); }) ); return(Success(breadcrumbList)); }