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); } }
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; } }