Example #1
0
        // PUT: api/Doctor/5
        public HttpResponseMessage Update(Doctor obj)
        {
            obj.Id = _getDoctorList.Find(x => x.DoctorId == obj.DoctorId).FirstOrDefault().Id;
            var result = _doctorRepo.Update(obj);

            return(Request.CreateResponse(HttpStatusCode.Accepted, result));
        }
Example #2
0
        public IHttpActionResult getProfileData(string ClientId)
        {
            var clientType = ClientId.Split('-')[0];

            if (clientType == "NCH")
            {
                var user = _hospitalDetailsRepository.Find(x => x.HospitalId == ClientId);
                return(Ok(user));
            }
            else if (clientType == "NCD")
            {
                var user = _doctorRepository.Find(x => x.DoctorId == ClientId);
                return(Ok(user));
            }
            else if (clientType == "NCS")
            {
                var user = _secretaryRepository.Find(x => x.SecretaryId == ClientId);
                return(Ok(user));
            }
            else
            {
                var user = _clientDetailRepo.Find(x => x.ClientId == ClientId);
                return(Ok(user));
            }
        }
Example #3
0
        public HttpResponseMessage getAssignPrescription(string patientId, string doctorId)
        {
            //var doctors = _doctorRepo.GetAll().ToList();
            //var hospitals = _hospitaldetailsRepo.GetAll().ToList();

            List <PatientPrescriptionList> _patientPres = new List <PatientPrescriptionList>();

            var prescription = _prescriptionRepo.GetAll().ToList();
            var presAssign   = _prescriptionAssignRepo.GetAll().ToList();
            var result       = (from PatientPrescription in prescription
                                where PatientPrescription.DoctorId == doctorId && PatientPrescription.PatientId == patientId ||
                                (from PatientPrescriptionAssign in presAssign
                                 where
                                 PatientPrescriptionAssign.AssignId == doctorId && PatientPrescriptionAssign.AssignBy == patientId &&
                                 Convert.ToString(PatientPrescriptionAssign.IsActive) == "True"
                                 select new
            {
                PatientPrescriptionAssign.PatientPresId
            }).Contains(new { PatientPresId = PatientPrescription.Id })
                                select PatientPrescription).ToList();

            foreach (var res in result)
            {
                Doctor                  doctor    = _doctorRepo.Find(x => x.DoctorId == res.DoctorId).FirstOrDefault();
                HospitalDetails         hospitals = _hospitaldetailsRepo.Find(x => x.HospitalId == doctor.HospitalId).FirstOrDefault();
                PatientPrescriptionList _pres     = new PatientPrescriptionList();
                _pres.DoctorFirstName   = doctor.FirstName;
                _pres.DoctorLastName    = doctor.LastName;
                _pres.DoctorEmail       = doctor.Email;
                _pres.DoctorPhoneNumber = doctor.PhoneNumber;
                _pres.DoctorImgUrl      = $"{constant.imgUrl}/ProfilePic/Doctor/{doctor.DoctorId}.Jpeg";
                _pres.HospitalName      = hospitals.HospitalName;
                _pres.HospitalEmail     = hospitals.Email;
                _pres.HospitalAddress   = hospitals.Address;
                _pres.HospitalPicUrl    = $"{constant.imgUrl}/" + hospitals.ProfilePath;

                _pres.DoctorId     = res.DoctorId;
                _pres.Id           = res.Id;
                _pres.PatientId    = res.PatientId;
                _pres.Prescription = res.Prescription;
                _pres.Report       = res.Report;
                _pres.CreatedBy    = res.CreatedBy;
                _pres.DateEntered  = res.DateEntered;
                _patientPres.Add(_pres);
            }

            return(Request.CreateResponse(HttpStatusCode.Accepted, _patientPres.OrderBy(x => x.Id)));
        }
        public HttpResponseMessage AppointmentConfirmorReject(Appointment appointment)
        {
            Appointment obj = _getAppointmentList.Find(x => x.AppointmentId == appointment.AppointmentId).FirstOrDefault();

            if (obj != null)
            {
                obj.Status          = appointment.Status;
                obj.Comment         = appointment.Comment;
                obj.DoctorId        = appointment.DoctorId;
                obj.DateModified    = DateTime.Now;
                obj.AppointmentDate = appointment.AppointmentDate;
                obj.TimingId        = appointment.TimingId;
            }
            var result = _appointmentRepo.Update(obj);

            //Email sent on status change
            try
            {
                int    timeid       = Convert.ToInt16(obj.TimingId);
                var    clientDetail = _clientDetailRepo.Find(x => x.ClientId == obj.ClientId).FirstOrDefault();
                var    doctorDetail = _doctorRepo.Find(x => x.DoctorId == obj.DoctorId).FirstOrDefault();
                var    time         = _timeMasterRepo.Find(x => x.Id == timeid).FirstOrDefault();//clientDetail.EmailId
                string html         = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("~/Services/appointmenttemplat.html"));
                _emailSender.email_send_booked_reject_appointment(clientDetail.EmailId,
                                                                  clientDetail.FirstName + " " + clientDetail.LastName == null ? "" : clientDetail.LastName,
                                                                  appointment.Status,
                                                                  doctorDetail.FirstName + " " + doctorDetail.LastName,
                                                                  appointment.AppointmentDate.ToString(),
                                                                  clientDetail.ClientId, time.TimeFrom + "-" + time.TimeTo);
            }catch (Exception ex) { }
            return(Request.CreateResponse(HttpStatusCode.Accepted, result));
        }
