public ActionResult Index()
        {
            var nvm = new PatientListViewModel();

            using(var c = new DataModelContext())
            {
                nvm.Patients = c.Patients.Include("Therapist").Where(n => n.LastName != null).ToList();
            }

            object alertObject;
            if(TempData.TryGetValue("Alert", out alertObject))
            {
                ViewBag.Alert = alertObject;
            }

            return View(nvm);
        }
        public ActionResult CreateBlank(string PatientFirstName, string PatientLastName, 
			DateTime PatientBirthday, string PatientGender, int PatientFeet, int PatientInches,
			double PatientWeight, string PatientDoctor, string PatientArthritisType, 
			string PatientAffectedExtremity, string PatientDeformity, string PatientCity,
			string PatientPhoneNumber, string PatientEmail)
        {
            var nvm = new PatientListViewModel();

            if(PatientFirstName == "")
            {
                ViewBag.UploadAlert = "Enter the patient's first name";

                using (var c = new DataModelContext())
                {
                    nvm.Patients = c.Patients.Include("Therapist").Where(n => n.LastName != null).ToList();
                }
                return View("Index", nvm);
            }

            if (PatientLastName == "")
            {
                ViewBag.UploadAlert = "Enter the patient's last name";

                using (var c = new DataModelContext())
                {
                    nvm.Patients = c.Patients.Include("Therapist").Where(n => n.LastName != null).ToList();
                }
                return View("Index", nvm);
            }

            using(var c = new DataModelContext())
            {
                var patient = new Patient();
                patient.ReportResult = ReportEngine.getInstance().GenerateReport(patient);
                patient.MedProfile = new MedProfile();

                patient.FirstName = PatientFirstName;
                patient.LastName = PatientLastName;
                patient.Therapist = UserDataEngine.getInstance().GetCurrentUser(c, HttpContext);
                patient.LastUpdate = DateTime.Now;
                patient.Start = DateTime.Now;
                patient.Birthday = PatientBirthday;
                patient.Gender = PatientGender;
                patient.Height = (PatientFeet * 12) + PatientInches;
                patient.Weight = PatientWeight;
                patient.Doctor = PatientDoctor;
                patient.ArthritisType = PatientArthritisType;
                patient.AffectedExtremity = PatientAffectedExtremity;
                patient.Deformity = PatientDeformity;
                patient.ShankLength = 0;
                patient.ThighLength = 0;
                patient.PhoneNumber = PatientPhoneNumber;
                patient.Email = PatientEmail;
                patient.City = PatientCity;
                patient.ContactName = "Not entered";
                patient.ContactRelation = "Not entered";
                patient.ContactPhoneNumber = "Not entered";
                patient.ContactEmail = "Not entered";

                DateTime today = DateTime.Today;
                int age = today.Year - PatientBirthday.Year;
                if (PatientBirthday > today.AddYears(-age)) age--;
                patient.Age = age;

                c.Patients.Add(patient);

                try
                {
                    c.SaveChanges();
                }
                catch(DbEntityValidationException e)
                {
                    foreach(var i in e.EntityValidationErrors)
                    {
                        Console.WriteLine(i.ValidationErrors);
                    }
                    throw e;
                }
                nvm.Patients = c.Patients.Include("Therapist").Where(n => n.LastName != null).ToList();

                ViewBag.NewPatientID = patient.ID;
            }

            ViewBag.Alert = "Patient upload successful";
            ViewBag.AlertClass = "alert-success";
            return View("Index", nvm);
        }