public async Task <ActionResult <EducatorDTO> > GetById(int id)
        {
            Educator educator = await _educatorRepository.GetById(id);

            EducatorDTO educatorDTO          = educator.ToDTO();
            IEnumerable <EducatorRate> rates = await _educatorRepository.GetAllEducatorRates(educatorDTO.ID);

            educatorDTO.Rates = rates.ToDTOList();

            educatorDTO.AvgRate = rates.Count() > 0 ? rates.Average(x => x.Rate) : 0.0;
            return(Ok(educatorDTO));
        }
Пример #2
0
        public async Task <ActionResult <IEnumerable <NotificationDTO> > > GetAllNotifications()
        {
            IEnumerable <Notification> notifications = await _notificationRepository.GetAllNotifications();

            IEnumerable <NotificationDTO> notificationDTOs = notifications.ToDTOList();

            foreach (var item in notificationDTOs)
            {
                if (item.AdministratorId != null)
                {
                    int           admId = Convert.ToInt32(item.AdministratorId);
                    Administrator adm   = await _administratorRepository.GetById(admId);

                    if (adm != null)
                    {
                        AdministratorDTO admDTO = adm.ToDTO();
                        item.AvatarUrl = admDTO.AvatarUrl;
                    }
                }

                else
                {
                    int edcId = Convert.ToInt32(item.EducatorId);

                    Educator edc = await _educatorRepository.GetById(edcId);

                    if (edc != null)
                    {
                        EducatorDTO educatorDTO = edc.ToDTO();
                        item.AvatarUrl = educatorDTO.AvatarUrl;
                    }
                }
            }

            return(Ok(notificationDTOs));
        }