Example #5
0
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var userStore       = new UserStore <ApplicationUser>(new ApplicationDbContext());
            var manager         = new UserManager <ApplicationUser>(userStore);
            var userFindByEmail = manager.FindByEmail(context.UserName);
            var user            = userFindByEmail != null ? await manager.FindAsync(userFindByEmail.UserName, context.Password)
                : await manager.FindAsync(context.UserName, context.Password);

            if (user == null)
            {
                context.SetError("Please check username and password");
            }
            else
            {
                if (user.JobType == 2)
                {
                    hospitalDetails  = _hospitalDetailsRepository.Find(x => x.HospitalId.Trim() == user.Id.Trim()).FirstOrDefault();
                    jobType          = hospitalDetails.jobType;
                    isEmailConfirmed = hospitalDetails.EmailConfirmed;
                }
                else if (user.JobType == 1)
                {
                    clientDetailRepo = _clientDetailRepo.Find(x => x.ClientId.Trim() == user.Id.Trim()).FirstOrDefault();
                    jobType          = clientDetailRepo.Jobtype;
                    isEmailConfirmed = clientDetailRepo.EmailConfirmed;
                }
                else if (user.JobType == 3)
                {
                    doctor           = _doctorRepository.Find(x => x.DoctorId.Trim() == user.Id.Trim()).FirstOrDefault();
                    jobType          = doctor.jobType;
                    isEmailConfirmed = true;
                }
                else if (user.JobType == 4)
                {
                    secretary        = _secretaryRepository.Find(x => x.SecretaryId.Trim() == user.Id.Trim()).FirstOrDefault();
                    jobType          = secretary.jobType;
                    isEmailConfirmed = true;
                }
                if (!isEmailConfirmed)
                {
                    context.SetError("Please verify your email address");
                }
                else
                {
                    var identity = new ClaimsIdentity(context.Options.AuthenticationType);
                    identity.AddClaim(new Claim("UserId", user.Id));
                    identity.AddClaim(new Claim("Username", user.UserName));
                    identity.AddClaim(new Claim("Email", user.Email));
                    identity.AddClaim(new Claim("FirstName", user.FirstName));
                    identity.AddClaim(new Claim("LastName", user.LastName == null? "" : user.LastName));
                    identity.AddClaim(new Claim("LoggedOn", DateTime.Now.ToString()));
                    identity.AddClaim(new Claim("PhoneNo", user.PhoneNumber == null? " " : user.PhoneNumber));
                    identity.AddClaim(new Claim("JobType", user.JobType.ToString()));
                    context.Validated(identity);
                }
            }
        }
        public IEnumerable <ViewDoctorDto> Find(Expression <Func <Doctor, bool> > expression)
        {
            List <ViewDoctorDto> viewDoctors = new List <ViewDoctorDto>();
            var doctors = _repository.Find(expression);

            foreach (var doctor in doctors)
            {
                viewDoctors.Add(new ViewDoctorDto(doctor.Id, doctor.Name, doctor.Specialty, doctor.CodeRegister, doctor.Enabled, doctor.User.Id, doctor.User.Email, doctor.User.Nickname, (int)doctor.User.Permission));
            }
            return(viewDoctors);
        }
        public HttpResponseMessage IsValidNoorCare(string doctorId)
        {
            var result = _doctorRepo.Find(x => x.DoctorId == doctorId);

            if (result.Count > 0)
            {
                return(Request.CreateResponse(HttpStatusCode.Accepted, true));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.Accepted, false));
            }
        }
