private void guardarMetrolab(MindrayResultado oResultado, string s_prefijo, ISession m_session, Protocolo oProtocolo) { /// busco el item en el lis ICriteria crit2 = m_session.CreateCriteria(typeof(MetrolabItem)); crit2.Add(Expression.Eq("IdMetrolab", oResultado.Descripcion)); crit2.Add(Expression.Eq("Prefijo", s_prefijo)); crit2.Add(Expression.Eq("Habilitado", true)); MetrolabItem oItem = (MetrolabItem)crit2.UniqueResult(); if (oItem != null) { int IdItemLIS = oItem.IdItem; // id item en el lis Item oItemLIS = new Item(); oItemLIS = (Item)oItemLIS.Get(typeof(Item), IdItemLIS); string valorObtenido = oResultado.ValorObtenido; DetalleProtocolo oDetalle = new DetalleProtocolo(); oDetalle = (DetalleProtocolo)oDetalle.Get(typeof(DetalleProtocolo), "IdProtocolo", oProtocolo, "IdSubItem", oItemLIS); if (oDetalle != null) { if (oDetalle.IdUsuarioValida == 0) // si no fue validado { if (oItemLIS.IdTipoResultado == 1) //Si es numero { decimal s_ItemNum = decimal.Parse(valorObtenido.Replace(",", "."), System.Globalization.CultureInfo.InvariantCulture); oDetalle.ResultadoNum = s_ItemNum; oDetalle.Enviado = 2; oDetalle.ConResultado = true; oDetalle.FechaResultado = DateTime.Now; oDetalle.Save(); oDetalle.GrabarAuditoriaDetalleProtocolo("Automático Metrolab", int.Parse(Session["idUsuario"].ToString())); } else //Si es texto { oDetalle.ResultadoCar = valorObtenido; oDetalle.Enviado = 2; oDetalle.ConResultado = true; oDetalle.FechaResultado = DateTime.Now; oDetalle.Save(); oDetalle.GrabarAuditoriaDetalleProtocolo("Automático Metrolab", int.Parse(Session["idUsuario"].ToString())); } if (oProtocolo.Estado == 0) { oProtocolo.Estado = 1; oProtocolo.Save(); } } // fin if idusuario validado } // fin odetalle null } }
private void Grabar(string numeroprotocolo, string codigoPractica, string resultado, string unidadMedida) { ///Se reutiliza la tabla MindrayResultado para volcar temporalmente los resultados del metrolab MindrayResultado oRegistro = new MindrayResultado(); oRegistro.Protocolo = numeroprotocolo.Trim(); oRegistro.FechaProtocolo = DateTime.Now; oRegistro.IdItemMindray = 0; oRegistro.Descripcion = codigoPractica.Trim(); oRegistro.UnidadMedida = unidadMedida.Trim(); oRegistro.ValorObtenido = resultado.Trim(); oRegistro.TipoValor = ""; oRegistro.FechaResultado = DateTime.Now; oRegistro.FechaRegistro = DateTime.Now; oRegistro.Estado = 0; oRegistro.Save(); }