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); }
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); }