Example #8
0
        private List <Doctors> getDoctors(string HospitalId)
        {
            List <Disease> _disease  = new List <Disease>();
            List <decimal> _priceses = new List <decimal>();
            Doctors        _doctor   = new Doctors();
            List <Doctors> _doctors  = new List <Doctors>();
            List <Doctor>  doctors   = _doctorRepo.Find(x => x.HospitalId == HospitalId);
            var            disease   = _diseaseDetailRepo.GetAll().OrderBy(x => x.DiseaseType).ToList();

            foreach (var d in doctors ?? new List <Doctor>())
            {
                var feedback = _feedbackRepo.Find(x => x.PageId == d.DoctorId);
                _doctor = new Doctors
                {
                    DoctorId             = d.DoctorId,
                    FirstName            = d.FirstName,
                    LastName             = d.LastName,
                    Email                = d.Email,
                    PhoneNumber          = d.PhoneNumber,
                    AlternatePhoneNumber = d.AlternatePhoneNumber,
                    Gender               = d.Gender,
                    Experience           = d.Experience,
                    FeeMoney             = d.FeeMoney,
                    Language             = d.Language,
                    AgeGroupGender       = d.AgeGroupGender,
                    Degree               = d.Degree,
                    SpecializationIds    = Array.ConvertAll(d.Specialization.Split(','), s => int.Parse(s)),//d.Specialization,
                    Specialization       = getSpecialization(d.Specialization, disease),
                    AboutUs              = d.AboutUs,
                    Likes                = feedback.Where(x => x.ILike == true).Count(),
                    Feedbacks            = feedback.Count(),
                    BookingUrl           = $"booking/{d.DoctorId}",
                    ProfileDetailUrl     = $"doctorDetails/{d.DoctorId}",
                    ImgUrl               = $"{constant.imgUrl}/Doctor/{d.DoctorId}.Jpeg"
                };

                _doctors.Add(_doctor);
            }
            return(_doctors);
        }
