public ActionResult RequestAppointment(General_Enquiry model, FormCollection fc) { // Check if there is already appointment for this client id General_Enquiry ge = db.General_Enquiry.DefaultIfEmpty(null).SingleOrDefault(x => x.Client_Id == model.Client_Id); if (ge != null) return RedirectToAction("LogOn", "Account"); ViewBag.Branch = db.Branches.ToList(); model.Appointment.AppDateTime = Utilities.formatDate(fc["Appointment.AppDateTime"], "dd/MM/yyyy"); ModelState.Remove("Appointment.AppDateTime"); try { if (ModelState.IsValid) { model.Appointment.Branch_Id = model.Branch_Id; model.Appointment.Confirmation = AppointmentController.APP_REQUEST_APPROVAL; db.General_Enquiry.AddObject(model); db.SaveChanges(); LogHelper.writeToSystemLog(new string[] { CookieHelper.Username }, (CookieHelper.Username + "Requested appointment "), LogHelper.LOG_OTHER, LogHelper.SECTION_CLIENT); string messageBody = "<div>Your appointment is scheduled on: " + model.Appointment.AppDateTime.ToShortDateString() + " on " + model.Appointment.AppDateTime.ToShortTimeString() + "</div>"; messageBody += "<div><br/> <strong>This is your client ID for future reference: " + model.Client_Id + "</strong></div>"; EmailHelper.sendEmail(new MailAddress(model.Client.Email), "We have received your appointment request", messageBody); return RedirectToAction("AppointmentSuccess", "Client", new { id = model.Appointment.Appointment_Id }); } } catch (Exception e) { Debug.WriteLine("{0} First exception caught.", e); Debug.WriteLine(e.InnerException); ModelState.AddModelError("", e); } Client c = db.Clients.Single(x => x.Client_Id == model.Client_Id); ViewBag.ClientName = c.GivenName + " " + c.LastName; return View(model); }
public ActionResult RequestAppointment(int id) { // Check if there is already appointment for this client id General_Enquiry ge = db.General_Enquiry.DefaultIfEmpty(null).SingleOrDefault(x => x.Client_Id == id); if (ge != null) return RedirectToAction("LogOn", "Account"); General_Enquiry model = new General_Enquiry(); model.Client_Id = id; IEnumerable<Branch> branch = db.Branches.ToList(); ViewBag.Branch = branch; Client c = db.Clients.Single(x => x.Client_Id == id); model.Branch_Id = c.Branch_Id; ViewBag.ClientName = c.GivenName + " " + c.LastName; return View(model); }