Пример #1
0
        public async Task <IEnumerable <ScientificWorkDto> > GetApprovedWorksAsync()
        {
            var listOfScientificWorks = await _scientificWorkRepository.GetApprovedWorksAsync();

            var listOfScientificWorksDto = new List <ScientificWorkDto>();

            foreach (var scientificWork in listOfScientificWorks)
            {
                var authors = $"{scientificWork.MainAuthor.Name} {scientificWork.MainAuthor.Surname}";

                // Sometimes the work doesn't include other authors except main one
                if (!(scientificWork.OtherAuthors is null))
                {
                    authors += $", {scientificWork.OtherAuthors}";
                }

                var scientificWorkDto = new ScientificWorkDto()
                {
                    Id           = scientificWork.Id,
                    Authors      = authors,
                    Title        = scientificWork.Name,
                    Description  = scientificWork.Description,
                    CreationDate = scientificWork.CreationDate.ToString("g"),
                    // Get date of latest update of work
                    UpdateDate     = scientificWork.Versions.OrderBy(x => x.Version).Last().DateAdd.ToString("g"),
                    Specialization = scientificWork.Specialization
                };

                listOfScientificWorksDto.Add(scientificWorkDto);
            }

            return(listOfScientificWorksDto);
        }
        public async Task <IEnumerable <ScientificWorkDto> > GetApprovedWorksAsync()
        {
            var listOfScientificWorks = await _scientificWorkRepository.GetApprovedWorksAsync();

            return(listOfScientificWorks.Select(x => _mapper.Map <ScientificWorkDto>(x)));
        }