public ActionResult Index(BEOrdenInternamiento objOI, FormCollection form) { try { bool isOK = true; List<BEParametro> lstEntrada = new BLParametro().ObtenerParametros(BEParametro.DOMINIO_Entrada); List<BEParametro> lstPausa = new BLParametro().ObtenerParametros(BEParametro.DOMINIO_PausaQuirurgica); List<BEParametro> lstSalida = new BLParametro().ObtenerParametros(BEParametro.DOMINIO_Salida); ViewBag.ListaProcedimiento = new SelectList(new BLParametro().ObtenerParametros(BEParametro.DOMINIO_Procedimiento), "IdParametro", "Nombre"); ViewBag.ListaEntrada = new SelectList(lstEntrada, "IdParametro", "Nombre"); ViewBag.ListaPausaQuirurgica = new SelectList(lstPausa, "IdParametro", "Nombre"); ViewBag.ListaSalida = new SelectList(lstSalida, "IdParametro", "Nombre"); ViewBag.Mensaje = ""; if (string.IsNullOrEmpty(form["Procedimiento"])) { isOK = false; ViewBag.Mensaje = "Debe seleccionar el tipo de procedimiento a realizar"; } else { foreach (BEParametro objP in lstEntrada) { if (string.IsNullOrEmpty(form["011o" + objP.IdParametro])) { isOK = false; ViewBag.Mensaje = "Debe seleccionar la respuesta para la pregunta"; break; } else { if (form["011o" + objP.IdParametro].Equals("NO")) { if (string.IsNullOrEmpty(form["011t" + objP.IdParametro])) { isOK = false; ViewBag.Mensaje = "Debe ingresar la descripcion para la respuesta"; break; } } } } foreach (BEParametro objP in lstPausa) { if (string.IsNullOrEmpty(form["011o" + objP.IdParametro])) { isOK = false; ViewBag.Mensaje = "Debe seleccionar la respuesta para la pregunta"; break; } else { if (form["011o" + objP.IdParametro].Equals("NO")) { if (string.IsNullOrEmpty(form["011t" + objP.IdParametro])) { isOK = false; ViewBag.Mensaje = "Debe ingresar la descripcion para la respuesta"; break; } } } } foreach (BEParametro objP in lstSalida) { if (string.IsNullOrEmpty(form["011o" + objP.IdParametro])) { isOK = false; ViewBag.Mensaje = "Debe seleccionar la respuesta para la pregunta"; break; } else { if (form["011o" + objP.IdParametro].Equals("NO")) { if (string.IsNullOrEmpty(form["011t" + objP.IdParametro])) { isOK = false; ViewBag.Mensaje = "Debe ingresar la descripcion para la respuesta"; break; } } } } } if (isOK) { BEProcedimiento objBE = new BEProcedimiento(); objBE.IdProcedimiento = 0; objBE.TipoProcedimiento = form["Procedimiento"]; objBE.IdOrdenInternamiento = objOI.IdOrdenInternamiento; objBE.Estado = "001"; foreach (BEParametro objP in lstEntrada) { BEProcedimientoPregunta objPP = new BEProcedimientoPregunta(); objPP.IdProcedimientoPregunta = 0; objPP.IdProcedimiento = 0; objPP.Tipo = "011"; objPP.Pregunta = objP.IdParametro; objPP.Respuesta = form["011o" + objP.IdParametro]; objPP.Descripcion = form["011t" + objP.IdParametro]; objPP.Estado = "001"; objBE.Preguntas.Add(objPP); } foreach (BEParametro objP in lstPausa) { BEProcedimientoPregunta objPP = new BEProcedimientoPregunta(); objPP.IdProcedimientoPregunta = 0; objPP.Tipo = "012"; objPP.Pregunta = objP.IdParametro; objPP.Respuesta = form["012o" + objP.IdParametro]; objPP.Descripcion = form["012t" + objP.IdParametro]; objPP.Estado = "001"; objBE.Preguntas.Add(objPP); } foreach (BEParametro objP in lstSalida) { BEProcedimientoPregunta objPP = new BEProcedimientoPregunta(); objPP.IdProcedimientoPregunta = 0; objPP.Tipo = "013"; objPP.Pregunta = objP.IdParametro; objPP.Respuesta = form["013o" + objP.IdParametro]; objPP.Descripcion = form["013t" + objP.IdParametro]; objPP.Estado = "001"; objBE.Preguntas.Add(objPP); } if (new BLProcedimiento().Crear(objBE)) { ViewBag.Mensaje = "Se registro el procedimiento"; } else { ViewBag.Mensaje = "No se registro el procedimiento"; } } } catch (Exception ex) { ViewBag.Mensaje = ex.Message; } return View(objOI); }
public ActionResult Actualizar(BEOrdenInternamiento oi, string operacion = null, string EstadoPaciente = null, string Fecha = null, string Descripcion = null) { if (oi == null) oi = new BEOrdenInternamiento(); try { List<BEParametro> lstEP = new BLParametro().ObtenerParametros(BEParametro.DOMINIO_EstadoPaciente); ViewBag.ListaEstadoPaciente = new SelectList(lstEP, "IdParametro", "Nombre"); if (Session["lista"] != null) oi.Bitacora = (List<BEOrdenInternamientoBitacora>)Session["lista"]; if (operacion == null) { if (string.IsNullOrEmpty(EstadoPaciente)) throw new ApplicationException("Debe seleccionar el Estado del Paciente"); string strEstadoPacienteNombre = (from item in lstEP where item.IdParametro.Equals(EstadoPaciente) select item.Nombre).First(); if (string.IsNullOrEmpty(Fecha)) throw new ApplicationException("Debe ingresar la Fecha"); Fecha = Fecha.Replace("T"," "); DateTime dtFecha; if (!(DateTime.TryParseExact(Fecha, "yyyy-MM-dd hh:mm", CultureInfo.InvariantCulture, DateTimeStyles.None, out dtFecha))) throw new ApplicationException("Debe ingresar la Fecha válida"); if (string.IsNullOrEmpty(Descripcion)) throw new ApplicationException("Debe ingresar la Descripción"); BEOrdenInternamientoBitacora beOIB = new BEOrdenInternamientoBitacora(); beOIB.IdOrdenInternamientoBitacora = 0; beOIB.IdOrdenInternamiento = oi.IdOrdenInternamiento; beOIB.Fecha = dtFecha; beOIB.EstadoPaciente = EstadoPaciente; beOIB.EstadoPacienteNombre = strEstadoPacienteNombre; beOIB.Descripcion = Descripcion; beOIB.Estado = BEOrdenInternamientoBitacora.ESTADO_Activo; if (new BLBitacora().Crear(beOIB)) { oi.Bitacora.Add(beOIB); Session["lista"] = oi.Bitacora; ViewBag.Mensaje = "Se agrego correctamente la bitacora al orden de internamiento"; } else ViewBag.Mensaje = "No se puede asignar"; } else if (operacion.StartsWith("eliminar-detalle-")) { string indexStr = operacion.Replace("eliminar-detalle-", ""); if (new BLBitacora().Eliminar(int.Parse(indexStr))) { BEOrdenInternamientoBitacora objBE = (from item in oi.Bitacora where item.IdOrdenInternamientoBitacora == int.Parse(indexStr) select item).First(); oi.Bitacora.Remove(objBE); Session["lista"] = oi.Bitacora; ViewBag.Mensaje = "Se elimino correctamente la bitacora al orden de internamiento"; } else ViewBag.Mensaje = "No se puede eliminar"; } } catch (ApplicationException ex) { ViewBag.Mensaje = ex.Message; } catch (Exception ex) { ViewBag.Mensaje = ex.Message; } return View(oi); }
public ActionResult Asignar(BEOrdenInternamiento oi, string operacion = null, string Recurso = null, string Cantidad = null, string IdHabitacion = null, string IdCama = null) { if (oi == null) oi = new BEOrdenInternamiento(); try { List<BEParametro> lstRecurso = new BLParametro().ObtenerParametros(BEParametro.DOMINIO_Recurso); ViewBag.ListaHabitacion = new SelectList(new BLHabitacion().ObtenerDisponibles(), "IdHabitacion", "Nombre"); ViewBag.ListaRecurso = new SelectList(lstRecurso, "IdParametro", "Nombre"); ViewBag.ListaCama = new SelectList(new BLCama().Disponible(), "IdCama", "Nombre"); if (Session["lista"] != null) oi.Recursos = (List <BEOrdenInternamientoRecurso>) Session["lista"]; if (operacion == null) { if (string.IsNullOrEmpty(IdHabitacion)) throw new ApplicationException("Debe seleccionar la habitacion"); if (string.IsNullOrEmpty(IdCama)) throw new ApplicationException("Debe seleccionar la cama"); if (oi.Recursos.Count < 1) throw new ApplicationException("Debe agregar recursos a la habitacion"); oi.Estado = BEOrdenInternamiento.ESTADO_Asignado; if (new BLOrdenInternamiento().Asignar(oi)) { TempData["Mensaje"] = "Se actualizo correctamente la orden de internamiento"; return RedirectToAction("Index"); } else ViewBag.Mensaje = "No se puede asignar"; } else if (operacion == "agregar-detalle") { if (string.IsNullOrEmpty(Recurso)) throw new ApplicationException("Debe seleccionar el recurso"); string strRecurso = (from item in lstRecurso where item.IdParametro.Equals(Recurso) select item.Nombre).First(); if (string.IsNullOrEmpty(Cantidad)) throw new ApplicationException("Debe ingresar la cantidad"); int intCantidad = 0; try { intCantidad = int.Parse(Cantidad); } catch (Exception) { throw new ApplicationException("Debe ingresar la cantidad valida"); } oi.Recursos.Add(new BEOrdenInternamientoRecurso(oi.IdOrdenInternamiento, intCantidad, Recurso, strRecurso)); Session["lista"] = oi.Recursos; } else if (operacion.StartsWith("eliminar-detalle-")) { string indexStr = operacion.Replace("eliminar-detalle-", ""); int index = 0; if (int.TryParse(indexStr, out index) && index >= 0 && index < oi.Recursos.Count) { var item = oi.Recursos.ToArray()[index]; oi.Recursos.Remove(item); Session["lista"] = oi.Recursos; } } } catch (ApplicationException ex) { ViewBag.Mensaje = ex.Message; } catch (Exception ex) { ViewBag.Mensaje = ex.Message; } return View(oi); }
public ActionResult Editar(BEOrdenInternamiento oi, string operacion = null, string Recurso = null, string Cantidad = null) { if (oi == null) oi = new BEOrdenInternamiento(); try { List<BEParametro> lstRecurso = new BLParametro().ObtenerParametros(BEParametro.DOMINIO_Recurso); ViewBag.ListaRecurso = new SelectList(lstRecurso, "IdParametro", "Nombre"); if (Session["lista"] != null) oi.Recursos = (List<BEOrdenInternamientoRecurso>)Session["lista"]; if (operacion == null) { int intTotal = (from items in oi.Recursos where items.Indicador == 0 select items).Count(); if (intTotal < 1) throw new ApplicationException("Debe agregar recursos a la habitacion"); if (new BLOrdenInternamiento().Editar(oi)) { TempData["Mensaje"] = "Se actualizo correctamente la orden de internamiento"; return RedirectToAction("Index"); } else ViewBag.Mensaje = "No se pudo editar"; } else if (operacion == "agregar-detalle") { if (string.IsNullOrEmpty(Recurso)) throw new ApplicationException("Debe seleccionar el recurso"); string strRecurso = (from item in lstRecurso where item.IdParametro.Equals(Recurso) select item.Nombre).First(); if (string.IsNullOrEmpty(Cantidad)) throw new ApplicationException("Debe ingresar la cantidad"); int intCantidad = 0; try { intCantidad = int.Parse(Cantidad); if (intCantidad < 1) throw new ApplicationException("La cantidad debe ser mayor o igual a 1"); } catch (Exception) { throw new ApplicationException("Debe ingresar la cantidad valida"); } bool isExiste = false; foreach (BEOrdenInternamientoRecurso recurso in oi.Recursos) { if (recurso.Recurso.Equals(Recurso) && recurso.Indicador != 1) { recurso.Cantidad += intCantidad; isExiste = true; break; } } if (!isExiste) oi.Recursos.Add(new BEOrdenInternamientoRecurso(oi.IdOrdenInternamiento, intCantidad, Recurso, strRecurso)); Session["lista"] = oi.Recursos; } else if (operacion.StartsWith("eliminar-detalle-")) { string indexStr = operacion.Replace("eliminar-detalle-", ""); int index = 0; if (int.TryParse(indexStr, out index) && index >= 0 && index < oi.Recursos.Count) { var item = oi.Recursos.ToArray()[index]; if (item.IdOrdenInternamientoRecurso == 0) oi.Recursos.Remove(item); else item.Indicador = 1; Session["lista"] = oi.Recursos; } } } catch (ApplicationException ex) { ViewBag.Mensaje = ex.Message; } catch (Exception ex) { ViewBag.Mensaje = ex.Message; } return View(oi); }
public ActionResult Salida(BEOrdenInternamiento objOI, FormCollection form) { try { bool isOK = true; List<BEParametro> lstSalida = new BLParametro().ObtenerParametros(BEParametro.DOMINIO_Salida); ViewBag.ListaSalida = new SelectList(lstSalida, "IdParametro", "Nombre"); ViewBag.Mensaje = ""; foreach (BEParametro objP in lstSalida) { if (string.IsNullOrEmpty(form["013o" + objP.IdParametro])) { isOK = false; ViewBag.Mensaje = "Debe seleccionar la respuesta para la pregunta"; break; } else { if (form["013o" + objP.IdParametro].Equals("NO")) { if (string.IsNullOrEmpty(form["013t" + objP.IdParametro])) { isOK = false; ViewBag.Mensaje = "Debe ingresar la descripcion para la respuesta"; break; } } } } if (isOK) { BEProcedimiento objBE = new BEProcedimiento(); objBE.IdProcedimiento = 0; objBE.IdOrdenInternamiento = objOI.IdOrdenInternamiento; objBE.Estado = "013"; foreach (BEParametro objP in lstSalida) { BEProcedimientoPregunta objPP = new BEProcedimientoPregunta(); objPP.IdProcedimientoPregunta = 0; objPP.IdProcedimiento = 0; objPP.Tipo = "013"; objPP.Pregunta = objP.IdParametro; objPP.Respuesta = form["013o" + objP.IdParametro]; objPP.Descripcion = form["013t" + objP.IdParametro]; objPP.Estado = "001"; objBE.Preguntas.Add(objPP); } if (new BLProcedimiento().Actualizar(objBE)) { TempData["Mensaje"] = "Se genero...."; return RedirectToAction("Index"); } else { ViewBag.Mensaje = "No se registro el procedimiento"; } } } catch (Exception ex) { ViewBag.Mensaje = ex.Message; } return View(objOI); }