Exemple #1
0
        public ActionResult Edit(int?id)
        {
            if (id.HasValue)
            {
                Doctor doctor = DbCtx.Doctors.Find(id);
                ClinicSpecialityDoctorViewModel vm = new ClinicSpecialityDoctorViewModel
                {
                    SpecialityList     = GetAllSpecialities(),
                    ClinicList         = new List <SelectListItem>(),
                    LastName           = doctor.LastName,
                    FirstName          = doctor.FirstName,
                    PhoneNumber        = doctor.PhoneNumber,
                    Details            = doctor.Details,
                    DoctorId           = doctor.DoctorId,
                    ChosenClinicId     = doctor.Clinic.ClinicId,
                    ChosenSpecialityId = doctor.SpecialityId
                };

                if (doctor == null)
                {
                    return(HttpNotFound("Couldn't find the doctor with id = " + id.ToString() + "!"));
                }

                return(View(vm));
            }
            return(HttpNotFound("Missing doctor id parameter!"));
        }
Exemple #2
0
        public ActionResult New()
        {
            ClinicSpecialityDoctorViewModel vm = new ClinicSpecialityDoctorViewModel
            {
                SpecialityList = GetAllSpecialities(),
                ClinicList     = new List <SelectListItem>()
            };

            return(View(vm));
        }
Exemple #3
0
        public ActionResult New(ClinicSpecialityDoctorViewModel vm)
        {
            try
            {
                vm.SpecialityList = GetAllSpecialities();
                vm.ClinicList     = new List <SelectListItem>();

                if (ModelState.IsValid)
                {
                    // Checks that the chosen clinic has the chosen speciality
                    Clinic     clinic     = DbCtx.Clinics.Find(vm.ChosenClinicId);
                    Speciality speciality = DbCtx.Specialities.Find(vm.ChosenSpecialityId);

                    if (clinic == null)
                    {
                        return(HttpNotFound("Couldn't find the clinic with id " + vm.ChosenClinicId.ToString() + "!"));
                    }

                    if (speciality == null)
                    {
                        return(HttpNotFound("Couldn't find the speciality with id " + vm.ChosenSpecialityId.ToString() + "!"));
                    }

                    var obj = (from Clinic in DbCtx.Clinics.Where(c => c.ClinicId == vm.ChosenClinicId)
                               from Speciality in Clinic.Specialities.Where(spec => spec.SpecialityId == vm.ChosenSpecialityId)
                               select Clinic).FirstOrDefault();

                    if (obj == null)
                    {
                        return(HttpNotFound("Speciality " + speciality.SpecialityName + " doesn't exist in " + clinic.Name + " clinic!"));
                    }

                    Doctor doctor = new Doctor
                    {
                        LastName     = vm.LastName,
                        FirstName    = vm.FirstName,
                        Details      = vm.Details,
                        SpecialityId = vm.ChosenSpecialityId,
                        PhoneNumber  = vm.PhoneNumber,
                        ClinicId     = vm.ChosenClinicId
                    };

                    DbCtx.Doctors.Add(doctor);

                    DbCtx.SaveChanges();
                    return(RedirectToAction("Index", "Doctor"));
                }
                return(View(vm));
            }
            catch (Exception e)
            {
                return(View(vm));
            }
        }
Exemple #4
0
        public ActionResult Edit(int id, ClinicSpecialityDoctorViewModel request)
        {
            try
            {
                request.ClinicList     = new List <SelectListItem>();
                request.SpecialityList = GetAllSpecialities();
                if (ModelState.IsValid)
                {
                    /* Checks that a clinic has the speciality */
                    Clinic     clinic     = DbCtx.Clinics.Find(request.ChosenClinicId);
                    Speciality speciality = DbCtx.Specialities.Find(request.ChosenSpecialityId);

                    if (clinic == null)
                    {
                        return(HttpNotFound("Couldn't find the clinic with id " + request.ChosenClinicId.ToString() + "!"));
                    }

                    if (speciality == null)
                    {
                        return(HttpNotFound("Couldn't find the speciality with id " + request.ChosenSpecialityId.ToString() + "!"));
                    }

                    var obj = (from Clinic in DbCtx.Clinics.Where(c => c.ClinicId == request.ChosenClinicId)
                               from Speciality in Clinic.Specialities.Where(spec => spec.SpecialityId == request.ChosenSpecialityId)
                               select Clinic).FirstOrDefault();

                    if (obj == null)
                    {
                        return(HttpNotFound("Speciality " + speciality.SpecialityName + " doesn't exist in " + clinic.Name + " clinic!"));
                    }

                    Doctor doctor = DbCtx.Doctors.Find(id);

                    if (TryValidateModel(doctor))
                    {
                        doctor.ClinicId     = request.ChosenClinicId;
                        doctor.Clinic       = clinic;
                        doctor.SpecialityId = request.ChosenSpecialityId;
                        doctor.FirstName    = request.FirstName;
                        doctor.LastName     = request.LastName;
                        doctor.PhoneNumber  = request.PhoneNumber;
                        doctor.Details      = request.Details;

                        DbCtx.SaveChanges();
                    }
                    return(RedirectToAction("Index", "Doctor"));
                }
                return(View(request));
            }
            catch (Exception e)
            {
                return(View(request));
            }
        }