public PatientModel GetPatient(int Id) { User user = _userReposatory.Query().Where(a => a.Id == Id) .Include(a => a.Addresses) .Include(a => a.Phones) .Include(a => a.CommentsTo) .FirstOrDefault(); if (user != null) { return(new PatientModel { Id = user.Id, Addresses = _doctorService.MapAddressModels(user.Addresses), Age = user.Age, Email = user.Email, Gender = user.Gender, Fname = user.Fname, Image = user.Image, Lname = user.Lname, Password = user.Password, Phones = _doctorService.MapPhoneModels(user.Phones), Widget = user.Widget, Reviews = _doctorService.GetReviews(Id) }); } return(null); }
public List <DoctorCardModel> Search(int spectialization, int minPrice, int maxPrice, float rate, string city, int id) { int[] Ids = _addressReposatory.Query().Where(a => a.City == city).Select(a => a.Usr_Id).ToArray <int>(); List <Doctor> doctors = _doctorReposatory.Query() .Where(u => u.User.Deleted == false && u.Verified && u.Status && u.User_Id != id && u.Spec_Id == spectialization && u.Salary >= minPrice && u.Salary <= maxPrice && u.User.Rate >= rate && Ids.Contains(u.User_Id) ) .Include(a => a.Certificates) .Include(a => a.Specialization) .Include(a => a.User) .ThenInclude(a => a.Addresses) .Include(a => a.User) .ThenInclude(a => a.Phones).ToList <Doctor>(); List <DoctorCardModel> doctorModels = (from a in doctors select(new DoctorCardModel { Age = a.User.Age, Bio = a.Bio, Degree = a.Degree, Salary = a.Salary, Status = a.Status, Experience = a.Experience, Certificates = _doctorService.MapCertificationModels(a.Certificates), Spc_Name = a.Specialization.Spc_Name, User = _mapper.Map <UserProfileModel>(a.User), Addresses = _doctorService.MapAddressModels(a.User.Addresses), Phones = _doctorService.MapPhoneModels(a.User.Phones), Reviews = _doctorService.GetReviews(a.User_Id) })).ToList <DoctorCardModel>(); return(doctorModels); }