public string PostHealthcareReservation(Health health)
        {
            //int cid = 9;//(int) Session["citizenID"] ;

            HealthcareReservation healthcareReservation = new HealthcareReservation();
            var data = db.HealthcareReservations.Where(a => a.healthcareReservation_citizen_id == health.healthcareReservation_citizen_id && a.healthcareReservation_doctor_id == health.healthcareReservation_doctor_id && a.healthcareReservation_hospital_id == health.healthcareReservation_hospital_id && a.healthcareReservation_cancel != true).FirstOrDefault();

            if (data != null)
            {
                if (health.Ar == true)
                {
                    return("لقد حجزت بالفعل في هذا اليوم");
                }

                return(Servicely.Languages.Language.you_are_already_reserved_on_this_day);
            }



            int?reservationmax = db.ScheduleHealthCares.Find(health.schedule).checkup_number;

            int maxreserv = db.ReservationScheduleM_M.Where(a => a.reservationSchedule_schedule == health.schedule).Join(db.HealthcareReservations, a => a.reservationSchedule_reservation, b => b.healthcareReservation_id, (a, b) => new { b }).Where(a => a.b.healthcareReservation_hospital_id == healthcareReservation.healthcareReservation_hospital_id && a.b.Reservation_date == healthcareReservation.Reservation_date && a.b.healthcareReservation_doctor_id == health.healthcareReservation_doctor_id && a.b.healthcareReservation_cancel != true).Count();

            if (maxreserv == reservationmax)
            {
                if (health.Ar == true)
                {
                    return("هذا اليوم ممتلئ اختر يوم اخر");
                }

                return(Servicely.Languages.Language.day_is_full_choose_another_date);
            }


            string cod = Guid.NewGuid().ToString().Substring(0, 5) + "-" + Guid.NewGuid().ToString().Substring(0, 5);


            healthcareReservation.healthcareReservation_citizen_id  = health.healthcareReservation_citizen_id;
            healthcareReservation.healthcareReservation_hospital_id = health.healthcareReservation_hospital_id;
            healthcareReservation.healthcareReservation_doctor_id   = health.healthcareReservation_doctor_id;
            healthcareReservation.healthcareReservation_Code        = cod;
            healthcareReservation.Reservation_date = db.ScheduleHealthCares.Find(health.schedule).checkup_date;
            db.HealthcareReservations.Add(healthcareReservation);
            db.SaveChanges();
            ReservationScheduleM_M r = new ReservationScheduleM_M();

            r.reservationSchedule_reservation = healthcareReservation.healthcareReservation_id;
            r.reservationSchedule_schedule    = health.schedule;
            db.ReservationScheduleM_M.Add(r);
            db.SaveChanges();

            var father       = db.Citizens.Find(health.healthcareReservation_citizen_id);
            var vaccSchedule = db.ScheduleHealthCares.Where(a => a.schedule_id == health.schedule).FirstOrDefault();
            var email        = db.Contacts.Where(a => a.contact_citizen_id == health.healthcareReservation_citizen_id).Join(db.Contact_Type, a => a.contact_contactType_id, b => b.contact_type_id, (a, b) => new { a, b }).Where(b => b.b.contact_type_name == "Email").Select(a => a.a).FirstOrDefault();
            int code         = maxreserv;
            var HealthCare   = db.HealthCares.Find(healthcareReservation.healthcareReservation_hospital_id);

            if (email != null)
            {
                //    string Title = "Dear " + father.citizen_first_name + " " + father.citizen_second_name + " " + father.citizen_third_name + " " + father.citizen_fourth_name + " \n  " +
                //      "You have reserved an appointment on " + vaccSchedule.checkup_date.Value.ToShortDateString() + " from : " + vaccSchedule.checkup_start + " to : " + vaccSchedule.checkup_end + " \n\n" +
                //      " Health Care Name: " + HealthCare.hospital_name + " \n Health Care Address: " + HealthCare.District.Region.City.State.state_name + " " + HealthCare.District.Region.City.city_name + " " + HealthCare.District.Region.region_name + " " + HealthCare.District.district_name + " \n" + "Reservation Code: "
                //       + (code += 1) + " \n yours sincerely , ";
                //    SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
                //    smtp.EnableSsl = true;
                //    smtp.UseDefaultCredentials = false;
                //    smtp.Credentials = new NetworkCredential("*****@*****.**", "csce4502f16");
                //    smtp.Send("*****@*****.**", email.contact_data, "Vaccination", Title);
            }

            if (health.Ar == true)
            {
                return("تم الحجز بنجاح , راجع بريدك الالكتروني");
            }
            return(Servicely.Languages.Language.successfully_reserved_checkemail);
        }
