示例#1
0
        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));
        }
示例#2
0
        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));
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }