예제 #1
0
        public OIQirurgica_Result getOrdenQx(int idOrden)
        {
            OIQirurgica_Result _result = new OIQirurgica_Result();

            try
            {
                _result = _context.PRGUR_getOIQx(i_idOrden: idOrden).FirstOrDefault();
                return(_result);
            }
            catch (Exception e)
            {
                new LOG(tipo: "Error",
                        parametros: "i_idOrden:" + idOrden,
                        ruta_sp: "Capa AccesoDatos : PRGUR_getOIQx",
                        detalle: e.Message,
                        mensaje: e.ToString());
            }
            return(_result);
        }
예제 #2
0
        public int guardarOrdenIQx(OIQirurgica_Result orden, List <string> equipo, List <string> diagnostico, List <string> cirugia, List <SuministrosxOIQuirurgica_Result> suministro, List <ArchivosXCodCarta_Result> archivos)
        {
            try
            {
                string           usermed = UserLoginCache.CMP ?? "";
                string           fcigur  = Convert.ToDateTime(orden.FecCirugia).ToString("MM-dd-yyyy");
                string           fhosp   = Convert.ToDateTime(orden.FecHospit).ToString("MM-dd-yyyy");
                string           edad    = (!String.IsNullOrEmpty(orden.EdadPac)) ? orden.EdadPac.Split(' ')[0] : "";
                string           tipoUpd = (orden.IdOrden != 0) ?"UPD":"Ins";
                CodIdOIQx_Result indice  = _context.PRGUR_GUARDAR_OIQUIRURGICA(
                    i_idOrdenQx: orden.IdOrden,
                    i_NroOrden: orden.NroOrden,
                    i_Usuario: UserLoginCache.audUser,
                    i_Equipo: UserLoginCache.IpAddress,
                    i_Num_Doc_Paciente: orden.DocPac,
                    i_HC_paciente: orden.HCPac,
                    i_Edad: edad,
                    i_Num_Celular: orden.CelularPac,
                    i_Nom_Paciente: (orden.NombrePac != null)?orden.NombrePac.ToUpper():"",
                    i_CorreoContacto: orden.CorreoPac,
                    i_codFinanciador: orden.Financiador,
                    i_codEspecialidad: orden.Especialidad,
                    i_codTipoCirugia: orden.TipoCarta,
                    i_Tiempo_dia: orden.TenfDia,
                    i_Tiempo_Mes: orden.TenfMes,
                    i_Tiempo_year: orden.TenfAnios,
                    i_HorasQx: orden.DuracionHorQx,
                    i_Alergias: orden.Alergias,
                    i_Morbilidades: orden.Morbilidades,
                    i_Requisito1: orden.ReqConsentimiento,
                    i_Requisito2: orden.ReqExamenes,
                    i_Requisito3: orden.ReqImagenes,
                    i_Requisito4: orden.ReqRiesgoCar,
                    i_Requisito5: orden.ReqRiesgoNeu,
                    i_Requisito6: orden.ReqDSangre,
                    i_Requisito7: orden.ReqEvaPre,
                    i_Requisito8: orden.ReqOtros,
                    i_FCirugia: (orden.FecCirugia != null) ? fcigur : "",
                    i_HoraCirugia: orden.HorCirugia,
                    i_FHospitalizacion: (orden.FecCirugia != null) ? fhosp : "",
                    i_HoraHosp: orden.HorHospit,
                    i_Justificacion: (orden.Justificacion != null) ? orden.Justificacion.ToUpper() : "",
                    i_Testancia: orden.TEstimado,
                    i_Profilaxis: orden.Profilaxis,
                    i_CMPmedicoReg: usermed,
                    i_ValidaTiempo: orden.ValidaTiempo,
                    i_TipoAnestesia: orden.TipoAnestesia
                    ).FirstOrDefault();

                if (diagnostico != null)
                {
                    foreach (string cdes in diagnostico)
                    {
                        if (cdes == "")
                        {
                            continue;
                        }
                        _context.PRGUR_guardarCDESxOIQuirurgica(
                            i_NroOIQx: indice.IDORDEN,
                            i_CodigoOIQx: indice.NRORDEN,
                            i_Codigo: cdes,
                            i_Equipo: UserLoginCache.IpAddress,
                            i_Usuario: UserLoginCache.audUser,
                            tipoIns: ConstanteDB.TipoDx
                            );
                    }
                }
                if (cirugia != null)
                {
                    foreach (string cdes in cirugia)
                    {
                        if (cdes == "")
                        {
                            continue;
                        }
                        _context.PRGUR_guardarCDESxOIQuirurgica(
                            i_NroOIQx: indice.IDORDEN,
                            i_CodigoOIQx: indice.NRORDEN,
                            i_Codigo: cdes,
                            i_Equipo: UserLoginCache.IpAddress,
                            i_Usuario: UserLoginCache.audUser,
                            tipoIns: ConstanteDB.TipoCirugia
                            );
                    }
                }
                if (equipo != null)
                {
                    foreach (string cdes in equipo)
                    {
                        if (cdes == "")
                        {
                            continue;
                        }
                        _context.PRGUR_guardarCDESxOIQuirurgica(
                            i_NroOIQx: indice.IDORDEN,
                            i_CodigoOIQx: indice.NRORDEN,
                            i_Codigo: cdes,
                            i_Equipo: UserLoginCache.IpAddress,
                            i_Usuario: UserLoginCache.audUser,
                            tipoIns: ConstanteDB.TipoEquipo
                            );
                    }
                }
                if (suministro != null)
                {
                    foreach (SuministrosxOIQuirurgica_Result s in suministro)
                    {
                        //if (s.CODIGO == "") continue;
                        _context.PRGUR_guardarSuministroxOIQuirurgica(
                            i_NroOIQx: indice.IDORDEN,
                            i_TipoIns: tipoUpd,
                            i_Codigo: s.CODIGO,
                            i_Equipo: UserLoginCache.IpAddress,
                            i_Usuario: UserLoginCache.audUser,
                            i_cantidad: s.cantidad,
                            i_Observacion: s.Observ
                            );
                    }
                }
                if (archivos != null)
                {
                    IArchivoCGDAL _arcDal = new ArchivoCGDAL();
                    int           ind     = 0;
                    foreach (var a in archivos)
                    {
                        a.NombreArchivo = "OIQAnexo" + ind + ConstanteDB.extensionPDF;
                        a.Origen        = "OIQx";
                        a.IdArchivo     = indice.IDORDEN ?? 0;
                        a.codSolicitud  = indice.NRORDEN;
                        a.TipoArchivo   = "OD";
                        _arcDal.guardarArchivo(a, "", "");
                        ind++;
                    }
                }

                return(indice.IDORDEN ?? 0);
            }
            catch (DbEntityValidationException ex)
            {
                string e = "";
                foreach (var error in ex.EntityValidationErrors)
                {
                    log.Error("====================Entity {0} in state {1} has validation errors:" +
                              error.Entry.Entity.GetType().Name + "--" + error.Entry.State);
                    e += "Parametro:" + error.Entry.Entity.GetType().Name;
                    e += "____Estado" + error.Entry.State;
                    foreach (var ve in error.ValidationErrors)
                    {
                        log.Error("\tProperty: {0}, Error: {1}" + ve.PropertyName + "----" + ve.ErrorMessage);
                        e += "_________________________________Mensaje" + ve.PropertyName + "----" + ve.ErrorMessage;
                    }
                }
                new LOG(tipo: "Error",
                        parametros: "OiQx",
                        ruta_sp: "Capa AccesoDatos : PRGUR_getOIQx",
                        detalle: "Error al ingresar la informacion a la base de datos",
                        mensaje: e);
            }
            catch (Exception e)
            {
                new LOG(tipo: "Error",
                        parametros: "OIQx",
                        ruta_sp: "Capa AccesoDatos : PRGUR_ListarOIQx",
                        detalle: e.Message,
                        mensaje: e.ToString());
            }
            Control.bug     = true;
            Control.mensaje = "Ocurrio un error al intentar guardar la información, porfavor intentelo más tarde o comuniquede con el administrador del sistema";
            return(-1);
        }