Example #2
0
        public ActionResult Create(HealthcareReservation healthcareReservation, int schedule)
        {
            int cid = (int)Session["citizenID"];

            ViewBag.State  = new SelectList(db.States.Where(a => a.state_isDeleted != true), "state_id", "state_name");
            ViewBag.HCtype = new SelectList(db.HealthCare_Type.Where(a => a.healthcare_isDeleted != true), "healthcare_type_id", "healthcare_type_name");
            ViewBag.Spec   = new SelectList(db.HealthCareSpecializations.Where(a => a.specialization_isDeleted != true), "specialization_id", "specialization_name");

            if (Session["lang"] != null)
            {
                if (Session["lang"].ToString().Equals("ar-EG"))
                {
                    ViewBag.State  = new SelectList(db.States.Where(a => a.state_isDeleted != true), "state_id", "state_arabic_name");
                    ViewBag.HCtype = new SelectList(db.HealthCare_Type.Where(a => a.healthcare_isDeleted != true), "healthcare_type_id", "healthcare_type_name_arabic");
                    ViewBag.Spec   = new SelectList(db.HealthCareSpecializations.Where(a => a.specialization_isDeleted != true), "specialization_id", "specialization_name_arabic");
                }
            }

            var data = db.HealthcareReservations.Where(a => a.healthcareReservation_citizen_id == cid && a.healthcareReservation_doctor_id == healthcareReservation.healthcareReservation_doctor_id && a.healthcareReservation_hospital_id == healthcareReservation.healthcareReservation_hospital_id && a.Reservation_date < DateTime.Now).FirstOrDefault();

            if (data != null)
            {
                ViewBag.State  = new SelectList(db.States.Where(a => a.state_isDeleted != true), "state_id", "state_name");
                ViewBag.HCtype = new SelectList(db.HealthCare_Type.Where(a => a.healthcare_isDeleted != true), "healthcare_type_id", "healthcare_type_name");
                ViewBag.Spec   = new SelectList(db.HealthCareSpecializations.Where(a => a.specialization_isDeleted != true), "specialization_id", "specialization_name");

                if (Session["lang"] != null)
                {
                    if (Session["lang"].ToString().Equals("ar-EG"))
                    {
                        ViewBag.State  = new SelectList(db.States.Where(a => a.state_isDeleted != true), "state_id", "state_arabic_name");
                        ViewBag.HCtype = new SelectList(db.HealthCare_Type.Where(a => a.healthcare_isDeleted != true), "healthcare_type_id", "healthcare_type_name_arabic");
                        ViewBag.Spec   = new SelectList(db.HealthCareSpecializations.Where(a => a.specialization_isDeleted != true), "specialization_id", "specialization_name_arabic");
                    }
                }

                ViewBag.drmsg = Servicely.Languages.Language.you_are_already_reserved_on_this_day;
                return(View(healthcareReservation));
            }



            int?reservationmax = db.ScheduleHealthCares.Find(schedule).checkup_number;

            int maxreserv = db.ReservationScheduleM_M.Where(a => a.reservationSchedule_schedule == schedule).Join(db.HealthcareReservations, a => a.reservationSchedule_reservation, b => b.healthcareReservation_id, (a, b) => new { b }).Where(a => a.b.healthcareReservation_hospital_id == healthcareReservation.healthcareReservation_hospital_id && a.b.Reservation_date == healthcareReservation.Reservation_date && a.b.healthcareReservation_doctor_id == healthcareReservation.healthcareReservation_doctor_id && a.b.healthcareReservation_cancel != true).Count();

            if (maxreserv == reservationmax)
            {
                ViewBag.State  = new SelectList(db.States.Where(a => a.state_isDeleted != true), "state_id", "state_name");
                ViewBag.HCtype = new SelectList(db.HealthCare_Type.Where(a => a.healthcare_isDeleted != true), "healthcare_type_id", "healthcare_type_name");
                ViewBag.Spec   = new SelectList(db.HealthCareSpecializations.Where(a => a.specialization_isDeleted != true), "specialization_id", "specialization_name");

                if (Session["lang"] != null)
                {
                    if (Session["lang"].ToString().Equals("ar-EG"))
                    {
                        ViewBag.State  = new SelectList(db.States.Where(a => a.state_isDeleted != true), "state_id", "state_arabic_name");
                        ViewBag.HCtype = new SelectList(db.HealthCare_Type.Where(a => a.healthcare_isDeleted != true), "healthcare_type_id", "healthcare_type_name_arabic");
                        ViewBag.Spec   = new SelectList(db.HealthCareSpecializations.Where(a => a.specialization_isDeleted != true), "specialization_id", "specialization_name_arabic");
                    }
                }

                ViewBag.drmsg = Servicely.Languages.Language.day_is_full_choose_another_date;
                return(View(healthcareReservation));
            }



            healthcareReservation.healthcareReservation_citizen_id = cid;

            string cod = Guid.NewGuid().ToString().Substring(0, 5) + "-" + Guid.NewGuid().ToString().Substring(0, 5);

            healthcareReservation.healthcareReservation_Code = cod;
            healthcareReservation.Reservation_date           = db.ScheduleHealthCares.Find(schedule).checkup_date;
            healthcareReservation.TransactionDate            = DateTime.Now;
            db.HealthcareReservations.Add(healthcareReservation);
            db.SaveChanges();
            ReservationScheduleM_M r = new ReservationScheduleM_M();

            r.reservationSchedule_reservation = healthcareReservation.healthcareReservation_id;
            r.reservationSchedule_schedule    = schedule;
            db.ReservationScheduleM_M.Add(r);
            db.SaveChanges();

            var father       = db.Citizens.Find(cid);
            var vaccSchedule = db.ScheduleHealthCares.Where(a => a.schedule_id == schedule).FirstOrDefault();
            var email        = db.Contacts.Where(a => a.contact_citizen_id == cid).Join(db.Contact_Type, a => a.contact_contactType_id, b => b.contact_type_id, (a, b) => new { a, b }).Where(b => b.b.contact_type_name == "Email").Select(a => a.a).FirstOrDefault();
            int code         = maxreserv;
            var HealthCare   = db.HealthCares.Find(healthcareReservation.healthcareReservation_hospital_id);

            if (email != null)
            {
                string Title = "Dear " + father.citizen_first_name + " " + father.citizen_second_name + " " + father.citizen_third_name + " " + father.citizen_fourth_name + " \n  " +
                               "You have reserved an appointment on " + vaccSchedule.checkup_date.Value.ToShortDateString() + " from : " + vaccSchedule.checkup_start + " to : " + vaccSchedule.checkup_end + " \n\n" +
                               " Health Care Name: " + HealthCare.hospital_name + " \n Health Care Address: " + HealthCare.District.Region.City.State.state_name + " " + HealthCare.District.Region.City.city_name + " " + HealthCare.District.Region.region_name + " " + HealthCare.District.district_name + " \n" + "Reservation Code: "
                               + (code += 1) + " \n yours sincerely , ";
                SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
                smtp.EnableSsl             = true;
                smtp.UseDefaultCredentials = false;
                smtp.Credentials           = new NetworkCredential("*****@*****.**", "csce4502f16");
                smtp.Send("*****@*****.**", email.contact_data, "Vaccination", Title);
                ViewBag.vcc = Servicely.Languages.Language.successfully_reserved_checkemail;
                return(View());
            }



            ViewBag.drmsg = Servicely.Languages.Language.successfully_reserved_checkemail;


            return(View(healthcareReservation));


            // ViewBag.healthcareReservation_hospital_id = new SelectList(db.HealthCares, "hospital_id", "hospital_name", healthcareReservation.healthcareReservation_hospital_id);
        }