public override void Execute(object parameter)
            {
                var viewModel        = (FuncionariosViewModel)parameter;
                var cloneFuncionario = (Funcionario)viewModel.FuncionarioSelecionado.Clone();
                var fw = new FuncionarioWindow();

                fw.DataContext = cloneFuncionario;
                fw.ShowDialog();

                if (fw.DialogResult.HasValue && fw.DialogResult.Value)
                {
                    viewModel.FuncionarioSelecionado.Nome           = cloneFuncionario.Nome;
                    viewModel.FuncionarioSelecionado.SobreNome      = cloneFuncionario.SobreNome;
                    viewModel.FuncionarioSelecionado.DataNascimento = cloneFuncionario.DataNascimento;
                    viewModel.FuncionarioSelecionado.Sexo           = cloneFuncionario.Sexo;
                    viewModel.FuncionarioSelecionado.EstadoCivil    = cloneFuncionario.EstadoCivil;
                    viewModel.FuncionarioSelecionado.DataAdmissao   = cloneFuncionario.DataAdmissao;
                }
            }
            public override void Execute(object parameter)
            {
                var viewModel   = (FuncionariosViewModel)parameter;
                var funcionario = new Funcionario();
                var maxId       = 0;

                if (viewModel.Funcionarios.Any())
                {
                    maxId = viewModel.Funcionarios.Max(f => f.Id);
                }
                funcionario.Id = maxId + 1;

                var fw = new FuncionarioWindow();

                fw.DataContext = funcionario;
                fw.ShowDialog();

                if (fw.DialogResult.HasValue && fw.DialogResult.Value)
                {
                    viewModel.Funcionarios.Add(funcionario);
                    viewModel.FuncionarioSelecionado = funcionario;
                }
            }