Ejemplo n.º 1
0
 public bool InsertarNuevaHospitalizacion(HOSPITALIZACION Hospitalizacion, CAMA_HOSPITAL Cama)
 {
     try
     {
         using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions()
         {
             IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted
         }))
         {
             Context.CAMA_HOSPITAL.Attach(Cama);
             Context.Entry(Cama).Property(x => x.ESTATUS).IsModified = true;
             Context.HOSPITALIZACION.Add(new HOSPITALIZACION()
             {
                 ID_CAMA_HOSPITAL   = Hospitalizacion.ID_CAMA_HOSPITAL,
                 ID_CENTRO          = Hospitalizacion.ID_CENTRO,
                 ID_CENTRO_UBI      = Hospitalizacion.ID_CENTRO_UBI,
                 ID_HOSEST          = Hospitalizacion.ID_HOSEST,
                 ID_HOSPITA         = Hospitalizacion.ID_HOSPITA,
                 ID_INGHOSTIP       = Hospitalizacion.ID_INGHOSTIP,
                 ID_USUARIO         = Hospitalizacion.ID_USUARIO,
                 INGRESO_FEC        = Hospitalizacion.INGRESO_FEC,
                 INGRESO_MEDICO     = Hospitalizacion.INGRESO_MEDICO,
                 REGISTRO_FEC       = Hospitalizacion.REGISTRO_FEC,
                 ID_ATENCION_MEDICA = Hospitalizacion.ID_ATENCION_MEDICA
             });
             Context.SaveChanges();
             transaccion.Complete();
         }
         return(true);
     }
     catch (Exception ex)
     {
         throw new ApplicationException(ex.Message);
     }
 }
