private async void BtnDeletar_Click(object sender, RoutedEventArgs e)
        {
            HorasFuncionario horas = (HorasFuncionario)Listhoras.SelectedItem;

            HorasFuncionario horasFuncionario = await ClientApi.GetEmployeeHoursAsync(horas.Id).ConfigureAwait(true);

            if (MessageBox.Show("Deseja realmente deletar?", "Confirmar", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                if (horasFuncionario != null)
                {
                    if (horasFuncionario.Extras != (new TimeSpan(0, 0, 0)))
                    {
                        BancoDeHoras removerDoBancoDeHoras = new BancoDeHoras(-horasFuncionario.Extras, "Registro deletado", horasFuncionario.DataRegistro, Func.Registro);
                        await ClientApi.CreateBankHoursAsync(removerDoBancoDeHoras).ConfigureAwait(true);
                    }
                    else
                    {
                        BancoDeHoras JustificativaBancoDeHoras = new BancoDeHoras(new TimeSpan(0, 0, 0), "Registro deletado", horasFuncionario.DataRegistro, Func.Registro);
                        await ClientApi.CreateBankHoursAsync(JustificativaBancoDeHoras).ConfigureAwait(true);
                    }

                    await ClientApi.DeleteEmployeeHoursAsync(horas).ConfigureAwait(true);
                    await RefreshList(Func).ConfigureAwait(true);

                    horasFuncionario = await ClientApi.GetEmployeeHoursAsync(horas.Id).ConfigureAwait(true);

                    if (horasFuncionario == null)
                    {
                        MessageBox.Show("Registro deletado com sucesso!");
                    }
                }
                else
                {
                    MessageBox.Show("Não há registros na data selecionada!");
                }
            }
        }
        /// <summary>
        /// Atualiza os campos da janela.
        /// </summary>
        /// <param name="func">Objeto do tipo Funcionario recuperado do BD.</param>
        private async Task RefreshList(Funcionario func)
        {
            DateTime selecionada = DPdata.SelectedDate.Value;
            int      fechamento  = Empre.DiaFechamento;

            List <HorasFuncionario> horas;

            DateTime selecionadaBuscaInicio;
            DateTime selecionadaBuscaFim;

            if (selecionada.Day >= fechamento)
            {
                if (selecionada.Month == 12)
                {
                    selecionadaBuscaInicio = new DateTime(selecionada.Year, selecionada.Month, fechamento);
                    selecionadaBuscaFim    = new DateTime(selecionada.Year + 1, 1, fechamento);
                }
                else
                {
                    selecionadaBuscaInicio = new DateTime(selecionada.Year, selecionada.Month, fechamento);
                    selecionadaBuscaFim    = new DateTime(selecionada.Year, selecionada.Month + 1, fechamento);
                }
            }
            else
            {
                if (selecionada.Month == 1)
                {
                    selecionadaBuscaInicio = new DateTime(selecionada.Year - 1, 12, fechamento);
                    selecionadaBuscaFim    = new DateTime(selecionada.Year, selecionada.Month, fechamento);
                }
                else
                {
                    selecionadaBuscaInicio = new DateTime(selecionada.Year, selecionada.Month - 1, fechamento);
                    selecionadaBuscaFim    = new DateTime(selecionada.Year, selecionada.Month, fechamento);
                }
            }

            horas = await ClientApi.GetEmployeeHoursAsync(func, selecionadaBuscaFim, selecionadaBuscaInicio).ConfigureAwait(true);

            List <BancoDeHoras> bancoDeHoras = await ClientApi.GetBankHoursAsync(func).ConfigureAwait(true);

            Listhoras.ItemsSource = horas;

            TimeSpan totalHoraAlmoco = func.HoraRetornoAlmoco.Subtract(func.HoraSaidaAlmoco);
            TimeSpan horaTrabalho    = func.HoraTermino.Subtract(func.HoraInicio).Subtract(totalHoraAlmoco);
            TimeSpan totalHorasFolga = new TimeSpan();
            TimeSpan totalHoras      = new TimeSpan(horas.Sum(h => h.Extras.Ticks));
            TimeSpan totalBancoHoras = new TimeSpan(bancoDeHoras.Sum(b => b.HorasExtras.Ticks));

            lblBancoHoras.Content  = totalBancoHoras;
            lblTotalExtras.Content = totalHoras.ToString();

            if (totalBancoHoras >= horaTrabalho)
            {
                while (totalBancoHoras >= horaTrabalho)
                {
                    totalHorasFolga = totalHorasFolga.Add(new TimeSpan(1, 0, 0, 0));
                    totalBancoHoras = totalBancoHoras.Subtract(horaTrabalho);
                }
            }
            else if (totalBancoHoras <= -horaTrabalho)
            {
                while (totalBancoHoras <= -horaTrabalho)
                {
                    totalHorasFolga = totalHorasFolga.Subtract(new TimeSpan(1, 0, 0, 0));
                    totalBancoHoras = totalBancoHoras.Add(horaTrabalho);
                }
            }

            lblHoraFolga.Content = $"{totalHorasFolga.Days} Dia(s) e {totalBancoHoras.Hours} Horas";

            if (totalHorasFolga.Days >= 0 && totalHorasFolga.Hours >= 0)
            {
                lblHoraFolga.Foreground = Brushes.LightGreen;
            }
            else
            {
                lblHoraFolga.Foreground = Brushes.IndianRed;
            }
        }