Exemple #1
0
        private void EnviarDatos()
        {
            int    IdMuestra = int.Parse(Request["IDMuestra"].ToString()) - 1;
            string m_Prefijo = Request["Prefijo"].ToString();
            string m_Equipo  = Request["Equipo"].ToString();

            LimpiarTablaTemporal();
            string pivot               = "";
            string pivotTipoMuestra    = "";
            string m_numeroMuestra     = pivot;
            string m_listaItem         = "";;
            string m_paciente          = "";
            string m_numero            = "";
            string m_muestra           = "";
            string m_anioNacimiento    = "";
            string m_sexoPaciente      = "";
            string m_urgente           = "N";
            string m_sectorSolicitante = "";
            string m_listaFinal        = "";

            int cantidad = 0;

            foreach (GridViewRow row in gvLista.Rows)
            {
                CheckBox a = ((CheckBox)(row.Cells[0].FindControl("CheckBox1")));
                if (a.Checked == true)
                {
                    pivot            = m_numeroMuestra;
                    pivotTipoMuestra = m_muestra;

                    m_numero  = row.Cells[0].Text;    // gvLista.DataKeys[row.RowIndex].Value.ToString();
                    m_muestra = row.Cells[4].Text;    // gvLista.DataKeys[row.RowIndex].Value.ToString();

                    if (m_Equipo == "Mindray")
                    {
                        if (m_Prefijo.Trim() != "Rutina")
                        {
                            m_numeroMuestra = m_numero + "-" + m_muestra.Substring(0, 1).ToUpper() + "-" + m_Prefijo.ToUpper();
                        }
                        else
                        {
                            m_numeroMuestra = m_numero + "-" + m_muestra.Substring(0, 1).ToUpper();
                        }
                    }
                    //if ((m_Equipo == "SysmexXS1000")|| (m_Equipo == "SysmexXT1800"))
                    if (m_Equipo != "Mindray")
                    {
                        m_numeroMuestra = m_numero.ToUpper();
                    }


                    bool grabar = false;
                    if (pivot != m_numeroMuestra)
                    {
                        cantidad    += 1;
                        m_listaFinal = m_listaItem;
                        m_listaItem  = "";
                        if (pivot != "")
                        {
                            IdMuestra += 1;
                            grabar     = true;
                        }
                    }

                    if (grabar)
                    {
                        //////INSERTAR LOS ANALISIS EN LA TABLA TEMPORAL LAB_MINDRAYPROTOCOLO
                        ProtocoloEnvio oRegistro = new ProtocoloEnvio();
                        oRegistro.IdMuestra         = IdMuestra;
                        oRegistro.NumeroProtocolo   = pivot;
                        oRegistro.Iditem            = m_listaFinal;
                        oRegistro.Paciente          = m_paciente;
                        oRegistro.AnioNacimiento    = m_anioNacimiento;
                        oRegistro.Sexo              = m_sexoPaciente;
                        oRegistro.SectorSolicitante = m_sectorSolicitante;
                        oRegistro.MedicoSolicitante = "";
                        oRegistro.TipoMuestra       = pivotTipoMuestra;
                        oRegistro.Urgente           = m_urgente;
                        oRegistro.Equipo            = m_Equipo;
                        oRegistro.Save();
                        ////////////////////////////////////////////
                    }

                    string m_idDetalleProtocolo = gvLista.DataKeys[row.RowIndex].Value.ToString();


                    DetalleProtocolo oDetProtocolo = new DetalleProtocolo();
                    oDetProtocolo                = (DetalleProtocolo)oDetProtocolo.Get(typeof(DetalleProtocolo), int.Parse(gvLista.DataKeys[row.RowIndex].Value.ToString()));
                    oDetProtocolo.Enviado        = 1;
                    oDetProtocolo.IdUsuarioEnvio = int.Parse(Session["idUsuario"].ToString());
                    oDetProtocolo.FechaEnvio     = DateTime.Now;

                    oDetProtocolo.Save();
                    if (m_Equipo == "Mindray")
                    {
                        m_paciente = oDetProtocolo.IdProtocolo.IdPaciente.Apellido + " " + oDetProtocolo.IdProtocolo.IdPaciente.Nombre;
                    }
                    if (m_Equipo != "Mindray")
                    {
                        m_paciente = oDetProtocolo.IdProtocolo.IdPaciente.NumeroDocumento.ToString() + " - " + oDetProtocolo.IdProtocolo.IdPaciente.Apellido + " " + oDetProtocolo.IdProtocolo.IdPaciente.Nombre;
                    }
                    //if ((m_Equipo == "SysmexXS1000") || (m_Equipo == "SysmexXT1800")) m_paciente = oDetProtocolo.IdProtocolo.IdPaciente.NumeroDocumento.ToString() + " - " + oDetProtocolo.IdProtocolo.IdPaciente.Apellido + " " + oDetProtocolo.IdProtocolo.IdPaciente.Nombre;

                    if (m_Equipo == "Mindray")
                    {
                        m_anioNacimiento = oDetProtocolo.IdProtocolo.IdPaciente.FechaNacimiento.Year.ToString();
                    }
                    if (m_Equipo != "Mindray")
                    {
                        m_anioNacimiento = oDetProtocolo.IdProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");
                    }
                    //if ((m_Equipo == "SysmexXS1000") || (m_Equipo == "SysmexXT1800")) m_anioNacimiento = oDetProtocolo.IdProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");

                    m_sexoPaciente = oDetProtocolo.IdProtocolo.Sexo; if (m_sexoPaciente == "I")
                    {
                        m_sexoPaciente = "O";
                    }

                    m_urgente = "N";
                    if (oDetProtocolo.IdProtocolo.IdPrioridad.IdPrioridad == 2)
                    {
                        m_urgente = "Y";
                    }

                    m_sectorSolicitante = oDetProtocolo.IdProtocolo.IdSector.Nombre;

                    int i_idItem = oDetProtocolo.IdSubItem.IdItem;

                    ////busca en el analisis en el mindray para sacar tipo de muestra y numero de analisis
                    if (m_Equipo == "Mindray")
                    {
                        MindrayItem oItemMindray = new MindrayItem();
                        oItemMindray = (MindrayItem)oItemMindray.Get(typeof(MindrayItem), "IdItem", i_idItem);

                        if (oItemMindray != null)
                        {
                            if (m_listaItem == "")
                            {
                                m_listaItem = oItemMindray.IdMindray.ToString();
                            }
                            else
                            {
                                m_listaItem += "|" + oItemMindray.IdMindray.ToString();
                            }
                        }
                    }
                    ////busca en el analisis en el sysmex para sacar identificación de analisis


                    if (m_Equipo == "Stago")
                    {
                        StaCompactItem oItemEquipo = new StaCompactItem();
                        oItemEquipo = (StaCompactItem)oItemEquipo.Get(typeof(StaCompactItem), "IdItem", i_idItem);
                        if (oItemEquipo != null)
                        {
                            if (m_listaItem == "")
                            {
                                m_listaItem = oItemEquipo.IdstaCompac.ToString();
                            }
                            else
                            {
                                m_listaItem += "|" + oItemEquipo.IdstaCompac.ToString();
                            }
                        }
                    }

                    if (m_Equipo == "SysmexXS1000")
                    {
                        SysmexItemXS1000 oItemSysmex = new SysmexItemXS1000();
                        oItemSysmex = (SysmexItemXS1000)oItemSysmex.Get(typeof(SysmexItemXS1000), "IdItem", i_idItem);
                        if (oItemSysmex != null)
                        {
                            if (m_listaItem == "")
                            {
                                m_listaItem = oItemSysmex.IdSysmex.ToString();
                            }
                            else
                            {
                                m_listaItem += "|" + oItemSysmex.IdSysmex.ToString();
                            }

                            //switch (oItemSysmex.IdSysmex)
                            //{
                            //    case "NEUT%": m_listaItem += "|NEUT#"; break;
                            //    case "LYMPH%": m_listaItem += "|LYMPH#"; break;
                            //    case "MONO%": m_listaItem += "|MONO#"; break;
                            //    case "EO%": m_listaItem += "|EO#"; break;
                            //    case "BASO%": m_listaItem += "|BASO#"; break;
                            //}
                        }
                    }

                    if (m_Equipo == "SysmexXT1800")
                    {
                        SysmexItemxt1800 oItemSysmex = new SysmexItemxt1800();
                        oItemSysmex = (SysmexItemxt1800)oItemSysmex.Get(typeof(SysmexItemxt1800), "IdItem", i_idItem);
                        if (oItemSysmex != null)
                        {
                            if (m_listaItem == "")
                            {
                                m_listaItem = oItemSysmex.IdSysmex.ToString();
                            }
                            else
                            {
                                m_listaItem += "|" + oItemSysmex.IdSysmex.ToString();
                            }

                            //switch (oItemSysmex.IdSysmex)
                            //{
                            //    case "NEUT%": m_listaItem += "|NEUT#"; break;
                            //    case "LYMPH%": m_listaItem += "|LYMPH#"; break;
                            //    case "MONO%": m_listaItem += "|MONO#"; break;
                            //    case "EO%": m_listaItem += "|EO#"; break;
                            //    case "BASO%": m_listaItem += "|BASO#"; break;
                            //}
                        }
                    }
                }
            }

            if (m_numeroMuestra != "")
            //if ((pivot == m_numeroMuestra)&&(pivot !=""))
            {
                IdMuestra += 1;
                //////INSERTAR LOS ANALISIS EN LA TABLA TEMPORAL LAB_MINDRAYPROTOCOLO
                ProtocoloEnvio oRegistro = new ProtocoloEnvio();
                oRegistro.NumeroProtocolo   = m_numeroMuestra;
                oRegistro.IdMuestra         = IdMuestra;
                oRegistro.Iditem            = m_listaItem;
                oRegistro.Paciente          = m_paciente;
                oRegistro.AnioNacimiento    = m_anioNacimiento;
                oRegistro.Sexo              = m_sexoPaciente;
                oRegistro.SectorSolicitante = m_sectorSolicitante;
                oRegistro.MedicoSolicitante = "";
                oRegistro.TipoMuestra       = m_muestra;
                oRegistro.Urgente           = m_urgente;
                oRegistro.Equipo            = m_Equipo;
                oRegistro.Save();

                ////////////////////////////////////////////
            }
            Response.Redirect("EnvioMensaje.aspx?Cantidad=" + cantidad.ToString() + "&Equipo=" + Request["Equipo"].ToString(), false);
        }
        private void GrabarDatosaEnviar(string m_Equipo,Protocolo oProtocolo,int IdMuestra, string numero)
        {
            string m_paciente = ""; string m_anioNacimiento = ""; string m_sexoPaciente = "";
            string m_listaItem = ""; string m_sectorSolicitante = ""; string m_Prefijo = "";
            string m_tipoMuestra = ""; bool marcarenviado = false;
            m_tipoMuestra = Request["tipoMuestra"].ToString();
      

            ISession m_session = NHibernateHttpModule.CurrentSession;
            ICriteria crit = m_session.CreateCriteria(typeof(DetalleProtocolo));
            crit.Add(Expression.Eq("IdProtocolo", oProtocolo));
            //crit.Add(Expression.Eq("Enviado", 0));
            IList lista = crit.List();
           
            foreach (DetalleProtocolo oDetalle in lista)
            {
                    marcarenviado = false;
                    if (m_Equipo == "Mindray")
                    {
                        m_Prefijo = Request["Prefijo"].ToString(); 
                        MindrayItem oItemMindray = new MindrayItem();
                        oItemMindray = (MindrayItem)oItemMindray.Get(typeof(MindrayItem), "IdItem", oDetalle.IdSubItem.IdItem, "Habilitado", true);                      
                            
                        if (oItemMindray != null)
                        {
                            if (m_Prefijo.Trim() != "Rutina")
                            {
                                if (oItemMindray.Prefijo == m_Prefijo.Trim())
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = oItemMindray.IdMindray.ToString();
                                    else
                                        m_listaItem += "|" + oItemMindray.IdMindray.ToString();
                                }
                            }
                            else
                            {
                                if (oItemMindray.Prefijo == "")
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = oItemMindray.IdMindray.ToString();
                                    else
                                        m_listaItem += "|" + oItemMindray.IdMindray.ToString();
                                }
                            }
                        }                                          
                    }


                    if (m_Equipo == "SysmexXS1000")
                    {
                        SysmexItemXS1000 oItemSysmex = new SysmexItemXS1000();
                        oItemSysmex = (SysmexItemXS1000)oItemSysmex.Get(typeof(SysmexItemXS1000), "IdItem", oDetalle.IdSubItem.IdItem,"Habilitado",true);
                        if (oItemSysmex != null)
                        {
                            marcarenviado = true;
                            if (m_listaItem == "")
                                m_listaItem = oItemSysmex.IdSysmex.ToString();
                            else
                                m_listaItem += "|" + oItemSysmex.IdSysmex.ToString();
                            /////////////////////////////////////////////////////////
                            ///agrega los valores absolutos de la formula leucocitaria
                            switch (oItemSysmex.IdSysmex)
                            {
                                case "NEUT%": m_listaItem += "|NEUT#"; break;
                                case "LYMPH%": m_listaItem += "|LYMPH#"; break;
                                case "MONO%": m_listaItem += "|MONO#"; break;
                                case "EO%": m_listaItem += "|EO#"; break;
                                case "BASO%": m_listaItem += "|BASO#"; break;
                            }
                            /////////////////////////////////////////////////////////
                        }
                    }


                    if (m_Equipo == "SysmexXT1800")
                    {
                        SysmexItemxt1800 oItemSysmex = new SysmexItemxt1800();
                        oItemSysmex = (SysmexItemxt1800)oItemSysmex.Get(typeof(SysmexItemxt1800), "IdItem", oDetalle.IdSubItem.IdItem,"Habilitado",true);
                        if (oItemSysmex != null)
                        {
                            marcarenviado = true;
                            if (m_listaItem == "")
                                m_listaItem = oItemSysmex.IdSysmex;
                            else
                                m_listaItem += "|" + oItemSysmex.IdSysmex;                         
                        }
                    }

                    if (m_Equipo == "Metrolab")
                    {
                        m_Prefijo = Request["Prefijo"].ToString(); 
                        MetrolabItem oItemMetrolab = new MetrolabItem();
                        oItemMetrolab = (MetrolabItem)oItemMetrolab.Get(typeof(MetrolabItem), "IdItem", oDetalle.IdSubItem.IdItem,"Habilitado", true);
                        if (oItemMetrolab != null)
                        {
                            if (m_Prefijo.Trim() != "Rutina")
                            {
                                if (oItemMetrolab.Prefijo == m_Prefijo.Trim())
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = oItemMetrolab.IdMetrolab;
                                    else
                                        m_listaItem += ";" + oItemMetrolab.IdMetrolab;
                                }
                            }
                            else
                            {
                                if (oItemMetrolab.Prefijo == "")
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = oItemMetrolab.IdMetrolab;
                                    else
                                        m_listaItem += ";" + oItemMetrolab.IdMetrolab;
                                }
                            }
                        }
                    }
                    if (m_Equipo == "Miura")
                    {
                        MiuraItem oItemMiura = new MiuraItem();
                        oItemMiura = (MiuraItem)oItemMiura.Get(typeof(MiuraItem), "IdItem", oDetalle.IdSubItem.IdItem,"Habilitado",true);
                        if (oItemMiura != null)
                        {
                            if (m_Prefijo.Trim() != "Rutina")
                            {
                                if (oItemMiura.Prefijo == m_Prefijo.Trim())
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem ="^" + oItemMiura.IdMiura + "^^"; 
                                    else
                                        m_listaItem += "|" + "^" + oItemMiura.IdMiura + "^^" ;
                                }
                            }
                            else
                            {
                                if (oItemMiura.Prefijo == "")
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = "^" + oItemMiura.IdMiura + "^^";
                                    else
                                        m_listaItem += "|" + "^" + oItemMiura.IdMiura + "^^";
                                }
                            }
                        }
                    }
                if (m_Equipo == "CobasC311")
                {

                    m_Prefijo = Request["Prefijo"].ToString();
                    
                    CobasC311Item oItemCobasC311 = new CobasC311Item();
                    oItemCobasC311 = (CobasC311Item)oItemCobasC311.Get(typeof(CobasC311Item), "IdItemSil", oDetalle.IdSubItem.IdItem, "Habilitado", true);
                    if (oItemCobasC311 != null)
                    {
                        if (m_Prefijo.Trim() != "Rutina")
                        {
                            if (oItemCobasC311.Prefijo.Trim() == m_Prefijo.Trim())
                            {
                                marcarenviado = true;
                                if (m_listaItem == "")
                                    m_listaItem = oItemCobasC311.IdItemCobas.ToString() + "|" + oItemCobasC311.TipoMuestra.ToString();
                                else
                                    m_listaItem += ";" + oItemCobasC311.IdItemCobas + "|" + oItemCobasC311.TipoMuestra.ToString();
                            }
                        }
                        else
                        {
                            if (oItemCobasC311.Prefijo.Trim() == "")
                            {
                                marcarenviado = true;
                                if (m_listaItem == "")
                                    m_listaItem = oItemCobasC311.IdItemCobas.ToString() + "|" + oItemCobasC311.TipoMuestra.ToString();
                                else
                                    m_listaItem += ";" + oItemCobasC311.IdItemCobas + "|" + oItemCobasC311.TipoMuestra.ToString();
                            }
                        }
                    }
                }


                if (marcarenviado)
                    {   ////////marca como enviado
                        oDetalle.Enviado = 1;
                        oDetalle.IdUsuarioEnvio = int.Parse(Session["idUsuario"].ToString());
                        oDetalle.FechaEnvio = DateTime.Now;
                        oDetalle.Save();
                        ///////////////
                    }
             }


            if (m_listaItem != "")
            {
                m_sexoPaciente = oProtocolo.Sexo; if (m_sexoPaciente == "I") m_sexoPaciente = "O";
                
                if (m_Equipo == "SysmexXT1800")
                {
                    if (m_sexoPaciente == "O") m_sexoPaciente = "U";
                    m_paciente = oProtocolo.IdPaciente.NumeroDocumento.ToString() + "-" + oProtocolo.IdPaciente.Apellido + "-" + oProtocolo.IdPaciente.Nombre;
                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");
                    m_tipoMuestra = "Sangre";
                }

                if (m_Equipo == "SysmexXS1000")
                {
                    m_paciente = oProtocolo.IdPaciente.NumeroDocumento.ToString() + " - " + oProtocolo.IdPaciente.Apellido + "  " + oProtocolo.IdPaciente.Nombre;
                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");
                    m_tipoMuestra = "Sangre";
                }
                
                if (m_Equipo == "Mindray")
                {                   
                    m_Prefijo = Request["Prefijo"].ToString(); 
                    if (m_Prefijo.Trim() != "Rutina") numero = numero + "-" + m_tipoMuestra.Substring(0, 1).ToUpper() + "-" + m_Prefijo.ToUpper();
                    else   numero = numero + "-" + m_tipoMuestra.Substring(0, 1).ToUpper();
                    m_paciente = oProtocolo.IdPaciente.Apellido + " " + oProtocolo.IdPaciente.Nombre;
                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.Year.ToString();
               
                }
                if (m_Equipo == "Miura")
                {
                    m_Prefijo = Request["Prefijo"].ToString();
                    if (m_Prefijo.Trim() != "Rutina") numero = numero + "-" + m_Prefijo.ToUpper();
                    if (oProtocolo.IdPaciente.IdEstado == 1)
                        m_paciente = oProtocolo.IdPaciente.NumeroDocumento.ToString() + " - " + oProtocolo.IdPaciente.Apellido + "^" + oProtocolo.IdPaciente.Nombre;
                    else
                        m_paciente = "0 - " + oProtocolo.IdPaciente.Apellido + "^" + oProtocolo.IdPaciente.Nombre;

                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");
                    m_sexoPaciente = oProtocolo.Sexo; if (m_sexoPaciente == "I") m_sexoPaciente = "U";
                }

                if (m_Equipo == "Metrolab")
                {
                    m_Prefijo = Request["Prefijo"].ToString();
                    if (m_Prefijo.Trim() != "Rutina") numero = numero + "-"+ m_Prefijo.ToUpper();                  

                    string numeroDocumento = "";
                    if (oProtocolo.IdPaciente.IdEstado==1)
                        numeroDocumento = oProtocolo.IdPaciente.NumeroDocumento.ToString();
                    m_paciente =numeroDocumento+";"+ oProtocolo.IdPaciente.Apellido + " " + oProtocolo.IdPaciente.Nombre;
                    if (oProtocolo.UnidadEdad == 0)

                        //string resultado = n.ToString.PadRight(9, '0')
                        m_anioNacimiento = oProtocolo.Edad.ToString();
                    else
                        m_anioNacimiento = "0";
                    m_sexoPaciente = oProtocolo.Sexo;
                }
                
                if (m_Equipo == "CobasC311")
                {
                    m_Prefijo = Request["Prefijo"].ToString();
                    if (m_Prefijo.Trim() != "Rutina")
                        numero = numero + "-" + m_Prefijo.ToUpper();

                    m_paciente = oProtocolo.IdPaciente.NumeroDocumento.ToString() + " - " + oProtocolo.IdPaciente.Apellido + "  " + oProtocolo.IdPaciente.Nombre;
                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");
                    m_sexoPaciente = oProtocolo.Sexo;
                    //Ver cuales son las condiciones del tipo de muestra
                    //m_Prefijo = Request["Prefijo"].ToString();
                    //m_tipoMuestra = "";
                    //if (m_Prefijo.Trim() != "Rutina") numero = numero + "/" + m_Prefijo.ToUpper();


                }


                string m_urgente = "N";  if (oProtocolo.IdPrioridad.IdPrioridad == 2) m_urgente = "Y";
                m_sectorSolicitante = oProtocolo.IdSector.Nombre;


                //////INSERTAR LOS ANALISIS EN LA TABLA TEMPORAL LAB_TempProtocoloEnvio
                ProtocoloEnvio oRegistro = new ProtocoloEnvio();
                oRegistro.IdMuestra = IdMuestra;
                oRegistro.NumeroProtocolo = numero;
                oRegistro.Iditem = m_listaItem;
                oRegistro.Paciente = m_paciente;
                oRegistro.AnioNacimiento = m_anioNacimiento;
                oRegistro.Sexo = m_sexoPaciente;
                oRegistro.SectorSolicitante = m_sectorSolicitante;
                oRegistro.MedicoSolicitante = "";
                oRegistro.TipoMuestra = m_tipoMuestra;
                oRegistro.Urgente = m_urgente;
                oRegistro.Equipo = m_Equipo;
                oRegistro.Save();
                //////////////////////////////////////////// 
            }

        }