public ActionResult NewReport()
        {
            if (Convert.ToString(Session["key"]) != "doctor")
            {
                return(RedirectToAction("Login", "Home"));
            }

            Doctor_Api doctorApi    = new Doctor_Api();
            var        appointments = doctorApi.GetDocApntment_Api((int)Session["UserId"]).Where(a => a.appointment_Date < DateTime.Now);

            Admin_Api        adminApi = new Admin_Api();
            var              pats     = adminApi.GetAllPatients();
            AppointmentModel docapts  = new AppointmentModel();

            foreach (var d in pats)
            {
                docapts.dropDown.Add(new SelectListItem
                {
                    Text  = d.firstName,
                    Value = Convert.ToString(d.pid)
                });
            }

            return(View("~/Views/Doctor/RequestReport.cshtml", docapts));
        }
        public ActionResult ViewDoctorAppointments(AppointmentModel person)
        {
            if (Convert.ToString(Session["key"]) != "nurse")
            {
                return(RedirectToAction("Login", "Home"));
            }

            Doctor_Api doctorApi = new Doctor_Api();

            if (person.doctor_ID != 0)
            {
                var doctorApmnts = doctorApi.GetDocApntment_Api(person.doctor_ID).Where(a => (a.cancelled == false && a.appointment_Date > DateTime.Now));
                return(View("~/Views/Nurse/NurseViewDoctorAppointments.cshtml", doctorApmnts));
            }
            else
            {
                AppointmentModel doctorApts = new AppointmentModel();

                Admin_Api adminApi = new Admin_Api();
                var       docs     = adminApi.GetAllDoctor();

                foreach (var d in docs)
                {
                    doctorApts.dropDown.Add(new SelectListItem
                    {
                        Text  = d.firstName,
                        Value = Convert.ToString(d.pid)
                    });
                }

                return(View("~/Views/Nurse/ViewDoctorsList.cshtml", doctorApts));
            }
        }
        public ActionResult GetAvailableAppointments(string text)
        {
            if (Convert.ToString(Session["key"]) != "doctor")
            {
                return(RedirectToAction("Login", "Home"));
            }

            if (text != null)
            {
                Doctor_Api doc_Api    = new Doctor_Api();
                var        newBooking = doc_Api.GetDocApntment_Api((int)Session["UserId"]);
                if (newBooking != null)
                {
                    return(View("~/Views/Doctor/DoctorBookAppointment.cshtml", newBooking));
                }
                else
                {
                    return(View("~/Views/Error.cshtml"));
                }
            }
            else
            {
                AppointmentModel appModel   = new AppointmentModel();
                Patient_Api      patientApi = new Patient_Api();
                appModel.PatientList = patientApi.GetPaitentsList().ToList();

                return(View("~/Views/Doctor/DoctorBookAppointment.cshtml", appModel));
            }
        }
        public ActionResult GetAppointments()
        {
            if (Convert.ToString(Session["key"]) != "doctor")
            {
                return(RedirectToAction("Login", "Home"));
            }

            int        doctor_id    = (int)Session["UserId"];// 5006;
            Doctor_Api doctorApi    = new Doctor_Api();
            var        appointments = doctorApi.GetDocApntment_Api(doctor_id);

            //var appointments = doctorApi.GetDocApntment_Api(doctor_id);

            appointments.First().filterApps.Add(new SelectListItem {
                Text = "-Select", Value = "0"
            });
            appointments.First().filterApps.Add(new SelectListItem {
                Text = "Today", Value = "1"
            });
            appointments.First().filterApps.Add(new SelectListItem {
                Text = "Tomorrow", Value = "2"
            });
            appointments.First().filterApps.Add(new SelectListItem {
                Text = "All", Value = "3"
            });
            LabIncharge_Api lApi       = new LabIncharge_Api();
            var             allReports = lApi.ViewPatientReports_Api(new ReportModel());

            foreach (var a in appointments)
            {
                if (allReports.Where(r => r.appointment_ID == a.appointment_ID).FirstOrDefault() != null)
                {
                    a.reportAvailable = true;
                }
                else
                {
                    a.reportAvailable = false;
                }
                if (a.appointment_Date > DateTime.Now)
                {
                    a.canCancel = true;
                }
            }


            if (appointments != null)
            {
                return(View("~/Views/Doctor/DoctorViewAppointments.cshtml", appointments.OrderBy(a => a.appointment_Date)));
            }
            return(View("~/Views/Error.cshtml"));
        }
