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));
            }
        }
Beispiel #2
0
        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);
 }