public IActionResult Post([FromBody] Clinic Clinic) { if (Clinic.Id != 0) { /*Update Insurance, shift and clinic specialty */ var editingClinic = _db.Clinics.FirstOrDefault(m => m.Id == Clinic.Id); editingClinic.Insurance = Clinic.Insurance; editingClinic.Shift = Clinic.Shift; editingClinic.Specialty = Clinic.Specialty; _db.SaveChanges(); return(Ok()); } else { /*Add new record*/ if (Clinic == null) { return(BadRequest()); } var attending = (from a in _db.Attendings where a.Id == Clinic.Attending.Id select a).FirstOrDefault(); var doctor = (from d in _db.Users where d.ResidentName == Clinic.Doctor.ResidentName select d).FirstOrDefault(); var clinicToAdd = new Clinic { Specialty = Clinic.Specialty, Attending = attending, Shift = Clinic.Shift, Insurance = Clinic.Insurance, Doctor = doctor }; _db.Clinics.Add(clinicToAdd); _db.SaveChanges(); var clinic = (from tbl in _db.Clinics orderby tbl.Id descending select tbl).FirstOrDefault(); var doctorClinicAssociation = new DoctorClinic { DoctorId = doctor.Id, Doctor = doctor, Clinic = clinic, ClinicId = clinic.Id }; _db.DoctorClinics.Add(doctorClinicAssociation); _db.SaveChanges(); return(Ok(Clinic)); } }
public async Task <ActionResult <DoctorClinic> > AssignDoctor(DoctorClinic doctorClinic) { int CountAssignedInClinics = _context.doctorClinics.Where(d => d.IdDoctor == doctorClinic.IdDoctor).ToList().Count(); if (CountAssignedInClinics >= 2) { return(Unauthorized("Um médico pode estar vinculado a no máximo 2 consultórios")); } ///Doctor already atributed in clinic DoctorClinic dc = _context.doctorClinics.Where(d => d.IdClinic == doctorClinic.IdClinic).FirstOrDefault(); if (dc != null) { return(Unauthorized("Médico Já Atribuido a este Consultório")); } _context.doctorClinics.Add(doctorClinic); await _context.SaveChangesAsync(); return(Ok(doctorClinic)); }
public ActionResult DoctorSaveToClinic(DoctorClinic aDoctorClinic) { db.DoctorClinics.Add(aDoctorClinic); db.SaveChanges(); return Json(true, JsonRequestBehavior.AllowGet); }