public ActionResult GetTiposMuestraByIdTipoMuestra(string idExamen, string[] idTipoMuestra) { List <ExamenVd> examenVdList = (List <ExamenVd>) this.Session["examenVdList"]; List <ExamenVd> newExamenList = new List <ExamenVd>(); foreach (ExamenVd examenVd in examenVdList) { if (examenVd.examen.idExamen == Guid.Parse(idExamen)) { //Obtener Materiales por tipo de Muestra List <TipoMuestra> tipoMuestraList = new List <TipoMuestra>(); IMaterialBl materialBl = new MaterialBl(); ITipoMuestraBl tipoMuestraBl = new TipoMuestraBl(); for (int i = 0; i < idTipoMuestra.Count(); i++) { TipoMuestra tipoMuestra = tipoMuestraBl.GetTiposMuestraById(Convert.ToInt32(idTipoMuestra[i])); tipoMuestra.materialList = materialBl.GetMaterialesByIdTipoMuestra(Convert.ToInt32(idTipoMuestra[i])); tipoMuestraList.Add(tipoMuestra); } examenVd.examen.tipoMuestraList = tipoMuestraList; break; } } this.Session["examenVdList"] = examenVdList; var model = examenVdList; return(PartialView("_AgregarTipoMuestraTabla", model)); }
/* * private async Task<Examen> GetExamenByIdAwait(String idExamen) * { * IExamenBl examenBl = new ExamenBl(); * return examenBl.GetExamenById(Guid.Parse(idExamen)); * } */ #endregion /// <summary> /// Descripción: Carga la informacion y configura los controles de la pagina. /// Author: Terceros. /// Fecha Creacion: 01/01/2017. /// Fecha Modificación: 02/02/2017. /// Modificación: Se agregaron comentarios, funcion no utilizada. /// </summary> public void LoadDefaultData() { materialList = new List <MaterialVd>(); if (this.Session["materialListBS"] != null) { materialList = (List <MaterialVd>) this.Session["materialListBS"]; } else { List <int> idTipoMuestraList = new List <int>(); IMaterialBl materialBl = new MaterialBl(); idTipoMuestraList.Add(Convert.ToInt32(TipoMuestraSangreId)); foreach (Material material in materialBl.GetMaterialesByIdTipoMuestraIdPresentacion(TipoMuestraSangreId, TipoPresentacionBolsa)) { materialList.Add(new MaterialVd { material = material, idCmbMaterial = material.idMaterial, textoCmbMaterial = material.Presentacion.glosa + " " + material.Reactivo.glosa + " " + material.volumen.ToString() + "ml" }); } this.Session["materialListBS"] = materialList; } proyectosBS = new List <Proyecto>(); if (this.Session["proyectosBS"] != null) { proyectosBS = (List <Proyecto>) this.Session["proyectosBS"]; } else { IProyectoBl proyectoBl = new ProyectoBl(); proyectosBS = proyectoBl.GetProyectosBS(); this.Session["proyectosBS"] = proyectosBS; } List <SelectListItem> proyectos = new List <SelectListItem>(); foreach (Proyecto item in proyectosBS) { proyectos.Add(new SelectListItem { Text = item.Nombre, Value = item.IdProyecto.ToString() }); } ViewBag.proyectos = proyectos; ViewBag.materialList = materialList; }
public Orden GenerarOrden(string TipoDocumento, string nroDocumento, string EstablecimientoOrigen, string EstablecimientoEnvio, string FechaObtencion, string solicitante, string fechaIngresoINS, string nroOficio, string idOrdenPadreExportado) { var codigoOrdenGenerado = string.Empty; using (var ordenBl = new OrdenBl()) { //Generar Codigo de Orden codigoOrdenGenerado = ordenBl.GenerarCodigoOrden(int.Parse(EstablecimientoOrigen)); } var datoPaciente = ""; var idEstablecimientoDestino = EstablecimientoEnvio; var idEstablecimientoOrigen = EstablecimientoOrigen; var fechaIngresoRom = fechaIngresoINS; var oOrden = new OrdenBl(); var oTempOrden = new TempOrdenBl(); var orden = new Orden(); var pacienteBl = new PacienteBl(); var examenBl = new ExamenBl(); var establecimientoBl = new EstablecimientoBl(); // Variables produccion int idEnfermedad = int.Parse(GetSetting <string>("EnfVirusRespiratorio")); //1005680; Guid idExamen = Guid.Parse(GetSetting <string>("Covid19")); var idTipoMuestra = int.Parse(GetSetting <string>("idTipoMuestra")); orden.nroOficio = nroOficio; orden.codigoOrden = codigoOrdenGenerado; { datoPaciente = nroDocumento; List <Paciente> pacienteList = pacienteBl.getPacientes2(1, 10, int.Parse(TipoDocumento), datoPaciente); if (pacienteList.Any()) { bool continuar = true; var paciente = pacienteList.First(); var enfermedadListAgregados = new List <Enfermedad>(); var ordenExamenListAgregados = new List <OrdenExamen>(); var ordenMaterialListAgregados = new List <OrdenMaterial>(); var ordenMuestraListAgregados = new List <OrdenMuestra>(); var Establecimientobl = new EstablecimientoBl(); var oEstablecimiento = new Establecimiento(); if (string.IsNullOrEmpty(idEstablecimientoOrigen)) { idEstablecimientoOrigen = "991"; } oEstablecimiento = Establecimientobl.GetEstablecimientosById(int.Parse(idEstablecimientoOrigen)); orden.idEstablecimiento = oEstablecimiento.IdEstablecimiento; orden.EstablecimientoCodigoUnico = oEstablecimiento.CodigoUnico; orden.idEstablecimientoEnvio = int.Parse(EstablecimientoEnvio); orden.IdUsuarioRegistro = Logueado.idUsuario; orden.IdLaboratorioDestino = 995; orden.Paciente = new PacienteBl().getPacienteById(paciente.IdPaciente); orden.solicitante = solicitante; orden.fechaIngresoINS = DateTime.Parse(fechaIngresoRom); var laboratorio = new Laboratorio() { IdLaboratorio = 991, CodigoUnico = "10000R16" }; orden.estatus = 1; orden.IdUsuarioRegistro = Logueado.idUsuario; orden.fechaSolicitud = DateTime.Parse(DateTime.Now.ToShortDateString()); var idOrdenPadreExportado2 = Guid.NewGuid(); string nuevoCodigoVerificador = string.Empty; if (string.IsNullOrWhiteSpace(idOrdenPadreExportado) || idOrdenPadreExportado == Guid.Empty.ToString()) { nuevoCodigoVerificador = string.Format("{0}---{1}", Logueado.idUsuario, idOrdenPadreExportado2.ToString()); ViewBag.idOrdenPadreExportado = nuevoCodigoVerificador; orden.observacion = nuevoCodigoVerificador; } else { var arr = idOrdenPadreExportado.Split(new string[] { "---" }, StringSplitOptions.RemoveEmptyEntries); if (arr[0] == Logueado.idUsuario.ToString()) { ViewBag.idOrdenPadreExportado = idOrdenPadreExportado; orden.observacion = idOrdenPadreExportado; } else { nuevoCodigoVerificador = string.Format("{0}---{1}", Logueado.idUsuario, Guid.NewGuid().ToString()); ViewBag.idOrdenPadreExportado = nuevoCodigoVerificador; orden.observacion = nuevoCodigoVerificador; } } orden.Proyecto = new Proyecto { IdProyecto = 1 }; if (continuar) { var examenList = new Examen(); //var tipoMuestraList = new List<TipoMuestra>(); var materialList = new List <Material>(); // materialList = new MaterialBl().GetMaterialesByIdTipoMuestra(idTipoMuestra).ToList(); var LstoExamen = new List <OrdenExamen>(); orden.ordenMuestraList = new List <OrdenMuestra>(); orden.ordenMuestraList.Add(new OrdenMuestra { idTipoMuestra = idTipoMuestra, TipoMuestra = new TipoMuestra { idTipoMuestra = idTipoMuestra }, fechaColeccion = DateTime.Parse(FechaObtencion),// horaColeccion = DateTime.Now, idProyecto = 1, MuestraCodificacion = new MuestraCodificacion() }); var ordexmen = new OrdenExamen { idEnfermedad = idEnfermedad, Enfermedad = new Enfermedad { idEnfermedad = idEnfermedad }, idExamen = idExamen, Examen = new Examen { idExamen = idExamen }, IdTipoMuestra = idTipoMuestra, ordenMuestraList = orden.ordenMuestraList }; LstoExamen.Add(ordexmen); orden.ordenExamenList = LstoExamen; orden.ordenMaterialList = new List <OrdenMaterial>(); //ORDENMATERIAL var materiales = new MaterialBl().GetMaterialesByIdTipoMuestra(idTipoMuestra); var material = materiales.FirstOrDefault(); if (material != null) { orden.ordenMaterialList.Add(new OrdenMaterial { cantidad = 1, idMaterial = material.idMaterial, Material = new Material { idMaterial = material.idMaterial, TipoMuestra = new TipoMuestra { idTipoMuestra = idTipoMuestra } }, fechaEnvio = DateTime.Today, horaEnvio = DateTime.Now, volumenMuestraColectada = material != null ? material.volumen : 1, OrdenExamen = ordexmen, Laboratorio = laboratorio }); } List <OrdenDatoClinico> ordenDatoClinicoList = new List <OrdenDatoClinico>(); var datoClinicoBl = new DatoClinicoBl(); var categoriaDatoList = datoClinicoBl.GetCategoriaByEnfermedad(idEnfermedad, 1, idExamen.ToString()); var oEnfermedad = new Enfermedad(); oEnfermedad.idEnfermedad = idEnfermedad; oEnfermedad.categoriaDatoList = categoriaDatoList; 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; oOrden.InsertOrdenCovid(orden, Enums.TipoRegistroOrden.ORDEN_RECEPCION); } } } return(orden); }