// Constructor para visualizar grupos y ver usuarios integrantes public GruposViewModel(int idGrupoSeleccionado, Usuario usuariolog) { user = usuariolog; IdGrupoSeleccionado = idGrupoSeleccionado; ListaIntegrantes_Grupo = DataManagerControlDocumentos.GetAllIntegrantesGrupo(idGrupoSeleccionado); ListaIntegrantes_Grupo = ListaIntegrantes_Grupo; NotifyChange("ListaIntegrantes_Grupo"); ListadeUsuarios = DataManagerControlDocumentos.GetUsuarios(); foreach (var usuariointegrante in ListaIntegrantes_Grupo) { foreach (var usuario in ListadeUsuarios) { if (usuariointegrante.idusuariointegrante == usuario.usuario) { usuario.IsSelected = true; } } } }
/// <summary> /// Método para actualizar lista de integrantes por grupo. /// </summary> /// <returns></returns> public void guardarnintegrantes() { //Eliminar integrantes de la lista foreach (var usuariointegrante in ListaIntegrantes_Grupo) { DataManagerControlDocumentos.eliminarintegrantes(IdGrupoSeleccionado, usuariointegrante.idusuariointegrante); } // Agregar integrantes a la lista foreach (var usuario in ListadeUsuarios) { if (usuario.IsSelected) { DataManagerControlDocumentos.agregarintegrante(IdGrupoSeleccionado, usuario.usuario); } } // Se llena la lista de integrantes por grupo ListaIntegrantes_Grupo = DataManagerControlDocumentos.GetAllIntegrantesGrupo(IdGrupoSeleccionado); ListaIntegrantes_Grupo = ListaIntegrantes_Grupo; NotifyChange("ListaIntegrantes_Grupo"); iragregarintegrante(); }
/// <summary> /// Método para eliminar un grupo. /// </summary> public async void eliminargrupo() { // Recorremos lista grupos foreach (var grupo in ListaGrupos) { // Si el grupo está seleccionado... if (grupo.IsSelected) { // Inicializamos servicios DialogService dialog = new DialogService(); MetroDialogSettings settings = new MetroDialogSettings(); settings.AffirmativeButtonText = StringResources.lblYes; settings.NegativeButtonText = StringResources.lblNo; //Ocultamos el editor IsEnableEditor = false; // Leemos la respuesta MessageDialogResult result = await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgEliminarRegistro, settings, MessageDialogStyle.AffirmativeAndNegative); // Se asegura que el grupo es existente if (grupo.idgrupo != 0) { // Si la respuesta fue si if (MessageDialogResult.Affirmative == result) { // Generamos lista con integrantes del grupo a eliminar ObservableCollection <DO_INTEGRANTES_GRUPO> ListaIntegrantes = DataManagerControlDocumentos.GetAllIntegrantesGrupo(grupo.idgrupo); // Recorremos y eliminamos integrantes del grupo foreach (var usuariointegrante in ListaIntegrantes) { DataManagerControlDocumentos.eliminarintegrantes(grupo.idgrupo, usuariointegrante.idusuariointegrante); } // Eliminamos grupo ya vacío DataManagerControlDocumentos.eliminarGrupos(grupo.idgrupo); // Cargamos lista de grupos para que se actualice al momento de eliminar alguno ListaGrupos = DataManagerControlDocumentos.GetAllGrupos(User.NombreUsuario); await dialog.SendMessage(StringResources.ttlAlerta, StringResources.ttlDone); //Obtenemos la pantalla actual, y casteamos para que se tome como tipo MetroWindow. var window = System.Windows.Application.Current.Windows.OfType <MetroWindow>().LastOrDefault(); } } else { //Si hay error mandamos mensaje await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgError); } // Hacemos visible nuevamente el editor IsEnableEditor = true; } } }