コード例 #1
0
 public bool Editar(BEOrdenInternamiento objBE)
 {
     try
     {
         return new DAOrdenInternamiento().Editar(objBE);
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
            }
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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;
            }
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        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;
            }
        }
コード例 #11
0
        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);
        }
コード例 #12
0
        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;
            }
        }
コード例 #13
0
        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;
            }
        }
コード例 #14
0
        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);
        }
コード例 #15
0
        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);
        }
コード例 #16
0
        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;
            }
        }
コード例 #17
0
        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);
        }
コード例 #18
0
        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);
        }
コード例 #19
0
        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);
        }
コード例 #20
0
        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);
        }