public async Task <bool> UpdateBooking(PatientBooking booking)
        {
            ReplaceOneResult updateresult = await _context
                                            .BookingsCollection
                                            .ReplaceOneAsync(
                filter : b => b.BookingID == booking.BookingID,
                replacement : booking);

            return(updateresult.IsAcknowledged && updateresult.ModifiedCount > 0);
        }
        public async Task MakeBooking(PatientBooking booking)
        {
            try
            {
                await _context.BookingsCollection.InsertOneAsync(booking);
            }

            catch (Exception ex)
            {
                // log or manage the exception
                throw ex;
            }
        }
        public ActionResult RecordSerial(SerialBookingModel objSerialBookingModel)
        {
            if (ModelState.IsValid)
            {
                var doctorId       = _db.Doctors.First(m => m.DoctorName.Equals(objSerialBookingModel.Doctor)).DoctorId;
                var checkIsNotNull = _db.PatientBookings.Any(
                    m => m.HospitalId.Equals(objSerialBookingModel.HospitalId) && m.DoctorId.Equals(doctorId));
                int serial = 0;
                if (checkIsNotNull)
                {
                    serial =
                        _db.PatientBookings.Where(
                            m => m.HospitalId.Equals(objSerialBookingModel.HospitalId) && m.DoctorId.Equals(doctorId))

                        .Max(m => m.SerialNo);
                }


                var objDoctor = new PatientBooking
                {
                    PatientName     = objSerialBookingModel.PatientName,
                    PatientAge      = objSerialBookingModel.PatientAge,
                    DoctorId        = doctorId,
                    Gender          = objSerialBookingModel.Gender,
                    MaritalStatus   = objSerialBookingModel.MaritalStatus,
                    PatientType     = objSerialBookingModel.PatientType,
                    BookingDateTime = DateTime.Now,
                    VisitDate       = objSerialBookingModel.VisitDate,
                    HospitalId      = objSerialBookingModel.HospitalId, SerialNo = (serial + 1)
                };
                _db.PatientBookings.Add(objDoctor);
                _db.SaveChanges();
                ModelState.Clear();
                ViewBag.successVal = 1;
            }
            DisplayHospitalSelectlist();
            DisplayDoctorSelectlist();
            return(View());
        }
        public async Task <IActionResult> Post([FromBody] PatientBooking appointment)
        {
            await _bookingRepository.MakeBooking(appointment);

            return(new OkObjectResult(appointment));
        }
Esempio n. 5
0
        public IHttpActionResult SavePatientBooking(PatientBookingModel model)
        {
            try
            {
                var UserId = ((ClaimsIdentity)User.Identity).Claims.FirstOrDefault(c => c.Type.Equals(ClaimTypes.NameIdentifier)).Value;

                var RefType = ((ClaimsIdentity)User.Identity).Claims.FirstOrDefault(c => c.Type.Equals(ClaimTypes.Name)).Value;

                var RefID = ((ClaimsIdentity)User.Identity).Claims.FirstOrDefault(c => c.Type.Equals(ClaimTypes.Sid)).Value;

                if (RefType == "1")
                {
                    model.TherapistID = Convert.ToInt32(RefID);
                }
                else if (RefType == "2")
                {
                    model.PatientID = Convert.ToInt32(RefID);
                }



                if (model.PatientBookingID == 0)
                {
                    PatientBooking pb = new PatientBooking();
                    pb.ServiceID   = model.ServiceID;
                    pb.Address     = model.Address;
                    pb.BookingDate = model.BookingDate;
                    pb.FromTime    = model.FromTime;
                    pb.ToTime      = model.ToTime;
                    pb.PatientID   = model.PatientID;
                    pb.TherapistID = model.TherapistID;
                    pb.Status      = "PENDING";
                    entities.PatientBookings.Add(pb);
                }
                else
                {
                    var getBooking = entities.PatientBookings.Where(x => x.PatientBookingID == model.PatientBookingID).FirstOrDefault();

                    getBooking.ServiceID   = model.ServiceID;
                    getBooking.Address     = model.Address;
                    getBooking.BookingDate = model.BookingDate;
                    getBooking.FromTime    = model.FromTime;
                    getBooking.ToTime      = model.ToTime;
                }


                entities.SaveChanges();
                if (model.PatientBookingID == 0)
                {
                    SendMail   mail = new SendMail();
                    RegisterDL obj1 = new RegisterDL();
                    var        list = obj1.GetUserDetails(Convert.ToInt32(UserId), Convert.ToInt32(RefType));

                    // var getAllService = obj1.GetAllServices();
                    string getServiceName = entities.Services.Where(x => x.ServiceID == model.ServiceID).Select(x => x.ServiceName).FirstOrDefault();

                    //foreach (var item in model.BookingSerList)
                    //{
                    //    getServiceName += getAllService.Where(x => x.ServiceID == item.ServiceID).FirstOrDefault().ServiceName + ",";
                    //}
                    //getServiceName = getServiceName.TrimEnd(',');

                    string body = mail.createEmailBody("PatientBooking.html");
                    body = body.Replace("{UserName}", list[0].FirstName + " " + list[0].LastName);
                    body = body.Replace("{servicename}", getServiceName);
                    body = body.Replace("{address}", model.Address);

                    mail.SendGeneralMail("Patient Booking", list[0].Email, body);
                }

                //int bookId = Convert.ToInt32(RefID);

                //int BookingID = entities.Bookings.Where(x => x.PatientID == bookId).Select(x => x.BookingID).FirstOrDefault();


                responseData.message = "Booking details saved successfully";
                responseData.success = true;
                //responseData.data = BookingID;
                return(Ok(responseData));
            }
            catch (Exception ex)
            {
                responseData.message = ex.Message != null?ex.Message.ToString() : "server error";

                responseData.success = false;
                return(Ok(responseData));
            }
        }