public IHttpActionResult Post(int doctorId, [FromBody] ObstetricConsult req) { if (service.SaveObstetricConsult(doctorId, req)) { return(Ok()); } else { return(NotFound()); } }
public bool SaveObstetricConsult(int doctorId, ObstetricConsult req) { try { using (TransactionScope scope = new TransactionScope()) { var now = DateTime.Now; Paciente p = Context.Paciente.FirstOrDefault(x => x.idPaciente == req.PatientConsult.PatientId); p.AlergiaMedicina = req.PatientConsult.Allergies; p.AlergiaOtros = req.PatientConsult.Reserved; p.Patologia = req.PatientConsult.RelevantPathologies; Context.SaveChanges(); var consult = new Consultas { idmedico = doctorId, idpaciente = req.PatientConsult.PatientId, Peso = req.BasicConsult.Weight, Altura = req.BasicConsult.Size, Temperatura = req.BasicConsult.Temperature, TensionArterial = req.BasicConsult.BloodPressure_A, TensionArterialB = req.BasicConsult.BloodPressure_B, motivo = req.BasicConsult.ReasonForConsultation, Fecha = now }; Context.Consultas.Add(consult); Context.SaveChanges(); var consultObst = new ConsultaObstetrica { idconsulta = consult.idconsulta, noembarazo = req.PregnancyNumber, activaSexualmente = req.SexuallyActive, abortos = req.Abortions, FechaUltmoParto = req.LastParturitionDate, PrimerDiaUltimaMestruacuion = req.FirstDayOfLastMenstruation, ToxemiasPrevias = (byte?)(req.PreviousToxemias ? 1 : 0), EspecifiqueToxemias = req.PreviousToxemias ? req.SpecifyToxemias : null, Partos = req.Parturition, CesareasPrevia = req.PreviousCesarean, UsoDeForceps = req.Forceps, Motinatos = req.Stillbirths, RMVivos = req.NewbornAlive, EmbarazoEtopicos = (byte?)(req.EctopicPregnancies ? 1 : 0), EmbrazoEtopicoExplique = req.EctopicPregnancies ? req.SpecifyEctopicPregnancies : null, EmbrazosComplicadosPrevios = (byte?)(req.PreviousPregnacyComplications ? 1 : 0), EmbarazosComplicadosExplique = req.PreviousPregnacyComplications ? req.SpecifyPreviousPregnacyComplications : null, NoComplicacionesPertinales = (byte?)(req.PerinatalComplications ? 1 : 0), ComplicacionesPerinatalesExplique = req.PerinatalComplications ? req.SpecifyPerinatalComplications : null, NoEmbrazosAnormales = (byte?)(req.AbnormalPregnancies ? 1 : 0), EmbarazosAnormalesExplique = req.AbnormalPregnancies ? req.SpecifyAbnormalPregnancies : null, Observaciones = req.Observations, FU = req.PregnancyControl.FU, FCF = req.PregnancyControl.FCF, CC = req.PregnancyControl.CC, CA = req.PregnancyControl.CA, LF = req.PregnancyControl.LF, DSP = req.PregnancyControl.DBP, Posicion = req.PregnancyControl.Position, Presentacion = req.PregnancyControl.Presentation, siuacuion = req.PregnancyControl.Situtation, Actitud = req.PregnancyControl.Attitude, MovimientosFetales = req.PregnancyControl.FetalMovements, PesoAproxProducto = req.PregnancyControl.ApproximateProductWeight, TA = req.PregnancyControl.TA, FCM = req.PregnancyControl.FCM, Edema = req.PregnancyControl.Edema, SeHizoUf = req.PregnancyControl.MadeUf, ultrasonido = req.PregnancyControl.Ultrasound, exploracionFisica = req.PregnancyControl.PhysicalExploration }; if (req.Parturition == 1) { consultObst.TipoDistocia = (byte?)req.DystociaType; consultObst.EspecifiqueTipoDistocia = req.DystociaType == 3 ? req.SpecifyDystociaType : null; consultObst.MotivoDistocia = (byte?)req.DystociaReason; consultObst.EspecifiqueMotivoDistocia = req.DystociaReason == 4 ? req.SpecifyDystociaReason : null; } Context.ConsultaObstetrica.Add(consultObst); Context.SaveChanges(); scope.Complete(); return(true); } } catch (Exception ex) { Log.Write($"WebAPI.Services._Consults - SaveObstetricConsult => ${ex.Message}"); } return(false); }