public IHttpActionResult Post(int doctorId, [FromBody] GeneralConsult req) { if (service.SaveGeneralConsult(doctorId, req)) { return(Ok()); } else { return(NotFound()); } }
public bool SaveGeneralConsult(int doctorId, GeneralConsult req) { try { using (TransactionScope scope = new TransactionScope()) { var now = DateTime.Now; //patient Paciente p = Context.Paciente.FirstOrDefault(x => x.idPaciente == req.PatientId); p.AlergiaMedicina = req.Allergies; p.AlergiaOtros = req.Reserved; p.Patologia = req.RelevantPathologies; Context.SaveChanges(); //consult var consult = new Consultas { idmedico = doctorId, idpaciente = req.PatientId, Peso = req.Weight, Altura = req.Size, Temperatura = req.Temperature, TensionArterial = req.BloodPressure_A, TensionArterialB = req.BloodPressure_B, perimetroCefalico = req.HeadCircuference, FrecuenciaCardiaca = req.HeartRate, FrecuenciaRespiratoria = req.BreathingFrecuency, motivo = req.ReasonForConsultation, SignosSintomas1 = req.PhysicalExploration, MedidasPreventivas = req.PreventiveMeasures, observaciones = req.Observations, Fecha = now, Pronostico = req.Prognostic != null?string.Join("|", req.Prognostic) : "" }; Context.Consultas.Add(consult); Context.SaveChanges(); //treatments var treatments = new Recetas { idconsulta = consult.idconsulta, idmedico = doctorId, idpaciente = req.PatientId, Fecha = now, Lineas = SetLines(req.Treatments) }; Context.Recetas.Add(treatments); Context.SaveChanges(); //diagnostics var diagnostics = new Diagnosticos { idconsulta = consult.idconsulta, idmedico = doctorId, idpaciente = req.PatientId.GetValueOrDefault(), Fecha = now, Lineas = SetLines(req.Diagnostics) }; Context.Diagnosticos.Add(diagnostics); Context.SaveChanges(); //laboratory studies var laboratory = new EstudiosLab { idconsulta = consult.idconsulta, idmedico = doctorId, idpaciente = req.PatientId, Fecha = now, Lineas = SetLines(req.LaboratoryStudies) }; Context.EstudiosLab.Add(laboratory); Context.SaveChanges(); //cabinet studies var cabinet = new EstudiosGab { idconsulta = consult.idconsulta, idmedico = doctorId, idpaciente = req.PatientId, Fecha = now, Lineas = SetLines(req.CabinetStudies) }; Context.EstudiosGab.Add(cabinet); Context.SaveChanges(); scope.Complete(); return(true); } } catch (Exception ex) { Log.Write($"WebAPI.Services._Consults - SaveGeneralConsult => ${ex.Message}"); } return(false); }