public HttpResponseMessage getDoctorDetail(string type = "0", string cityId = "0", string countryId = "0", string diseaseType = "0") { FilterDoctor _filterDoctor = new FilterDoctor(); FilterHospital _filterHospital = new FilterHospital(); result _result = new result(); _result.Hospitals = getHospital(type, cityId, countryId, diseaseType, ref _filterDoctor, ref _filterHospital); _result.FilterDoctor = type == "0"? _filterDoctor : null; _result.FilterHospital = _filterHospital; return(Request.CreateResponse(HttpStatusCode.Accepted, _result)); }
public HttpResponseMessage getSearchDoctorDetail(string searchType, string searchName) { string type = "0"; FilterDoctor _filterDoctor = new FilterDoctor(); FilterHospital _filterHospital = new FilterHospital(); result _result = new result(); _result.Hospitals = getHospital("0", "0", "0", "0", "0", searchType, searchName, ref _filterDoctor, ref _filterHospital); _result.FilterDoctor = type == "0" ? _filterDoctor : null; _result.FilterHospital = _filterHospital; return(Request.CreateResponse(HttpStatusCode.Accepted, _result)); }
private List <Hospital> getHospital(string type, string cityId, string countryId, string diseaseType, ref FilterDoctor _filterDoctor, ref FilterHospital _filterHospital) { var hospitalService = _hospitalServicesRepository.GetAll().OrderBy(x => x.HospitalServices).ToList(); var hospitalAmenitie = _hospitalAmenitieRepository.GetAll().OrderBy(x => x.HospitalAmenities).ToList(); Hospital _hospital = new Hospital(); List <Hospital> _hospitals = new List <Hospital>(); List <HospitalDetails> hospitals = _hospitaldetailsRepo.Find(x => (cityId != "0" && x.City == cityId) && (countryId != "0" && x.Country == countryId)); List <TblHospitalServices> _hospitalServices = new List <TblHospitalServices>(); List <TblHospitalAmenities> _hospitalAmenities = new List <TblHospitalAmenities>(); foreach (var h in hospitals ?? new List <HospitalDetails>()) { var feedback = _feedbackRepo.Find(x => x.PageId == h.HospitalId); _hospital = new Hospital { HospitalId = h.HospitalId, HospitalName = h.HospitalName, Mobile = h.Mobile, AlternateNumber = h.AlternateNumber, Website = h.Website, EstablishYear = h.EstablishYear, NumberofBed = h.NumberofBed, NumberofAmbulance = h.NumberofAmbulance, PaymentType = h.PaymentType, Emergency = h.Emergency, FacilityId = h.FacilityId, Address = h.Address, Street = h.Street, Country = h.Country, City = h.City, PostCode = h.PostCode, Landmark = h.Landmark, InsuranceCompanies = h.InsuranceCompanies, AmenitiesIds = Array.ConvertAll(h.Amenities.Split(','), s => int.Parse(s)), Amenities = getHospitalAmenities(h.Amenities, hospitalAmenitie), ServicesIds = Array.ConvertAll(h.Services.Split(','), s => int.Parse(s)), Services = getHospitalService(h.Services, hospitalService), Doctors = type == "0" ? getDoctors(h.HospitalId, diseaseType, ref _filterDoctor) : null, Likes = feedback.Where(x => x.ILike == true).Count(), Feedbacks = feedback.Count(), BookingUrl = $"booking/{h.HospitalId}", ProfileDetailUrl = $"hospitalDetails/{h.HospitalId}", ImgUrl = $"{constant.imgUrl}/Hospital/{h.HospitalId}.Jpeg" }; _hospitalServices.AddRange(_hospital.Services); _hospitalAmenities.AddRange(_hospital.Amenities); _hospitals.Add(_hospital); } var Services = _hospitalServices.Select(x => new FilterData { Id = x.Id, Name = x.HospitalServices }).Distinct().ToList(); _filterDoctor.Services = Services; _filterHospital.Services = Services; _filterHospital.Amenities = _hospitalAmenities.Select(x => new FilterData { Id = x.Id, Name = x.HospitalAmenities }).Distinct().ToList(); // _filterHospital.Specialization = _filterDoctor.Specialization; return(_hospitals); }
private List <Hospital> getHospital(string type, string cityId, string countryId, string diseaseType, string hospitalType, string searchType, string searchName, ref FilterDoctor _filterDoctor, ref FilterHospital _filterHospital) { int[] a = new int[0]; var hospitalService = _hospitalServicesRepository.GetAll().OrderBy(x => x.HospitalServices).ToList(); var hospitalAmenitie = _hospitalAmenitieRepository.GetAll().OrderBy(x => x.HospitalAmenities).ToList(); Hospital _hospital = new Hospital(); List <Hospital> _hospitals = new List <Hospital>(); List <HospitalDetails> hospitals = new List <HospitalDetails>(); string searchtext = "null"; if (string.IsNullOrEmpty(type)) { type = "0"; } int facilityid = Convert.ToInt32(type); if (searchName != null) { searchtext = searchName.Split('(')[0]; } if (searchType == "1") { hospitals = _hospitaldetailsRepo.Find(x => x.HospitalName.Contains(searchtext) && x.EmailConfirmed == true); } else if (searchType == "2") { var docId = searchName.Split('(')[1].Split(')')[0]; searchtext = docId; var doctor = _doctorRepo.GetAll().Where(x => x.DoctorId == docId).FirstOrDefault(); if (doctor != null) { hospitals = _hospitaldetailsRepo.Find(x => x.HospitalId == doctor.HospitalId && x.EmailConfirmed == true).ToList(); } ; } else { if (cityId != "null") { if (type == "2") { hospitals = _hospitaldetailsRepo.Find(x => (cityId != "0" && x.City == cityId) && (countryId != "0" && x.Country == countryId) && x.Type == hospitalType && x.FacilityId == 2); } else if (type == "0") { hospitals = _hospitaldetailsRepo.Find(x => (cityId != "0" && x.City == cityId) && (countryId != "0" && x.Country == countryId && x.IsDocumentApproved == 1)); } else { hospitals = _hospitaldetailsRepo.Find(x => (cityId != "0" && x.City == cityId) && (countryId != "0" && x.Country == countryId && x.FacilityId == facilityid && x.IsDocumentApproved == 1)); } } else { if (type == "2") { hospitals = _hospitaldetailsRepo.Find(x => countryId != "0" && x.Country == countryId && x.Type == hospitalType && x.FacilityId == facilityid && x.IsDocumentApproved == 1); } else if (type == "0") { hospitals = _hospitaldetailsRepo.Find(x => countryId != "0" && x.Country == countryId && x.IsDocumentApproved == 1); } else { hospitals = _hospitaldetailsRepo.Find(x => countryId != "0" && x.Country == countryId && x.Type == hospitalType && x.FacilityId == facilityid && x.IsDocumentApproved == 1); } //hospitals = _hospitaldetailsRepo.Find(x => countryId != "0" && x.Country == countryId && x.Type == hospitalType && x.IsDocumentApproved == 1); } } List <TblHospitalServices> _hospitalServices = new List <TblHospitalServices>(); List <TblHospitalAmenities> _hospitalAmenities = new List <TblHospitalAmenities>(); if (searchType != "2") { foreach (var h in hospitals ?? new List <HospitalDetails>()) { var feedback = _feedbackRepo.Find(x => x.PageId == h.HospitalId); _hospital = new Hospital(); _hospital.HospitalId = h.HospitalId; _hospital.HospitalName = h.HospitalName; _hospital.Mobile = h.Mobile; _hospital.AlternateNumber = h.AlternateNumber; _hospital.Website = h.Website; _hospital.EstablishYear = h.EstablishYear; _hospital.NumberofBed = h.NumberofBed; _hospital.NumberofAmbulance = h.NumberofAmbulance; _hospital.PaymentType = h.PaymentType; _hospital.Emergency = h.Emergency; _hospital.FacilityId = h.FacilityId; _hospital.JobType = h.jobType; _hospital.Address = h.Address; _hospital.Street = h.Street; _hospital.Country = GetCountryName(Convert.ToInt16(h.Country)); _hospital.City = GetCityName(Convert.ToInt16(h.City)); _hospital.PostCode = h.PostCode; _hospital.Landmark = h.Landmark; _hospital.InsuranceCompanies = h.InsuranceCompanies ?? ""; _hospital.AmenitiesIds = h.Amenities == null ? a : Array.ConvertAll(h.Amenities.Split(','), s => int.Parse(s)); _hospital.Amenities = getHospitalAmenities(h.Amenities, hospitalAmenitie); _hospital.ServicesIds = h.Services == null ? a : Array.ConvertAll(h.Services.Split(','), s => int.Parse(s)); _hospital.Services = getHospitalService(h.Services, hospitalService); _hospital.Doctors = type == "0" ? getDoctors(h.HospitalId, diseaseType, searchtext, ref _filterDoctor) : null; _hospital.Likes = feedback.Where(x => x.ILike == true).Count(); _hospital.Feedbacks = feedback.Count(); _hospital.BookingUrl = $"booking/{h.HospitalId}"; _hospital.ProfileDetailUrl = $"hospitalDetails/{h.HospitalId}"; _hospital.ImgUrl = h.ProfilePath == null ? $"{constant.imgUrl}/ProfilePic/Hospital/{h.HospitalId}.Jpeg" : $"{constant.imgUrl}/{h.ProfilePath}"; _hospitalServices.AddRange(_hospital.Services); _hospitalAmenities.AddRange(_hospital.Amenities); _hospitals.Add(_hospital); } } else { foreach (var h in hospitals ?? new List <HospitalDetails>()) { var feedback = _feedbackRepo.Find(x => x.PageId == h.HospitalId); _hospital = new Hospital { HospitalId = h.HospitalId, HospitalName = h.HospitalName, Mobile = h.Mobile, AlternateNumber = h.AlternateNumber, Website = h.Website, EstablishYear = h.EstablishYear, NumberofBed = h.NumberofBed, NumberofAmbulance = h.NumberofAmbulance, PaymentType = h.PaymentType, Emergency = h.Emergency, FacilityId = h.FacilityId, JobType = h.jobType, Address = h.Address, Street = h.Street, Country = GetCountryName(Convert.ToInt16(h.Country)), City = GetCityName(Convert.ToInt16(h.City)), PostCode = h.PostCode, Landmark = h.Landmark, InsuranceCompanies = h.InsuranceCompanies ?? "", AmenitiesIds = h.Amenities == null ? a : Array.ConvertAll(h.Amenities.Split(','), s => int.Parse(s)), Amenities = getHospitalAmenities(h.Amenities, hospitalAmenitie), ServicesIds = h.Services == null ? a : Array.ConvertAll(h.Services.Split(','), s => int.Parse(s)), Services = getHospitalService(h.Services, hospitalService), Doctors = getDoctors(h.HospitalId, diseaseType, searchtext, ref _filterDoctor), Likes = feedback.Where(x => x.ILike == true).Count(), Feedbacks = feedback.Count(), BookingUrl = $"booking/{h.HospitalId}", ProfileDetailUrl = $"hospitalDetails/{h.HospitalId}", ImgUrl = $"{constant.imgUrl}/ProfilePic/Hospital/{h.HospitalId}.Jpeg" }; _hospitalServices.AddRange(_hospital.Services); _hospitalAmenities.AddRange(_hospital.Amenities); _hospitals.Add(_hospital); } } var Services = _hospitalServices.Select(x => new FilterData { Id = x.Id, Name = x.HospitalServices }).Distinct().ToList(); _filterDoctor.Services = Services; _filterHospital.Services = Services; _filterHospital.Amenities = _hospitalAmenities.Select(x => new FilterData { Id = x.Id, Name = x.HospitalAmenities }).Distinct().ToList(); // _filterHospital.Specialization = _filterDoctor.Specialization; bool isDoctors = false; if (type == "0" && searchName == null) { foreach (var item in _hospitals) { if (item.Doctors.Count > 0) { isDoctors = true; } } if (isDoctors == false) { _hospitals = new List <Hospital>(); } } return(_hospitals); }