/// <summary>
 /// Descripción: Obtiene las opciones ingresados por cada analito.
 /// Author: Terceros.
 /// Fecha Creacion: 01/01/2017
 /// Fecha Modificación: 02/02/2017.
 /// Modificación: Se agregaron comentarios.
 /// </summary>
 /// <param name="idAnalito"></param>
 /// <returns></returns>
 public List <AnalitoOpcionResultado> GetAnalitosbyIdAnalito(Guid idAnalito)
 {
     using (var detalleanalitoDal = new DetalleAnalitoDal())
     {
         return(detalleanalitoDal.GetAnalitosbyIdAnalito(idAnalito, Guid.Parse("")));
     }
 }
        /// <summary>
        /// Descripción: Obtiene informacion de los componenetes por examen.
        /// Author: Terceros.
        /// Fecha Creacion: 01/01/2017
        /// Fecha Modificación: 02/02/2017.
        /// Modificación: Se agregaron comentarios.
        /// </summary>
        /// <param name="idOrdenExamen"></param>
        /// <param name="genero"></param>
        /// <returns></returns>
        public List <ResultAnalito> GetAnalitoByOrdenExamenAndGenero(string[] idOrdenExamen, int genero, int?idPlataforma = null)
        {
            if (idOrdenExamen == null || !idOrdenExamen.Any())
            {
                return(new List <ResultAnalito>());
            }

            using (var detalleanalitoDal = new DetalleAnalitoDal())
            {
                return(detalleanalitoDal.GetAnalitoByOrdenExamenAndGenero(string.Join(",", idOrdenExamen), genero, idPlataforma));
            }
        }
        /// <summary>
        /// Descripción: Obtiene informacion para la validacion de los componenetes de un a prueba.
        /// Author: Terceros.
        /// Fecha Creacion: 01/01/2017
        /// Fecha Modificación: 02/02/2017.
        /// Modificación: Se agregaron comentarios.
        /// </summary>
        /// <param name="idOrdenExamen"></param>
        /// <returns></returns>
        public List <ResultAnalito> GetAnalitoByOrdenExamen(string[] idOrdenExamen)
        {
            if (idOrdenExamen == null || !idOrdenExamen.Any())
            {
                return(new List <ResultAnalito>());
            }

            using (var detalleanalitoDal = new DetalleAnalitoDal())
            {
                return(detalleanalitoDal.GetAnalitoByOrdenExamen(string.Join(",", idOrdenExamen)));
            }
        }
Exemple #4
0
        public ActionResult RegistroResultadosVerificador(Guid idOrden, Guid[] resultados, Guid[] idOrdenResultadoAnalito, Guid[] idAnalito,
                                                          string[] resultado, string[] observacion, int[] metodo, Guid[] ordenExamen, int[] estatusOrdenExamen)
        {
            //List<Models.AnalitoValues> deserializedObject = JsonConvert.DeserializeObject<List<Models.AnalitoValues>>(Request.Form["jsonvalues"]);
            List <Model.AnalitoValues> deserializedObject        = JsonConvert.DeserializeObject <List <Model.AnalitoValues> >(Request.Form["jsonvalues"]);
            List <ObservacionesValues> deserializedObservaciones = JsonConvert.DeserializeObject <List <ObservacionesValues> >(Request.Form["observacionesjsonvalues"]);

            List <AnalitoOpcionResultado> resul = null;
            string convResultado  = "";
            string interpretacion = "";

            if (deserializedObject == null || !deserializedObject.Any())
            {
                return(PartialView("Blank"));
            }
            else
            {
                resul          = new DetalleAnalitoDal().GetAnalitosbyIdAnalitoResultado(deserializedObject);
                convResultado  = new OrdenDal().RetornaResultado(resul);
                interpretacion = InterpretacionResultado(ordenExamen, resul);
            }

            var ordenBl          = new IngresoResultadosBl();
            var detalleAnalitoBl = new DetalleAnalitoBl();

            var disabledCount = 0;

            for (var i = 0; i < ordenExamen.Length; i++)
            {
                disabledCount = disabledCount + 1;

                if (!resultados.Contains(ordenExamen[i]))
                {
                    continue;
                }

                var idExamenMetodo = 0;

                if (metodo != null && metodo[disabledCount - 1] > -1)
                {
                    idExamenMetodo = metodo[disabledCount - 1];
                }

                var ordenResultadoAnalito = ordenBl.GetOrdenResultadoAnalito(ordenExamen[i]);

                var lista = new List <OrdenResultadoAnalito>();
                foreach (var item in deserializedObject.GroupBy(x => x.IdOrdenResultadoAnalito))
                {
                    string serializedObject = JsonConvert.SerializeObject(item.ToList());

                    var analito = new OrdenResultadoAnalito
                    {
                        idOrdenResultadoAnalisis = item.Key,
                        resultado      = serializedObject,
                        idExamenMetodo = idExamenMetodo,
                        observacion    = deserializedObservaciones.Any(x => x.IdOrdenResultadoAnalito == item.Key) ? deserializedObservaciones.First(x => x.IdOrdenResultadoAnalito == item.Key).ObservacionContent : string.Empty,
                        convResultado  = convResultado,
                        interpretacion = interpretacion
                    };

                    if (deserializedObservaciones.Any(x => x.IdOrdenResultadoAnalito == item.Key))
                    {
                        analito.observacion = deserializedObservaciones.First(x => x.IdOrdenResultadoAnalito == item.Key).ObservacionContent;
                    }

                    lista.Add(analito);
                }

                ordenBl.RegistrarResultadosOrdenAnalito(lista, Logueado.idUsuario);

                var detalle = new List <OrdenResultadoAnalito>();
                OrdenResultadoAnalito analitoDetalle = null;

                foreach (var item in resul)
                {
                    if (item.idAnalitoCabeceraVariable != 0)
                    {
                        analitoDetalle = new OrdenResultadoAnalito
                        {
                            idOrdenResultadoAnalisis = ordenResultadoAnalito[0],
                            idAnalisis    = item.idAnalitoCabeceraVariable,
                            idSecuencia   = 2,
                            convResultado = (item.idAnalitoCabeceraVariable == 1 || item.idAnalitoCabeceraVariable == 2) ? convResultado : item.Glosa
                        };
                        detalle.Add(analitoDetalle);
                    }
                }

                ordenBl.RegistoResultadoAnalitoDetalle(detalle);
            }

            return(PartialView("Blank"));
        }