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

            Admin_Api adminApi = new Admin_Api();
            var       patients = adminApi.GetAllPatients();

            TreatmentRoomModel trModel = new TreatmentRoomModel();

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

            TreatmentRoom_Api roomApi  = new TreatmentRoom_Api();
            var bookedRooms            = roomApi.GetAllTreatmentRooms().Where(t => t.isBooked == true).Select(t => t.patient_ID);
            AppointmentTimings timings = new AppointmentTimings();

            trModel.appointmentTimings = timings.timingsDropDown;

            return(View("~/Views/Administrator/AdminBookRoom.cshtml", trModel));
        }
Beispiel #2
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 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));
        }