private void Button_Click(object sender, RoutedEventArgs e) { dynamic loc = dtaLocacoes.SelectedItem; Locacao lo = LocacaoDAO.BuscarPorId(loc.id); lo.dataEntrega = DateTime.Now; lo.devolvido = true; lo.veiculo.locado = false; if (lo.dataEntrega.Month > lo.previsaoEntrega.Month) { int dias = (lo.dataEntrega - lo.previsaoEntrega).Days; lo.custoVariavel = lo.veiculo.valorDiaria * dias; lo.totalLocacao += lo.custoVariavel; LocacaoDAO.Alterar(lo); MessageBox.Show($"Veículo entregue! Pelo atraso de {dias} dias, " + $"houve a cobrança extra no valor de R$ {lo.custoVariavel}", "Locação - WPF", MessageBoxButton.OK, MessageBoxImage.Information); } else if (lo.dataEntrega.Day > lo.previsaoEntrega.Day) { int atraso = lo.dataEntrega.Day - lo.previsaoEntrega.Day; lo.custoVariavel = lo.veiculo.valorDiaria * atraso; lo.totalLocacao += lo.custoVariavel; LocacaoDAO.Alterar(lo); MessageBox.Show($"Veículo entregue! Pelo atraso de {atraso} dias, " + $"houve a cobrança extra no valor de R$ {lo.custoVariavel}", "Locação - WPF", MessageBoxButton.OK, MessageBoxImage.Information); } else if (lo.dataEntrega.Day < lo.previsaoEntrega.Day) { int dias = lo.previsaoEntrega.Day - lo.dataEntrega.Day; lo.custoVariavel = lo.veiculo.valorDiaria * dias; lo.totalLocacao -= lo.custoVariavel; if (lo.totalLocacao == 0) { lo.custoVariavel -= lo.veiculo.valorDiaria; lo.totalLocacao = lo.veiculo.valorDiaria; LocacaoDAO.Alterar(lo); MessageBox.Show($"Veículo entregue! Pela entrega antecipada de {dias} dias, " + $"houve o desconto de R$ {lo.custoVariavel}", "Locação - WPF", MessageBoxButton.OK, MessageBoxImage.Information); } else { LocacaoDAO.Alterar(lo); MessageBox.Show($"Veículo entregue! Pela entrega antecipada de {dias} dias, " + $"houve o desconto de R$ {lo.custoVariavel}", "Locação - WPF", MessageBoxButton.OK, MessageBoxImage.Information); } } else { LocacaoDAO.Alterar(lo); MessageBox.Show($"Veículo entregue na data esperada!", "Locação - WPF", MessageBoxButton.OK, MessageBoxImage.Information); } List <Locacao> vazia = new List <Locacao>(); locacoesAtivas.Clear(); dtaLocacoes.ItemsSource = vazia; dtaLocacoes.Items.Refresh(); Popular(); }
public IActionResult Devolver(int id) { Locacao loc = _locacaoDAO.BuscarPorId(id); loc.dataEntrega = DateTime.Now; loc.devolvido = true; Veiculo vec = _veiculoDAO.BuscarPorId(loc.vecID); vec.locado = false; _veiculoDAO.Editar(vec); if (loc.dataEntrega.Month > loc.previsaoEntrega.Month) { int dias = (loc.dataEntrega - loc.previsaoEntrega).Days; loc.custoVariavel = loc.veiculo.valorDiaria * dias; loc.totalLocacao += loc.custoVariavel; _locacaoDAO.Alterar(loc); /*MessageBox.Show($"Veículo entregue! Pelo atraso de {dias} dias, " + * $"houve a cobrança extra no valor de R$ {lo.custoVariavel}", "Locação - WPF", * MessageBoxButton.OK, MessageBoxImage.Information);*/ } else if (loc.dataEntrega.Day > loc.previsaoEntrega.Day) { int atraso = loc.dataEntrega.Day - loc.previsaoEntrega.Day; loc.custoVariavel = loc.veiculo.valorDiaria * atraso; loc.totalLocacao += loc.custoVariavel; _locacaoDAO.Alterar(loc); /*MessageBox.Show($"Veículo entregue! Pelo atraso de {atraso} dias, " + * $"houve a cobrança extra no valor de R$ {lo.custoVariavel}", "Locação - WPF", * MessageBoxButton.OK, MessageBoxImage.Information);*/ } else if (loc.dataEntrega.Day < loc.previsaoEntrega.Day) { int dias = loc.previsaoEntrega.Day - loc.dataEntrega.Day; loc.custoVariavel = loc.veiculo.valorDiaria * dias; loc.totalLocacao -= loc.custoVariavel; if (loc.totalLocacao == 0) { loc.custoVariavel -= loc.veiculo.valorDiaria; loc.totalLocacao = loc.veiculo.valorDiaria; _locacaoDAO.Alterar(loc); /*MessageBox.Show($"Veículo entregue! Pela entrega antecipada de {dias} dias, " + * $"houve o desconto de R$ {lo.custoVariavel}", "Locação - WPF", * MessageBoxButton.OK, MessageBoxImage.Information);*/ } else { _locacaoDAO.Alterar(loc); //MessageBox.Show($"Veículo entregue! Pela entrega antecipada de {dias} dias, " + // $"houve o desconto de R$ {lo.custoVariavel}", "Locação - WPF", // MessageBoxButton.OK, MessageBoxImage.Information); } } else { _locacaoDAO.Alterar(loc); //MessageBox.Show($"Veículo entregue na data esperada!", "Locação - WPF", // MessageBoxButton.OK, MessageBoxImage.Information); } return(RedirectToAction("Devolucao", "Locacao")); }