public ActionResult ConsultaCodigosMuestraEstado(string inicio, string fin, int idEstablecimiento)
        {
            List <MuestraCodificacion> lista = new List <MuestraCodificacion>();
            var muestraBl = new MuestraBl();

            lista = muestraBl.ConsultaCodigosMuestraEstado(inicio, fin, idEstablecimiento);
            var lista2 = lista.ToPagedList(1, 1000);

            return(PartialView("_EstadoCodigoMuestra", lista2));
        }
        public ActionResult ConsultaCodigosMuestra(string fechaDesde, string fechaHasta, string idEstablecimiento, string idMuestra, string estado)
        {
            if (idEstablecimiento == null)
            {
                return(View());
            }
            List <MuestraCodificacion> lista = new List <MuestraCodificacion>();
            var muestraBl = new MuestraBl();

            lista = muestraBl.ConsultaCodigosGenerados(fechaDesde, fechaHasta, idEstablecimiento, idMuestra, estado, EstablecimientoSeleccionado.IdEstablecimiento);
            Session["lista_Codigos"] = lista;
            return(View(lista));
        }
        /// <summary>
        /// Descripción: Registra y obtiene los nuevos codigos de muestra.
        /// Author: Terceros.
        /// Fecha Creacion: 01/01/2017
        /// Fecha Modificación: 02/02/2017.
        /// Modificación: Se agregaron comentarios.
        /// </summary>
        /// <returns></returns>
        public ActionResult GenerarCodigo()
        {
            ViewBag.isPost = false;
            ViewBag.idExtablecimientoUsuario = EstablecimientoSeleccionado.IdEstablecimiento;

            if (Request["txtCantidad"] == null)
            {
                return(View());
            }
            var chkcodigoLineal       = Request["chkCodigoLineal"];
            var listaEstablecimientos = Session["establecimientoList"] as List <Establecimiento>;
            var idEstablecimiento     = EstablecimientoSeleccionado.IdEstablecimiento;
            var cantidad  = int.Parse(Request["txtCantidad"]);
            var idUsuario = Logueado.idUsuario;
            //var establecimiento = idEstablecimiento == 991?listaEstablecimientos.FirstOrDefault(i => i.IdEstablecimiento == int.Parse(Request["idEstablecimiento"])) :
            //                      EstablecimientosUsuario.FirstOrDefault(i => i.IdEstablecimiento == int.Parse(Request["idEstablecimiento"]));
            var establecimiento = listaEstablecimientos.FirstOrDefault(i => i.IdEstablecimiento == int.Parse(Request["idEstablecimiento"]));

            idEstablecimiento = int.Parse(Request["idEstablecimiento"]);
            if (establecimiento == null)
            {
                return(View());
            }

            var muestraBl = new MuestraBl();
            //Consulta si existen codigos sin utilizar.
            var listaCodigos = muestraBl.ConsultaCodigosMuestra(cantidad, idEstablecimiento, idUsuario);

            if (listaCodigos != null)
            {
                int mPendiente = listaCodigos.Count();
                int cantRest   = 0;
                if (cantidad > mPendiente)
                {
                    cantRest = cantidad - mPendiente;
                    muestraBl.GeneraCodigosMuestra(cantRest, idEstablecimiento, idUsuario, string.IsNullOrEmpty(chkcodigoLineal) ? 0 : 1);
                }
            }
            else
            {
                muestraBl.GeneraCodigosMuestra(cantidad, idEstablecimiento, idUsuario, string.IsNullOrEmpty(chkcodigoLineal) ? 0 : 1);
            }

            Session["GCM_Cantidad"]        = cantidad;
            Session["GCM_Establecimiento"] = idEstablecimiento;

            ViewBag.isPost = true;

            return(View());
        }
