コード例 #1
0
        /// <inheritdoc/>
        public async Task <ServiceExecuteResult <IEnumerable <IBreadcrumb> > > GetBreadcrumb(string newsId)
        {
            try
            {
                var breadcrumb = await _repository.GetNewsBreadcrumb(newsId);

                var order = 1;

                var breadcrumbList = new List <IBreadcrumb>()
                {
                    new BreadcrumbDTO()
                    {
                        DisplayName = "Акции",
                        Url         = "News",
                        Order       = order++,
                    }
                };

                breadcrumbList.AddRange(
                    breadcrumb.Select(x =>
                {
                    x.Order = order++;
                    return(x);
                })
                    );

                return(new ServiceExecuteResult <IEnumerable <IBreadcrumb> >
                {
                    IsSuccess = true,
                    Result = breadcrumbList
                });
            }
            catch (Exception ex)
            {
                var msg = $"При получении хлебных крошек для новости \"{newsId}\" произошла ошибка: {ex.Message}";
                _logger.LogError(ex, msg);
                return(new ServiceExecuteResult <IEnumerable <IBreadcrumb> >
                {
                    IsSuccess = false,
                    Error = msg
                });
            }
        }