/// <summary>
        /// Metodo para atualização dos campos da janela.
        /// </summary>
        /// <param name="id">Id do funcionario a ser recuperado.</param>
        /// <param name="dataBusca">Mes referente ao periodo a ser exibido.</param>
        public async Task RefreshWindow(string id, DateTime dataBusca)
        {
            Funcionario funcionario;

            try
            {
                funcionario = await ClientApi.GetEmployeeAsync(id).ConfigureAwait(true);

                List <BancoDeHoras> bancoDeHoras = await ClientApi.GetBankHoursFilteredAsync(funcionario, dataBusca).ConfigureAwait(true);

                dgBanco.ItemsSource = bancoDeHoras;
            }
            catch (HttpRequestException e)
            {
                MessageBox.Show(e.Message);
            }
        }
        /// <summary>
        /// Evento click do botão salvar funcionario
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void BtnSalvar_Click(object sender, RoutedEventArgs e)
        {
            Funcionario funcionario;

            Funcionario busca = await ClientApi.GetEmployeeAsync(int.Parse(txtRegistro.Text, CultureInfo.InvariantCulture)).ConfigureAwait(true);

            try
            {
                funcionario = new Funcionario(int.Parse(txtRegistro.Text, CultureInfo.InvariantCulture), txtNome.Text, txtFuncao.Text,
                                              new TimeSpan(timePickerEntrada.SelectedTime.Value.Hour, timePickerEntrada.SelectedTime.Value.Minute, 0),
                                              new TimeSpan(timePickerSaida.SelectedTime.Value.Hour, timePickerSaida.SelectedTime.Value.Minute, 0),
                                              new TimeSpan(timePickerSaidaAlmoco.SelectedTime.Value.Hour, timePickerSaidaAlmoco.SelectedTime.Value.Minute, 0),
                                              new TimeSpan(timePickerRetornoAlmoco.SelectedTime.Value.Hour, timePickerRetornoAlmoco.SelectedTime.Value.Minute, 0),
                                              checkAtivo.IsChecked.Value);
            }
            catch (FormatException ex)
            {
                MessageBox.Show("Favor conferir os dados informados " + ex.Message);
                return;
            }
            catch (InvalidOperationException)
            {
                MessageBox.Show("Existem campos em branco");
                return;
            }

            if (busca != null)
            {
                switch (MessageBox.Show("Cadastro já existente!\nDeseja Atualizar com esses dados?", "Confirmar alteração", MessageBoxButton.YesNoCancel, MessageBoxImage.Question))
                {
                case MessageBoxResult.Yes:
                    try
                    {
                        busca.HoraInicio        = funcionario.HoraInicio;
                        busca.HoraSaidaAlmoco   = funcionario.HoraSaidaAlmoco;
                        busca.HoraRetornoAlmoco = funcionario.HoraRetornoAlmoco;
                        busca.HoraTermino       = funcionario.HoraTermino;
                        busca.Ativo             = funcionario.Ativo;

                        await ClientApi.UpdateEmployeeAsync(busca).ConfigureAwait(true);

                        MessageBox.Show("Cadastro efetuado com sucesso.");
                        Close();
                    }
                    catch (HttpRequestException ex)
                    {
                        MessageBox.Show(ex.Message);
                        return;
                    }
                    break;

                case MessageBoxResult.No:
                    PreencherCampos(busca);
                    break;

                case MessageBoxResult.Cancel:
                    return;
                }
            }
            else
            {
                try
                {
                    await ClientApi.CreateEmployeeAsync(funcionario).ConfigureAwait(true);
                }
                catch (HttpRequestException ex)
                {
                    MessageBox.Show(ex.Message);
                    return;
                }

                MessageBox.Show("Cadastro efetuado com sucesso.");
                Close();
            }
        }