Exemplo n.º 4
0
        public string PreSaveOrden()
        {
            var orden        = new Orden();
            var ordenBl      = new OrdenBl();
            int idEnfermedad = int.Parse(GetSetting <string>("EnfVirusRespiratorio"));

            string fechaObtencion     = Request.Form["fechaObtencion"];
            string idExamen           = GetSetting <string>("Covid19");
            string idTipoMuestra      = Request.Form["TipoMuestraCovid"];
            string nroCelularPaciente = Request.Form["nroCelularPaciente"];
            Guid   idPaciente         = Guid.Parse(Request.Form["GuidIdPaciente"].ToString());

            orden.idOrden = Guid.Parse(Request.Form["idOrden"].ToString());


            List <OrdenDatoClinico> ordenDatoClinicoList = new List <OrdenDatoClinico>();
            var datoClinicoBl     = new DatoClinicoBl();
            var categoriaDatoList = datoClinicoBl.GetCategoriaByEnfermedad(idEnfermedad, 1, idExamen);
            var oEnfermedad       = new Enfermedad();

            oEnfermedad.idEnfermedad      = idEnfermedad;
            oEnfermedad.categoriaDatoList = categoriaDatoList;
            List <Enfermedad> enfermedadListAgregados = new List <Enfermedad>();

            enfermedadListAgregados.Add(oEnfermedad);
            {
                var datosClinicos =
                    enfermedadListAgregados.SelectMany(e => e.categoriaDatoList)
                    .SelectMany(c => c.OrdenDatoClinicoList);
                foreach (var ordenDatoClinico in datosClinicos)
                {
                    var id = ordenDatoClinico.Enfermedad.idEnfermedad.ToString() +
                             ordenDatoClinico.Dato.IdDato.ToString();

                    OrdenDatoClinico ordenDatoClinicoFormulario =
                        ordenDatoClinicoList.FirstOrDefault(x => x.Dato.IdDato == ordenDatoClinico.Dato.IdDato);

                    //Si el dato clinico existe previamente en el formulario entonces se copia los valores del existente
                    if (ordenDatoClinicoFormulario != null)
                    {
                        ordenDatoClinico.noPrecisa   = ordenDatoClinicoFormulario.noPrecisa;
                        ordenDatoClinico.ValorString = ordenDatoClinicoFormulario.ValorString;
                    }
                    else
                    {
                        //Si el dato clinico no existe se crea con los valores obtenidos
                        ordenDatoClinicoFormulario = new OrdenDatoClinico();
                        Dato datoClinico = new Dato();
                        datoClinico.IdDato = ordenDatoClinico.Dato.IdDato;
                        ordenDatoClinicoFormulario.Dato = datoClinico;
                        ordenDatoClinicoList.Add(ordenDatoClinicoFormulario);


                        var    formValue             = Request.Form["valueDato" + id];
                        string checknoprecisa        = Request.Form["checkNoPrecisa" + id];
                        var    checkNoPrecisaBoolean = !string.IsNullOrEmpty(checknoprecisa) && (checknoprecisa.ToLower() == "on" || checknoprecisa.ToLower() == "true");

                        if ((int)Enums.TipoCampo.CHECKBOX == ordenDatoClinico.Dato.IdTipo ||
                            (int)Enums.TipoCampo.COMBO == ordenDatoClinico.Dato.IdTipo)
                        {
                            ordenDatoClinico.noPrecisa   = formValue == null || formValue.Equals("0");
                            ordenDatoClinico.ValorString = formValue == null || formValue.Equals("0")
                                ? ""
                                : formValue;
                        }
                        else
                        {
                            ordenDatoClinico.noPrecisa   = checkNoPrecisaBoolean;
                            ordenDatoClinico.ValorString = !checkNoPrecisaBoolean ? formValue : string.Empty;
                        }
                        ordenDatoClinicoFormulario.noPrecisa   = ordenDatoClinico.noPrecisa;
                        ordenDatoClinicoFormulario.ValorString = ordenDatoClinico.ValorString;
                    }
                }
            }
            orden.enfermedadList    = enfermedadListAgregados;
            orden.IdUsuarioRegistro = Logueado.idUsuario;
            orden.ordenMuestraList  = new List <OrdenMuestra>();
            orden.ordenExamenList   = new List <OrdenExamen>();
            var oOrdenMuestra         = new OrdenMuestra();
            var oOrdenExamen          = new OrdenExamen();
            var oMuestraCodificacion  = new MuestraCodificacion();
            var codigoOrdenGenerado   = string.Empty;
            int EstablecimientoOrigen = string.IsNullOrEmpty(Request.Form["EESSOrigen"].ToString()) ? 0 : int.Parse(Request.Form["EESSOrigen"]);
            int hddDatoEESSOrigenEdit = string.IsNullOrEmpty(Request.Form["hddDatoEESSOrigenEdit"].ToString()) ? 0 : int.Parse(Request.Form["hddDatoEESSOrigenEdit"]);

            //OrdenMuestra
            oOrdenMuestra.TipoMuestra = new TipoMuestra {
                idTipoMuestra = int.Parse(idTipoMuestra)
            };
            oOrdenMuestra.fechaColeccion = DateTime.Parse(fechaObtencion);
            oOrdenMuestra.horaColeccion  = DateTime.Now;
            oOrdenMuestra.idProyecto     = 1;
            orden.idEstablecimiento      = EstablecimientoOrigen;
            orden.editarEstablecimiento  = "N";
            if (EstablecimientoOrigen != hddDatoEESSOrigenEdit)
            {
                //Orden
                orden.editarEstablecimiento = "S";
                orden.codigoOrden           = ordenBl.GenerarCodigoOrden(hddDatoEESSOrigenEdit);
                orden.idEstablecimiento     = hddDatoEESSOrigenEdit;
                //OrdenMuestra
                oMuestraCodificacion = new MuestraBl().GeneraCodigosMuestraKobo(hddDatoEESSOrigenEdit, Logueado.idUsuario, 1);
                oOrdenMuestra.MuestraCodificacion = oMuestraCodificacion;
            }
            orden.ordenMuestraList.Add(oOrdenMuestra);

            orden.Paciente = new Paciente {
                IdPaciente = idPaciente, Celular1 = nroCelularPaciente
            };

            var Res = "Registro Exitoso.";

            try
            {
                ordenBl.UpdateOrdenCovid(orden);
            }
            catch (Exception ex)
            {
                Res = ex.Message;
            }
            return(Res);
        }