public IHttpActionResult Post(int doctorId, [FromBody] GynecologyConsult req)
 {
     if (service.SaveGynecologyConsult(doctorId, req))
     {
         return(Ok());
     }
     else
     {
         return(NotFound());
     }
 }
Exemple #2
0
        public bool SaveGynecologyConsult(int doctorId, GynecologyConsult 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;
                    p.EdadMenarca     = req.MenarcaAge;
                    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 gConsult = new ConsultaGinecologa
                    {
                        idconsulta             = consult.idconsulta,
                        FechaUltimaMestruacion = req.LastMenstruationDate,
                        Gestas               = (byte?)req.Gestas,
                        ParaGestas           = (byte?)req.Paragestas,
                        Cesareas             = (byte?)req.Cesareans,
                        abortos              = (byte?)req.Abortions,
                        RecienNacidosVivos   = (byte?)req.NewlyBorn,
                        mortinatos           = (byte?)req.Stillbirth,
                        EdadInicioVidaSexual = (byte?)req.AgeOfOnsetOfActiveSexualLife,
                        menacma              = req.Menacma,
                        oligonorrea          = req.Checkbox.Oligomenorrea,
                        Proiomenorrea        = req.Checkbox.Proiomenorrea,
                        Hipermenorrea        = req.Checkbox.Hipermenorrea,
                        Dismenorrea          = req.Checkbox.Dismenorrea,
                        Dispareunia          = req.Checkbox.Dispareunia,
                        Leucorrea            = req.Checkbox.Leucorrea,
                        Lactorrea            = req.Checkbox.Lactorrea,
                        Amenorrea            = req.Checkbox.Amenorrea,
                        Metrorragia          = req.Checkbox.Metrorragia,
                        Otros            = req.Checkbox.Others,
                        OtrosEspecifique = req.SpecifyOthers,
                        TienePareja      = req.Partner.HasAPartner
                    };

                    if (req.Partner.HasAPartner)
                    {
                        gConsult.SexoPareja            = req.Partner.Sex;
                        gConsult.EstadoCivilPareja     = req.Partner.MaritalStatus;
                        gConsult.GrupoRHPareja         = req.Partner.GroupRH;
                        gConsult.FechaNacimientoPareja = req.Partner.BirthDate;
                        gConsult.OcupacionPareja       = req.Partner.Occupation;
                        gConsult.TelefonoPareja        = req.Partner.Phone;
                        gConsult.nombrePareja          = req.Partner.Name;
                        gConsult.edadPareja            = req.Partner.Age;
                    }

                    Context.ConsultaGinecologa.Add(gConsult);
                    Context.SaveChanges();

                    scope.Complete();
                    return(true);
                }
            }
            catch (Exception ex)
            {
                Log.Write($"WebAPI.Services._Consults - SaveGynecologyConsult => ${ex.Message}");
            }
            return(false);
        }