/// <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; } } }
/// <summary> /// Método para abrir ventana cuando se quiere crear nuevo grupo /// </summary> public void ircreargrupo() { FrmCrearGrupo wcreargrupo = new FrmCrearGrupo(); GruposViewModel vw = new GruposViewModel(User); wcreargrupo.DataContext = vw; wcreargrupo.ShowDialog(); // Cargamos de nuevo la lista de grupos, para que se actualice al momento de crear nuevo o eliminar grupo ListaGrupos = DataManagerControlDocumentos.GetAllGrupos(User.NombreUsuario); ListaGrupos = ListaGrupos; NotifyChange("ListaGrupos"); }
public NotificarAViewModel(Usuario UsuarioLogeado, string body, ObservableCollection <Archivo> archivos, List <objUsuario> listaANotificar, string title, string origen, int idArchivo) { Title = title; IsEnableEditor = true; User = UsuarioLogeado; ListaArchivos = archivos; Origen = origen; IdArchivo = idArchivo; ListaUsuarios = DataManagerControlDocumentos.GetUsuarios(); //Si la listaANotificar es decir los usuarios a los que se van a mandar los correos tiene 1 registro if (listaANotificar.Count == 1) { //Se imprime el nombre de la primera posición BodyEmail = "<BR>" + definirSaludo() + listaANotificar[0].nombre + ";<BR><BR>" + body + "<br><br>" + definirPieDeCorreo(); } else { //Sino se imprime "Buenos días a todos / todas" cuando se tiene mas de 1 BodyEmail = "<BR>" + definirSaludo() + " " + "a todos / a todas;" + "<BR><BR>" + body + "<br><br>" + definirPieDeCorreo(); } ListaGrupos = DataManagerControlDocumentos.GetAllGrupos(User.NombreUsuario); ListaUsuarioANotificar = new ObservableCollection <objUsuario>(); // Se carga a la lista el usuario reportó foreach (var item in listaANotificar) { ListaUsuarioANotificar.Add(item); } // Iteramos lista de Usarios a notificar y usuarios para seleccionar foreach (var listusernotify in ListaUsuarioANotificar) { foreach (var listuser in ListaUsuarios) { // Seleccionamos en la lista de usuarios, los usuarios a notificar ya cargados if (listusernotify.NombreCorto == listuser.NombreCorto) { listuser.IsSelected = true; } } } }