public ActionResult New() { ClinicAddressViewModel clinicAddressViewModel = new ClinicAddressViewModel(); clinicAddressViewModel.SpecialityList = GetAllSpecialities(); return(View(clinicAddressViewModel)); }
public ActionResult Edit(int?id) { if (id.HasValue) { Clinic clinic = DbCtx.Clinics.Find(id); if (clinic == null) { return(HttpNotFound("Couldn't find the clinic with id = " + id.ToString() + "!")); } ViewBag.id = id; ClinicAddressViewModel vm = new ClinicAddressViewModel { Name = clinic.Name, PhoneNumber = clinic.PhoneNumber, City = clinic.Address.City, No = clinic.Address.No, Street = clinic.Address.Street, SpecialityList = GetAllSpecialities() }; foreach (Speciality spec in clinic.Specialities) { vm.SpecialityList.FirstOrDefault(obj => obj.Id == spec.SpecialityId).IsChecked = true; } return(View(vm)); } return(HttpNotFound("Missing clinic id parameter!")); }
public ActionResult New(ClinicAddressViewModel objectRequest) { try { if (ModelState.IsValid) { var selectedSpecialities = objectRequest.SpecialityList.Where(obj => obj.IsChecked).ToList(); Address address = new Address { Street = objectRequest.Street, No = objectRequest.No, City = objectRequest.City }; Clinic clinic = new Clinic { PhoneNumber = objectRequest.PhoneNumber, Name = objectRequest.Name, Address = address, Specialities = new List <Speciality>() }; foreach (var spec in selectedSpecialities) { Speciality speciality = DbCtx.Specialities.Find(spec.Id); clinic.Specialities.Add(speciality); } DbCtx.Addresses.Add(address); DbCtx.Clinics.Add(clinic); DbCtx.SaveChanges(); return(RedirectToAction("Index", "Clinic")); } return(View(objectRequest)); } catch (Exception e) { return(View(objectRequest)); } }
public ActionResult Edit(int id, ClinicAddressViewModel request) { try { if (ModelState.IsValid) { Clinic clinic = DbCtx.Clinics.Find(id); var selectedSpecialities = request.SpecialityList.Where(obj => obj.IsChecked).ToList(); if (TryUpdateModel(clinic)) { clinic.Name = request.Name; clinic.PhoneNumber = request.PhoneNumber; clinic.Address.Street = request.Street; clinic.Address.No = request.No; clinic.Address.City = request.City; clinic.Specialities.Clear(); clinic.Specialities = new List <Speciality>(); for (int i = 0; i < selectedSpecialities.Count(); i++) { Speciality speciality = DbCtx.Specialities.Find(selectedSpecialities[i].Id); clinic.Specialities.Add(speciality); } DbCtx.SaveChanges(); } return(RedirectToAction("Index", "Clinic")); } return(View(request)); } catch (Exception e) { return(View(request)); } }