コード例 #1
0
ファイル: TutorRepository.cs プロジェクト: Qasim-Rafi/AppSPA
        public async Task <ServiceResponse <object> > SearchTutor(SearchTutorDto model)
        {
            var subjectDetails = await _context.TutorSubjects.FirstOrDefaultAsync(m => m.Id == model.SubjectId);

            var users = await(from user in _context.Users
                              join pr in _context.TutorProfiles
                              on user.Id equals pr.CreatedById

                              join subject in _context.TutorSubjects
                              on user.Id equals subject.CreatedById

                              where pr.GradeLevels.Contains(model.Class) &&
                              pr.CityId == model.CityId &&
                              subject.Name == subjectDetails.Name &&
                              user.Active == true &&
                              user.UserTypeId == (int)Enumm.UserType.Tutor
                              //&& user.Gender.ToLower() == model.Gender.ToLower()
                              select new TutorProfileForListDto
            {
                Id                     = user.Id,
                FullName               = user.FullName,
                Email                  = user.Email,
                Gender                 = user.Gender,
                CityId                 = pr.CityId,
                CityName               = _context.Cities.FirstOrDefault(m => m.Id == pr.CityId).Name,
                Subjects               = string.Join(',', _context.TutorSubjects.Where(m => m.CreatedById == user.Id).Select(m => m.Name)),
                About                  = pr.About,
                AreasToTeach           = pr.AreasToTeach,
                CommunicationSkillRate = pr.CommunicationSkillRate,
                Education              = pr.Education,
                GradeLevels            = pr.GradeLevels,
                LanguageFluencyRate    = pr.LanguageFluencyRate,
                WorkExperience         = pr.WorkExperience,
                WorkHistory            = pr.WorkHistory,
                Photos                 = _context.Photos.Where(m => m.UserId == user.Id && m.IsPrimary == true).OrderByDescending(m => m.Id).Select(x => new PhotoDto
                {
                    Id        = x.Id,
                    Name      = x.Name,
                    IsPrimary = x.IsPrimary,
                    Url       = _File.AppendImagePath(x.Name)
                }).ToList(),
            }).ToListAsync();


            _serviceResponse.Data    = users;
            _serviceResponse.Success = true;
            return(_serviceResponse);
        }
コード例 #2
0
        public async Task <IActionResult> SearchTutor(SearchTutorDto searchModel)
        {
            _response = await _repo.SearchTutor(searchModel);

            return(Ok(_response));
        }