Ejemplo n.º 2
0
        public async void ClickSwitch(object obj)
        {
            switch (obj.ToString())
            {
            case "BuscarCamas":
                // ValidacionEstatusBusqueda();

                //if (!base.HasErrors)
                if (SelectedEstatusBusqueda.CLAVE != SELECCIONAR)
                {
                    await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
                    {
                        try
                        {
                            ListItems    = SelectedEstatusBusqueda.CLAVE == TODOS ? new cCamaHospital().ObtenerTodos(GlobalVar.gCentro).OrderBy(o => o.ID_CENTRO).ThenBy(t => t.ID_CAMA_HOSPITAL).ToList() : new cCamaHospital().ObtenerCamasHospitalEstatus(SelectedEstatusBusqueda.CLAVE, GlobalVar.gCentro).ToList();
                            EmptyVisible = ListItems.Count == 0;
                        }
                        catch (Exception ex)
                        {
                            Application.Current.Dispatcher.Invoke((Action)(delegate
                            {
                                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "No se pudo cargar el catálogo de camas de hospital", ex);
                            }));
                        }
                    });
                }
                break;

            case "menu_buscar":
                ValidacionEstatusBusqueda();

                if (!base.HasErrors)
                {
                    await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
                    {
                        try
                        {
                            ListItems    = SelectedEstatusBusqueda.CLAVE == TODOS ? new cCamaHospital().ObtenerTodos(GlobalVar.gCentro).OrderBy(o => o.ID_CENTRO).ThenBy(t => t.ID_CAMA_HOSPITAL).ToList() : new cCamaHospital().ObtenerCamasHospitalEstatus(SelectedEstatusBusqueda.CLAVE, GlobalVar.gCentro).ToList();
                            EmptyVisible = ListItems.Count == 0;
                        }
                        catch (Exception ex)
                        {
                            Application.Current.Dispatcher.Invoke((Action)(delegate
                            {
                                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "No se pudo cargar el catálogo de camas de hospital", ex);
                            }));
                        }
                    });
                }

                break;

            case "menu_guardar":
                try
                {
                    var guardar = false;
                    var met     = Application.Current.Windows[0] as MetroWindow;
                    ValidacionGuardar();
                    if (!base.HasErrors)
                    {
                        await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
                        {
                            var consultor     = new cCamaHospital();
                            var cama_hospital = new CAMA_HOSPITAL()
                            {
                                ID_CENTRO    = GlobalVar.gCentro,
                                DESCR        = Descripcion,
                                ID_USUARIO   = GlobalVar.gUsr,
                                REGISTRO_FEC = Fechas.GetFechaDateServer,
                                ESTATUS      = SelectedEstatus.CLAVE
                            };

                            if (SelectedItem == null)
                            {
                                guardar = consultor.InsertarCama(GlobalVar.gCentro, cama_hospital);
                            }
                            else
                            {
                                cama_hospital.ID_CAMA_HOSPITAL = SelectedItem.ID_CAMA_HOSPITAL;    //SIN EL IDENTIFICADOR, NO SABE A QUE ELEMENTO ACTUALIZAR DENTRO DE LA BASE DE DATOS
                                guardar = consultor.ActualizarCama(cama_hospital);
                            }
                        });

                        if (guardar)
                        {
                            await met.ShowMessageAsync("¡ÉXITO!", "Se ha guardado la información de la cama.");

                            AgregarMenuEnabled = BuscarMenuEnabled = Ventana.CatalogoCamasLista.IsEnabled = true;
                            SelectedItem       = null;
                            AgregarVisible     = CancelarMenuEnabled = GuardarMenuEnabled = EditarMenuEnabled = false;
                        }
                        await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
                        {
                            try
                            {
                                ListItems = new cCamaHospital().ObtenerTodos(GlobalVar.gCentro).OrderBy(o => o.ID_CENTRO).ThenBy(t => t.ID_CAMA_HOSPITAL).ToList();

                                EmptyVisible = ListItems.Count == 0;
                            }
                            catch (Exception ex)
                            {
                                Application.Current.Dispatcher.Invoke((Action)(delegate
                                {
                                    StaticSourcesViewModel.ShowMessageError("Algo pasó...", "No se pudo cargar el catálogo de camas de hospital", ex);
                                }));
                            }
                        });
                    }
                    else
                    {
                        var mensaje = new StringBuilder();
                        if (string.IsNullOrEmpty(Descripcion))
                        {
                            mensaje.Append("DESCRIPCIÓN ES REQUERIDA");
                        }
                        if (SelectedEstatus.CLAVE == SELECCIONAR)
                        {
                            mensaje.Append(string.Format("{0}", string.IsNullOrEmpty(Descripcion) ? "/" : string.Empty) + "ESTATUS ES REQUERIDO");
                        }

                        await met.ShowMessageAsync("Validación", "Faltan datos por capturar: " + mensaje.ToString() + ".");
                    }
                }
                catch (Exception ex)
                {
                    StaticSourcesViewModel.ShowMessageError("Algo pasó...", "No se pudo guardar la información de la nueva cama.", ex);
                }
                break;

            case "menu_agregar":
                ValidacionGuardar();
                Ventana.CatalogoCamasLista.IsEnabled = false;
                AgregarVisible     = CancelarMenuEnabled = GuardarMenuEnabled = true;;
                AgregarMenuEnabled = BuscarMenuEnabled = EditarMenuEnabled = false;
                Ventana.txtDescripcion.Focus();
                Descripcion = string.Empty;
                if (ListaEstatus.LISTA_ESTATUS.Any(a => a.CLAVE == OCUPADA))
                {
                    ListaEstatus.LISTA_ESTATUS.Remove(ListaEstatus.LISTA_ESTATUS.Where(w => w.CLAVE == OCUPADA).FirstOrDefault());
                }
                SelectedEstatus = ListaEstatus.LISTA_ESTATUS.Where(w => w.CLAVE == SELECCIONAR).FirstOrDefault();
                break;

            case "menu_editar":
                Ventana.CatalogoCamasLista.IsEnabled = false;
                if (SelectedItem == null)
                {
                    var met = Application.Current.Windows[0] as MetroWindow;
                    await met.ShowMessageAsync("Validación", "Debe seleccionar una cama primero.");
                }
                else
                {
                    Descripcion = SelectedItem.DESCR.TrimEnd();
                    Ventana.ComboBoxEstatus.IsEnabled = SelectedItem.ESTATUS != OCUPADA;
                    AgregarVisible     = CancelarMenuEnabled = GuardarMenuEnabled = true;
                    AgregarMenuEnabled = BuscarMenuEnabled = false;
                    SelectedEstatus    = ListaEstatus.LISTA_ESTATUS.Where(w => w.CLAVE == SelectedItem.ESTATUS).FirstOrDefault();
                }
                break;

            case "menu_cancelar":

                AgregarMenuEnabled = BuscarMenuEnabled = Ventana.CatalogoCamasLista.IsEnabled = true;
                EditarMenuEnabled  = SelectedItem != null;
                AgregarVisible     = CancelarMenuEnabled = GuardarMenuEnabled = false;
                break;

            case "menu_salir":
                PrincipalViewModel.SalirMenu();
                break;
            }
        }