Example #9
0
        // GET: api/Doctor
        public HttpResponseMessage Getdoctor(string country = null, string city = null, string diseaseType = null)
        {
            IHospitalDetailsRepository _hospitalRepo   = RepositoryFactory.Create <IHospitalDetailsRepository>(ContextTypes.EntityFramework);
            List <HospitalDetails>     hospitalDetails = _hospitalRepo.Find(
                x => country != null ? x.Country == country : x.Country == x.Country &&
                city != null ? x.City == city : x.City == x.City);
            List <string> _hospitalid = new List <string>();

            foreach (var hospitalDetail in hospitalDetails ?? new List <HospitalDetails>())
            {
                _hospitalid.Add(hospitalDetail.HospitalId);
            }
            string            _hospitalId = string.Join(",", _hospitalid);
            IDoctorRepository _doctorRepo = RepositoryFactory.Create <IDoctorRepository>(ContextTypes.EntityFramework);
            var result = _doctorRepo.Find(x =>
                                          x.HospitalId.Contains(_hospitalId) &&
                                          diseaseType != null ? x.Specialization.Contains(diseaseType) : x.Specialization == x.Specialization
                                          );


            return(Request.CreateResponse(HttpStatusCode.Accepted, result));
        }
        public HttpResponseMessage GetDashboardDetails(string Type, string pageId, string searchDate = null)
        {
            var HospitalId = "";

            if (Type.ToLower() == "secretary")
            {
                HospitalId = _secretaryRepo.Find(s => s.SecretaryId == pageId).FirstOrDefault().HospitalId;
            }
            else if (Type.ToLower() == "doctor")
            {
                HospitalId = _doctorRepo.Find(d => d.DoctorId == pageId).FirstOrDefault().HospitalId;
            }
            else if (Type.ToLower() == "hospital")
            {
                HospitalId = pageId;
            }

            DashboardTypeModel DashboardTypeModel = new DashboardTypeModel();
            DashboardModel     dashboardModel     = new DashboardModel();
            List <DashboardAppointmentListModel> lstDashboardAppointmentListModel = new List <DashboardAppointmentListModel>();

            if (Type.ToLower() != "patient")
            {
                if (!string.IsNullOrEmpty(HospitalId))
                {
                    DashboardTypeModel.HospitalId = HospitalId;

                    DashboardTypeModel.TotalFeedback = _feedbackRepo.Find(x => x.PageId == HospitalId).ToList().Count();

                    DashboardTypeModel.TotalDoctor = _doctorRepo.Find(d => d.HospitalId == HospitalId).ToList().Count();

                    DashboardTypeModel.BookedAppointment = _appointmentRepo.Find(a => a.HospitalId == HospitalId && a.Status == "booked").ToList().Count();

                    DashboardTypeModel.CancelAppointment = _appointmentRepo.Find(a => a.HospitalId == HospitalId && a.Status == "cancel").ToList().Count();

                    DashboardTypeModel.NewAppointment = _appointmentRepo.Find(a => a.HospitalId == HospitalId && a.Status == "pending").ToList().Count();

                    DashboardTypeModel.TodayAppointment = _appointmentRepo.Find(a => a.HospitalId == HospitalId && a.Status == "booked" && a.AppointmentDate == searchDate).ToList().Count();
                }
                foreach (var item in _appointmentRepo.Find(a => a.HospitalId == HospitalId).ToList())
                {
                    DashboardAppointmentListModel DashboardAppointmentListModel = new DashboardAppointmentListModel();

                    DashboardAppointmentListModel.AppointmentDate = item.AppointmentDate;
                    DashboardAppointmentListModel.Status          = item.Status;
                    DashboardAppointmentListModel.TimeId          = item.TimingId;
                    int appointmentTimeId = Convert.ToInt32(item.TimingId);
                    if (_timeMasterRepo != null)
                    {
                        var timeDetails = _timeMasterRepo.Find(t => t.Id == appointmentTimeId && t.IsActive == true).FirstOrDefault();
                        if (timeDetails != null)
                        {
                            DashboardAppointmentListModel.AppointmentTime = timeDetails.TimeFrom.Trim() + "-" + timeDetails.TimeTo.Trim() + " " + timeDetails.AM_PM.Trim();
                        }
                    }
                    var clientDetail = _clientDetailRepo.Find(x => x.ClientId == item.ClientId).FirstOrDefault();
                    if (clientDetail != null)
                    {
                        DashboardAppointmentListModel.DOB         = clientDetail.DOB;
                        DashboardAppointmentListModel.PatientName = clientDetail.FirstName;

                        DashboardAppointmentListModel.NoorCareNumber = clientDetail.ClientId;
                        DashboardAppointmentListModel.Gender         = clientDetail.Gender.ToString();
                    }

                    var doctorDetails = _doctorRepo.Find(d => d.DoctorId == item.DoctorId).FirstOrDefault();
                    if (doctorDetails != null)
                    {
                        DashboardAppointmentListModel.DoctorName = doctorDetails.FirstName;
                    }
                    lstDashboardAppointmentListModel.Add(DashboardAppointmentListModel);
                }
            }
            else if (Type.ToLower() == "patient")
            {
                DashboardTypeModel.BookedAppointment       = _appointmentRepo.Find(a => a.ClientId == pageId && a.Status == "booked").ToList().Count();
                DashboardTypeModel.TotalFeedback           = _feedbackRepo.Find(x => x.ClientID == pageId).ToList().Count();
                DashboardTypeModel.TotalDoctorPrescription = _patientPrescriptionRepo.Find(p => p.PatientId == pageId).ToList().Count();
                DashboardTypeModel.TotalMedicalFile        = _quickUploadRepo.Find(q => q.ClientId == pageId).ToList().Count();
            }

            dashboardModel.DashboardTypeModel            = DashboardTypeModel;
            dashboardModel.DashboardAppointmentListModel = lstDashboardAppointmentListModel;
            return(Request.CreateResponse(HttpStatusCode.Accepted, dashboardModel));
        }
        public HttpResponseMessage GetHospitalDetailByClientId(string clientid)
        {
            var    clientType = clientid.Split('-')[0];
            string hospitalId = string.Empty;

            if (clientType == "NCD")
            {
                var user = _doctorRepo.Find(x => x.DoctorId == clientid).ToList();
                if (user.Count > 0)
                {
                    hospitalId = user[0].HospitalId;
                }
            }
            else if (clientType == "NCH")
            {
                hospitalId = clientid;
            }
            else if (clientType == "NCS")
            {
                var user = _secretaryRepo.Find(x => x.SecretaryId == clientid);
                if (user.Count > 0)
                {
                    hospitalId = user[0].HospitalId;
                }
            }
            List <HospitalDetails> hospitals = _hospitaldetailsRepo.Find(x => x.HospitalId == hospitalId);

            var             hospitalService  = _hospitalServicesRepository.GetAll().OrderBy(x => x.HospitalServices).ToList();
            var             hospitalAmenitie = _hospitalAmenitieRepository.GetAll().OrderBy(x => x.HospitalAmenities).ToList();
            var             disease          = _hospitalSpecialtiesRepo.GetAll().OrderBy(x => x.HospitalSpecialties).ToList();
            Hospital        _hospital        = new Hospital();
            List <Hospital> _hospitals       = new List <Hospital>();

            foreach (var h in hospitals ?? new List <HospitalDetails>())
            {
                var feedback = _feedbackRepo.Find(x => x.PageId == h.HospitalId);

                _hospital = new Hospital
                {
                    Id                 = h.Id,
                    HospitalId         = h.HospitalId,
                    HospitalName       = h.HospitalName,
                    Mobile             = h.Mobile,
                    AlternateNumber    = h.AlternateNumber,
                    Email              = h.Email,
                    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,
                    AboutUs            = h.AboutUs,
                    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),
                    Specialization   = getHospitalSpecialization(h.Specialization, disease),
                    Doctors          = getDoctors(h.HospitalId),
                    Secretary        = getSecretary(h.HospitalId),
                    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"
                };

                _hospitals.Add(_hospital);
            }
            return(Request.CreateResponse(HttpStatusCode.Accepted, _hospitals));
        }
Example #12
0
        // GET: api/Doctor/5
        public HttpResponseMessage DoctorDetails(string doctorid)
        {
            var result = _doctorRepo.Find(x => x.DoctorId == doctorid).FirstOrDefault();

            return(Request.CreateResponse(HttpStatusCode.Accepted, result));
        }