Ejemplo n.º 1
0
        /// <summary>
        /// Lança um dialog(CancelarViewModelDialog) de confirmação de fechamento da janela. Esse metodo necessita que o dialog seja injetado atraves
        /// do DependecyService. Utilize 'CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"'para
        /// conectar este metodo
        /// </summary>
        /// <param name="e">Janela do contexto</param>
        protected async void Cancelar(Window e)
        {
            var dialog = DependecyService.ObterDialog(new CancelarViewModelDialog("Tem Certeza que Dejesa Cancelar?", repositorio));
            var result = await DialogHost.Show(dialog, "MessageBox");

            bool?resultado = result as bool?;

            if (resultado.HasValue && resultado.Value == true)
            {
                e.DialogResult = false;
            }
        }
        /// <summary>
        /// Lança um dialog(RemoverViewModelDialog) de confirmação de remoção da model. Esse metodo necessita que o dialog seja injetado atraves
        /// do DependecyService. Remove da lista e chama o metodo 'Deletar()'
        /// </summary>
        /// <param name="model">Model a ser removida</param>
        protected async void Remover(TModel model)
        {
            var dialog = DependecyService.ObterDialog(new RemoverViewModelDialog("Tem certeza que deseja excluir?", repositorio));
            var result = await DialogHost.Show(dialog, "MessageBoxPrincipal");

            bool?resultado = result as bool?;

            if (resultado.HasValue && resultado.Value == true)
            {
                this.Models.Remove(model);
                Deletar(model);
            }
        }
 public ViewModelBase(IRepositorio _repositorio)
 {
     repositorio    = _repositorio;
     messageService = DependecyService.ObterDependencias <IMessageService>();
 }