public bool Editar(BEOrdenInternamiento objBE) { try { return new DAOrdenInternamiento().Editar(objBE); } catch (Exception) { throw; } }
public ActionResult Alta(BEOrdenInternamiento oi, FormCollection form) { if (oi == null) oi = new BEOrdenInternamiento(); try { if (Session["lista"] != null) oi.Recursos = (List<BEOrdenInternamientoRecurso>)Session["lista"]; int intTotal = (from items in oi.Recursos where items.Indicador == 0 select items).Count(); if (intTotal > 0) { string strIdOrdenInternamientoRecurso; string strObservacion; for (int i = 0; i < intTotal; i++) { strIdOrdenInternamientoRecurso = form["Detalle[" + i.ToString() + "].Id"]; strObservacion = form["Detalle[" + i.ToString() + "].Observacion"]; var item = (from recurso in oi.Recursos where recurso.IdOrdenInternamientoRecurso == int.Parse(strIdOrdenInternamientoRecurso) select recurso).First(); item.Observacion = strObservacion; } } oi.Estado = BEOrdenInternamiento.ESTADO_Alta; if (new BLOrdenInternamiento().Alta(oi)) { TempData["Mensaje"] = "Se actualizo correctamente la orden de internamiento"; return RedirectToAction("Index"); } else ViewBag.Mensaje = "No se pudo dar de alta"; } catch (ApplicationException ex) { ViewBag.Mensaje = ex.Message; } catch (Exception ex) { ViewBag.Mensaje = ex.Message; } return View(oi); }
public bool Asignar(BEOrdenInternamiento objBE) { bool isOK = false; try { DbConnection dbCn = this.db.CreateConnection(); dbCn.Open(); DbTransaction dbTr = dbCn.BeginTransaction(); try { isOK = this.Asignar(dbTr, objBE); if (isOK) isOK = this.InsertarRecursos(dbTr, objBE.Recursos); if (isOK) isOK = this.HabitacionOcupada(dbTr, objBE.IdHabitacion.Value); if (isOK) isOK = this.CamaOcupada(dbTr, objBE.IdCama.Value); if (isOK) dbTr.Commit(); else dbTr.Rollback(); } catch (Exception) { dbTr.Rollback(); throw; } finally { if (dbCn.State == ConnectionState.Open) dbCn.Close(); } return isOK; } catch (Exception) { throw; } }
public ActionResult Alta(int id) { BEOrdenInternamiento oi = new BEOrdenInternamiento(); try { oi = new BLOrdenInternamiento().ObtenerOI(id); Session["lista"] = oi.Recursos; ViewBag.Mensaje = ""; } catch (Exception ex) { ViewBag.Mensaje = ex.Message; } return View(oi); }
public ActionResult Generar(int id) { BEOrdenInternamiento objOI = new BEOrdenInternamiento(); try { objOI = new BLOperacion().ObtenerOI(id); ViewBag.ListaProcedimiento = new SelectList(new BLParametro().ObtenerParametros(BEParametro.DOMINIO_Procedimiento), "IdParametro", "Nombre"); ViewBag.ListaEntrada = new SelectList(new BLParametro().ObtenerParametros(BEParametro.DOMINIO_Entrada), "IdParametro", "Nombre"); ViewBag.Mensaje = ""; } catch (Exception ex) { ViewBag.Mensaje = ex.Message; } return View(objOI); }
public ActionResult Actualizar(int id) { BEOrdenInternamiento bitacora = new BEOrdenInternamiento(); try { bitacora = new BLBitacora().ObtenerBitacora(id); Session["lista"] = bitacora.Bitacora; ViewBag.ListaEstadoPaciente = new SelectList(new BLParametro().ObtenerParametros(BEParametro.DOMINIO_EstadoPaciente), "IdParametro", "Nombre"); ViewBag.Mensaje = ""; } catch (Exception ex) { ViewBag.Mensaje = ex.Message; } return View(bitacora); }
public BEOrdenInternamiento ObtenerOI(int intIdOrdenInternamiento) { try { BEOrdenInternamiento objBE = null; using (DbCommand dbCmd = this.db.GetSqlStringCommand(@" select oi.IdOrdenInternamiento, oi.Numero, oi.IdHabitacion, p.nombre + ' ' + p.apellido_paterno as Paciente, h.Numero as Habitacion, d.nombre + ' ' + d.apellido_paterno as Doctor from OrdenInternamiento oi inner join Paciente p on p.dni = oi.IdPaciente inner join Habitacion h on h.IdHabitacion = oi.IdHabitacion inner join Doctor d on d.IdDoctor = oi.IdDoctor where IdOrdenInternamiento = @n_idordeninternamiento")) { this.db.AddInParameter(dbCmd, "@n_idordeninternamiento", DbType.Int32, intIdOrdenInternamiento); using (IDataReader reader = this.db.ExecuteReader(dbCmd)) { while (reader.Read()) { objBE = new BEOrdenInternamiento(reader, 4); break; } } } return objBE; } catch (Exception) { throw; } }
public ActionResult Index() { int intID = 1; BEOrdenInternamiento objOI = new BEOrdenInternamiento(); try { objOI = new BLOperacion().ObtenerOI(intID); ViewBag.ListaProcedimiento = new SelectList(new BLParametro().ObtenerParametros(BEParametro.DOMINIO_Procedimiento), "IdParametro", "Nombre"); ViewBag.ListaEntrada = new SelectList(new BLParametro().ObtenerParametros(BEParametro.DOMINIO_Entrada), "IdParametro", "Nombre"); ViewBag.ListaPausaQuirurgica = new SelectList(new BLParametro().ObtenerParametros(BEParametro.DOMINIO_PausaQuirurgica), "IdParametro", "Nombre"); ViewBag.ListaSalida = new SelectList(new BLParametro().ObtenerParametros(BEParametro.DOMINIO_Salida), "IdParametro", "Nombre"); ViewBag.Mensaje = ""; } catch (Exception ex) { ViewBag.Mensaje = ex.Message; } return View(objOI); }
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); }
private bool Asignar(DbTransaction dbTr, BEOrdenInternamiento objBE) { try { using (DbCommand dbCmd = this.db.GetSqlStringCommand("update OrdenInternamiento set IdHabitacion = @n_IdHabitacion, IdCama = @n_IdCama, Estado = @v_Estado where IdOrdenInternamiento = @n_IdOrdenInternamiento")) { this.db.AddInParameter(dbCmd, "@n_IdHabitacion", DbType.String, objBE.IdHabitacion); this.db.AddInParameter(dbCmd, "@n_IdCama", DbType.String, objBE.IdCama.Value); this.db.AddInParameter(dbCmd, "@v_Estado", DbType.String, objBE.Estado); this.db.AddInParameter(dbCmd, "@n_IdOrdenInternamiento", DbType.Int32, objBE.IdOrdenInternamiento); if (this.db.ExecuteNonQuery(dbCmd, dbTr) > 0) return true; } return false; } catch (Exception) { throw; } }
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); }
public bool Editar(BEOrdenInternamiento objBE) { bool isOK = true; try { DbConnection dbCn = this.db.CreateConnection(); dbCn.Open(); DbTransaction dbTr = dbCn.BeginTransaction(); try { foreach (BEOrdenInternamientoRecurso objBEr in objBE.Recursos) { if (objBEr.IdOrdenInternamientoRecurso == 0) using (DbCommand dbCmd = this.db.GetSqlStringCommand("insert into OrdenInternamiento_Recurso (IdOrdenInternamiento, Recurso, Cantidad, Observacion) values (@n_IdOrdenInternamiento, @v_Recurso, @n_Cantidad, '')")) { this.db.AddInParameter(dbCmd, "@n_IdOrdenInternamiento", DbType.Int32, objBE.IdOrdenInternamiento); this.db.AddInParameter(dbCmd, "@v_Recurso", DbType.String, objBEr.Recurso); this.db.AddInParameter(dbCmd, "@n_Cantidad", DbType.Int32, objBEr.Cantidad); if (this.db.ExecuteNonQuery(dbCmd, dbTr) < 1) isOK = false; } else if (objBEr.Indicador == 1) using (DbCommand dbCmd = this.db.GetSqlStringCommand("delete from OrdenInternamiento_Recurso where IdOrdenInternamientoRecurso = @n_IdOrdenInternamientoRecurso")) { this.db.AddInParameter(dbCmd, "@n_IdOrdenInternamientoRecurso", DbType.Int32, objBEr.IdOrdenInternamientoRecurso); if (this.db.ExecuteNonQuery(dbCmd, dbTr) < 1) isOK = false; } if (!isOK) break; } if (isOK) dbTr.Commit(); else dbTr.Rollback(); } catch (Exception) { dbTr.Rollback(); throw; } finally { if (dbCn.State == ConnectionState.Open) dbCn.Close(); } return isOK; } catch (Exception) { throw; } }
public BEOrdenInternamiento ObtenerOI(int intIdOrdenInternamiento) { try { BEOrdenInternamiento objBE = null; using (DbCommand dbCmd = this.db.GetSqlStringCommand(@" select oi.IdOrdenInternamiento, oi.Numero, oi.IdHabitacion, p.nombre + ' ' + p.apellido_paterno as Paciente, h.Numero as Habitacion, 'Cama ' + cast(c.IdCama as varchar(100)) + ' - Modelo: ' + c.Modelo as Cama, (select top 1 Nombre from Parametro where IdDominio = '006' and IdParametro = h.Tipo) as TipoHabitacion from OrdenInternamiento oi inner join Paciente p on p.dni = oi.IdPaciente inner join Habitacion h on h.IdHabitacion = oi.IdHabitacion inner join Cama c on c.IdCama = oi.IdCama where IdOrdenInternamiento = @n_idordeninternamiento")) { this.db.AddInParameter(dbCmd, "@n_idordeninternamiento", DbType.Int32, intIdOrdenInternamiento); using (IDataReader reader = this.db.ExecuteReader(dbCmd)) { while (reader.Read()) { objBE = new BEOrdenInternamiento(reader, 3); break; } } } using (DbCommand dbCmd = this.db.GetSqlStringCommand(@" select oir.IdOrdenInternamientoRecurso, oir.IdOrdenInternamiento, oir.Recurso, (select top 1 Nombre from Parametro where IdDominio = '008' and IdParametro = oir.Recurso) as RecursoNombre, oir.Cantidad, oir.Observacion from OrdenInternamiento_Recurso oir where oir.IdOrdenInternamiento = @n_idordeninternamiento")) { this.db.AddInParameter(dbCmd, "@n_idordeninternamiento", DbType.Int32, intIdOrdenInternamiento); using (IDataReader reader = this.db.ExecuteReader(dbCmd)) { while (reader.Read()) objBE.Recursos.Add(new BEOrdenInternamientoRecurso(reader)); } } return objBE; } catch (Exception) { throw; } }
public ActionResult Ver(int id) { BEOrdenInternamiento bitacora = new BEOrdenInternamiento(); try { bitacora = new BLBitacora().ObtenerBitacora(id); ViewBag.Mensaje = ""; } catch (Exception ex) { ViewBag.Mensaje = ex.Message; } return View(bitacora); }
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 BEOrdenInternamiento ObtenerBitacora(int intIdOrdenInternamiento) { try { BEOrdenInternamiento objBE = null; using (DbCommand dbCmd = this.db.GetSqlStringCommand(@" select oi.IdOrdenInternamiento, oi.Numero, oi.IdHabitacion, p.nombre + ' ' + p.apellido_paterno as Paciente, h.Numero as Habitacion, d.nombre + ' ' + d.apellido_paterno as Doctor from OrdenInternamiento oi inner join Paciente p on p.dni = oi.IdPaciente inner join Habitacion h on h.IdHabitacion = oi.IdHabitacion inner join Doctor d on d.IdDoctor = oi.IdDoctor where IdOrdenInternamiento = @n_idordeninternamiento")) { this.db.AddInParameter(dbCmd, "@n_idordeninternamiento", DbType.Int32, intIdOrdenInternamiento); using (IDataReader reader = this.db.ExecuteReader(dbCmd)) { while (reader.Read()) { objBE = new BEOrdenInternamiento(reader, 4); break; } } } using (DbCommand dbCmd = this.db.GetSqlStringCommand(@" select oib.IdOrdenInternamientoBitacora, oib.IdOrdenInternamiento, oib.Fecha, oib.EstadoPaciente, (select top 1 Nombre from Parametro where IdDominio = '009' and IdParametro = oib.EstadoPaciente) as EstadoPacienteNombre, oib.Descripcion, oib.Estado from OrdenInternamiento_Bitacora oib where oib.IdOrdenInternamiento = @n_idordeninternamiento and oib.Estado = '001'")) { this.db.AddInParameter(dbCmd, "@n_idordeninternamiento", DbType.Int32, intIdOrdenInternamiento); using (IDataReader reader = this.db.ExecuteReader(dbCmd)) { while (reader.Read()) objBE.Bitacora.Add(new BEOrdenInternamientoBitacora(reader)); } } return objBE; } catch (Exception) { throw; } }
public ActionResult Asignar(int id) { BEOrdenInternamiento oi = new BEOrdenInternamiento(); try { oi = new BLOrdenInternamiento().ObtenerPaciente(id); ViewBag.ListaHabitacion = new SelectList(new BLHabitacion().ObtenerDisponibles(), "IdHabitacion", "Nombre"); ViewBag.ListaRecurso = new SelectList(new BLParametro().ObtenerParametros(BEParametro.DOMINIO_Recurso), "IdParametro", "Nombre"); ViewBag.ListaCama = new SelectList(new BLCama().Disponible(), "IdCama", "Nombre"); ViewBag.Mensaje = ""; } 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 Editar(int id) { BEOrdenInternamiento oi = new BEOrdenInternamiento(); try { oi = new BLOrdenInternamiento().ObtenerOI(id); Session["lista"] = oi.Recursos; ViewBag.ListaRecurso = new SelectList(new BLParametro().ObtenerParametros(BEParametro.DOMINIO_Recurso), "IdParametro", "Nombre"); ViewBag.Mensaje = ""; } catch (Exception ex) { ViewBag.Mensaje = ex.Message; } return View(oi); }