public static FuncionarioViewModel ToView(Funcionario funcionario)
        {
            var agora      = DateTime.Now;
            var nascimento = funcionario.DataNascimento;
            int idade      = agora.Year - nascimento.Year;

            if (agora.Month < nascimento.Month || (agora.Month == nascimento.Month && agora.Day < nascimento.Day))
            {
                idade--;
            }

            var vm = new FuncionarioViewModel
            {
                Id             = funcionario.Id,
                Nome           = funcionario.Nome,
                Sobrenome      = funcionario.Sobrenome,
                Email          = funcionario.Email,
                DataNascimento = funcionario.DataNascimento.ToString("dd/MM/yyyy"),
                Idade          = idade.ToString(),
                Sexo           = funcionario.Sexo == "F" ? SexoEnum.Feminino.ToString() : SexoEnum.Masculino.ToString(),
                Ativo          = funcionario.Ativo
            };

            var habilidades = new List <HabilidadeViewModel>();

            funcionario.Habilidades.ForEach((habilidade) => habilidades.Add(new HabilidadeViewModel
            {
                Id   = habilidade.Id,
                Nome = habilidade.Nome
            }));

            vm.Habilidades = habilidades;
            return(vm);
        }
        public static FuncionarioSimplesViewModel Converter(FuncionarioViewModel funcionario)
        {
            var      dataSplit    = funcionario.DataNascimento.Split('/');
            DateTime dtNascimento = new DateTime(int.Parse(dataSplit[2]), int.Parse(dataSplit[1]), int.Parse(dataSplit[0]));
            var      vm           = new FuncionarioSimplesViewModel
            {
                Id             = funcionario.Id,
                Nome           = funcionario.Nome,
                Sobrenome      = funcionario.Sobrenome,
                Email          = funcionario.Email,
                DataNascimento = dtNascimento,
                Sexo           = funcionario.Sexo,
                Ativo          = funcionario.Ativo
            };

            return(vm);
        }
        public static FuncionarioPagedViewModel ToView(FuncionarioPaged paged)
        {
            var vm             = new FuncionarioPagedViewModel();
            var funcionariosVM = new List <FuncionarioViewModel>();

            paged.Funcionarios.ForEach((f) =>
            {
                var habilidadesVM = new List <HabilidadeViewModel>();
                f.Habilidades.ForEach((h) =>
                {
                    habilidadesVM.Add(HabilidadeViewModel.ToView(h));
                });
                funcionariosVM.Add(FuncionarioViewModel.ToView(f));
            });

            vm.Funcionarios = funcionariosVM;
            vm.Paginacao    = PagedViewModel.ToView(paged.Paginacao);
            return(vm);
        }