Ejemplo n.º 5
0
        public ActionResult GetAvailableTimings(AppointmentModel apmtModel)
        {
            Doctor_Api doctorApi = new Doctor_Api();

            apmtModel.appointment_Date = DateTime.Parse(apmtModel.timings);
            apmtModel.paitent_ID       = (int)Session["UserId"];
            List <string> bookedTimings = doctorApi.GetAvailableTimings(apmtModel);

            AppointmentTimings   appTimings = new AppointmentTimings();
            List <timingsValues> timings    = appTimings.timingsDropDown;

            int         id         = (int)Session["UserId"];
            Patient_Api patientApi = new Patient_Api();

            IEnumerable <AppointmentModel> patientAppointments = patientApi.GetAppointments(id);

            List <timingsValues> displayTimings = new List <timingsValues>();

            if (bookedTimings.Count == 0)
            {
                var app = patientAppointments.Where(a => a.appointment_Date == apmtModel.appointment_Date).Select(t => t.timings).ToList();
                if (app.Count() > 0)
                {
                    List <timingsValues> t = new List <timingsValues>();
                    foreach (var a in app)
                    {
                        var aa = a.Trim('0');
                        t.Add(new timingsValues {
                            Text = aa.Trim(':'), Value = aa.Trim(':')
                        });
                    }
                    var i = 0;
                    foreach (var val in t)
                    {
                        displayTimings = timings.Where(d => d.Text != t.ElementAt(i).Text).ToList();
                        i++;
                    }
                }
                else
                {
                    displayTimings = timings;//.Where(t => !bookedTimings.Contains(t.Value)).ToList();
                }
            }
            if (bookedTimings.Count != 0)
            {
                displayTimings.Add(new timingsValues {
                    Value = "00:00", Text = "00:00"
                });
            }
            return(Json(displayTimings, JsonRequestBehavior.AllowGet));
        }
        public ActionResult ViewAccountDetails()
        {
            if (Convert.ToString(Session["key"]) != "doctor")
            {
                return(RedirectToAction("Login", "Home"));
            }


            DoctorModel docModel = new DoctorModel();

            docModel.pid = (int)Session["UserId"]; //5006;
            Doctor_Api docApi = new Doctor_Api();
            var        doc    = docApi.GetDoctorById(docModel);

            return(View("~/Views/Doctor/ViewAccountDetails.cshtml", doc));
        }
        public JsonResult GetAvailableTimings(AppointmentModel aappModel)
        {
            Doctor_Api doctorApi = new Doctor_Api();

            aappModel.doctor_ID = (int)Session["UserId"];
            List <string>        bookedTimings = doctorApi.GetAvailableTimingsForPatient(aappModel); //gets booked timings for patient doc and time
            var                  t             = doctorApi.GetDocApntment_Api((int)Session["UserId"]).Where(a => a.paitent_ID == aappModel.paitent_ID && a.appointment_Date == aappModel.appointment_Date).Select(ap => ap.timings).ToList();
            AppointmentTimings   appTimings    = new AppointmentTimings();
            List <timingsValues> timings       = appTimings.timingsDropDown;

            List <string> allBookedtimings = doctorApi.GetAvailableTimings(aappModel); //gets all booked timings for date and doctor

            List <timingsValues> displayTimings = new List <timingsValues>();

            if (bookedTimings.Count() == 0)
            {
                if (allBookedtimings.Count() == 0)
                {
                    displayTimings = timings;
                }
                else
                {
                    displayTimings = timings;

                    foreach (var d in allBookedtimings)
                    {
                        displayTimings = displayTimings.Where(a => a.Text != d.ToString()).ToList();
                        //displayTimings = timings.Except(allBookedtimings);
                    }
                }
            }
            if (bookedTimings.Count != 0)
            {
                if (t.Count() > 0)
                {
                    displayTimings.Add(new timingsValues {
                        Value = "00:00", Text = "00:00"
                    });
                }
                else
                {
                    displayTimings = timings.Where(d => d.Text != bookedTimings.First()).ToList();
                }
            }
            return(Json(displayTimings, JsonRequestBehavior.AllowGet));
        }
        public ActionResult ViewAppointmentsToCancel()
        {
            if (Convert.ToString(Session["key"]) != "doctor")
            {
                return(RedirectToAction("Login", "Home"));
            }

            int        doctor_id    = (int)Session["UserId"];// 5006;
            Doctor_Api doctorApi    = new Doctor_Api();
            var        appointments = doctorApi.GetDocApntment_Api(doctor_id);

            if (appointments != null)
            {
                return(View("~/Views/Doctor/DoctorCancelAppts.cshtml", appointments));
            }
            return(View("~/Views/Error.cshtml"));
        }
        public ActionResult cancelAllAppointmentByDate()
        {
            if (Convert.ToString(Session["key"]) != "doctor")
            {
                return(RedirectToAction("Login", "Home"));
            }

            Doctor_Api       doctorApi = new Doctor_Api();
            AppointmentModel app       = new AppointmentModel();

            //app.appointment_ID = id;
            app.appointment_Date = Convert.ToDateTime(TempData["Date"].ToString());
            app.doctor_ID        = (int)Session["UserId"];
            var appointments = doctorApi.cancelAllAppointmentByDate(app);

            return(RedirectToAction("GetAppointments"));
            //return View("~/Views/Doctor/DoctorViewAppointments.cshtml", appointments);
        }
        public ActionResult GetAppointmentsByDate(DateTime test)
        {
            if (Convert.ToString(Session["key"]) != "doctor")
            {
                return(RedirectToAction("Login", "Home"));
            }

            int        doctor_id    = (int)Session["UserId"];// 5006;
            Doctor_Api doctorApi    = new Doctor_Api();
            var        appointments = doctorApi.GetDocApntment_Api(doctor_id).Where(a => a.appointment_Date == test);

            //ViewBag.appts = appointments.Select(a => a.appointment_ID);
            TempData["Date"] = test;
            if (appointments != null)
            {
                return(View("~/Views/Doctor/DoctorCancelAppts.cshtml", appointments));
            }
            return(View("~/Views/Error.cshtml"));
        }
        public ActionResult BookNewAppointment(AppointmentModel apmnt = null)
        {
            if (Convert.ToString(Session["key"]) != "doctor")
            {
                return(RedirectToAction("Login", "Home"));
            }

            if (apmnt.timings != null)
            {
                Doctor_Api doc_Api = new Doctor_Api();
                apmnt.doctor_ID = (int)Session["UserId"]; //5006;
                apmnt.date      = DateTime.Now;           //booking date
                var newBooking = doc_Api.BookDocApnmt_Api(apmnt);
                List <AppointmentModel> newAppointment = new List <AppointmentModel>();
                newBooking.canCancel = true;
                newAppointment.Add(newBooking);
                if (newBooking != null)
                {
                    return(View("~/Views/Doctor/DoctorViewAppointments.cshtml", newAppointment));
                }
                else
                {
                    return(View("~/Views/Error.cshtml"));
                }
            }
            else
            {
                AppointmentModel appModel = new AppointmentModel();
                Admin_Api        adminApi = new Admin_Api();
                var patients = adminApi.GetAllPatients();

                foreach (var p in patients)
                {
                    appModel.dropDown.Add(new SelectListItem {
                        Text  = p.firstName,
                        Value = Convert.ToString(p.pid)
                    });
                }

                return(View("~/Views/Doctor/DoctorBookAppointment.cshtml", appModel));
            }
        }
        public ActionResult cancelAppointment(int id)
        {
            if (Convert.ToString(Session["key"]) != "doctor")
            {
                return(RedirectToAction("Login", "Home"));
            }

            Doctor_Api       doctorApi = new Doctor_Api();
            AppointmentModel app       = new AppointmentModel();

            app.appointment_ID = id;
            app.doctor_ID      = (int)Session["UserId"];
            var appointments       = doctorApi.cancelAppointment(app);
            EmailsController email = new EmailsController();

            email.EmailCancelledAppt(app);

            return(RedirectToAction("GetAppointments"));
            // return View("~/Views/Doctor/DoctorViewAppointments.cshtml", appointments);
        }
        public ActionResult GetAppointmentsByFilter(int filterID)
        {
            if (Convert.ToString(Session["key"]) != "doctor")
            {
                return(RedirectToAction("Login", "Home"));
            }


            int        doctor_id    = (int)Session["UserId"];// 5006;
            Doctor_Api doctorApi    = new Doctor_Api();
            var        appointments = doctorApi.GetDocApntment_Api(doctor_id);

            LabIncharge_Api lApi       = new LabIncharge_Api();
            var             allReports = lApi.ViewPatientReports_Api(new ReportModel());

            foreach (var a in appointments)
            {
                if (allReports.Where(r => r.appointment_ID == a.appointment_ID).FirstOrDefault() != null)
                {
                    a.reportAvailable = true;
                }
                else
                {
                    a.reportAvailable = false;
                }
                int timeNow = Convert.ToInt32(DateTime.Now.Hour);
                int appTime = (Convert.ToInt32((a.timings).Substring(0, 2)));

                if (((a.appointment_Date).ToShortDateString().Equals((DateTime.Now.AddDays(1).ToShortDateString())) && (appTime > timeNow)) || (a.appointment_Date > DateTime.Now))
                {
                    a.canCancel = true;
                }
            }



            if (filterID == 1)
            {
                appointments = appointments.Where(a => ((a.appointment_Date).ToShortDateString().Equals((DateTime.Now).ToShortDateString())));// && a.appointment_Date > DateTime.Now.AddDays(-1) && a.appointment_Date <= DateTime.Now ));


                appointments.First().filterApps.Add(new SelectListItem {
                    Text = "-Select", Value = "0"
                });
                appointments.First().filterApps.Add(new SelectListItem {
                    Text = "Today", Value = "1"
                });
                appointments.First().filterApps.Add(new SelectListItem {
                    Text = "Tomorrow", Value = "2"
                });
                appointments.First().filterApps.Add(new SelectListItem {
                    Text = "All", Value = "3"
                });
            }
            else if (filterID == 2)
            {
                appointments = appointments.Where(a => ((a.appointment_Date).ToShortDateString().Equals(DateTime.Now.AddDays(1).ToShortDateString())));// && a.appointment_Date > DateTime.Now));



                appointments.First().filterApps.Add(new SelectListItem {
                    Text = "-Select", Value = "0"
                });
                appointments.First().filterApps.Add(new SelectListItem {
                    Text = "Today", Value = "1"
                });
                appointments.First().filterApps.Add(new SelectListItem {
                    Text = "Tomorrow", Value = "2"
                });
                appointments.First().filterApps.Add(new SelectListItem {
                    Text = "All", Value = "3"
                });
            }
            //else if (id == 3)
            //{

            //}
            if (filterID == 3 || filterID == 0)
            {
                return(RedirectToAction("GetAppointments"));
            }

            if (appointments != null)
            {
                return(View("~/Views/Doctor/DoctorViewAppointments.cshtml", appointments.OrderBy(a => a.appointment_Date)));
            }
            return(View("~/Views/Error.cshtml"));
        }