private void btnOpen_Click(object sender, EventArgs e) { PedidoLocacao _pedido = null; if (txtReceiptNumber.Text == "") { MessageBox.Show("Informe o número do recibo"); return; } NumeroRecibo = int.Parse(txtReceiptNumber.Text); if (listaPedidosLocacao.TryGetValue(NumeroRecibo, out _pedido)) { txtNumeroEmpregado.Text = _pedido.NumeroEmpregado; txtEmployeeNumber_Leave(sender, e); cbxOrderStatus.Text = _pedido.StatusPedido; txtTagNumber.Text = _pedido.NumeroCarro; txtTagNumber_Leave(sender, e); txtNumeroRegistroCNH.Text = _pedido.NumeroCNHCliente; txtNomeCliente.Text = _pedido.NomeCliente; txtEnderecoCliente.Text = _pedido.EnderecoCliente; txtCidadeCliente.Text = _pedido.CidadeCliente; cboClientesEstados.Text = _pedido.EstadoCliente; txtCepCliente.Text = _pedido.CepCliente; cbxCarConditions.Text = _pedido.EstadoDoVeiculo; cbxTankLevels.Text = _pedido.NivelTanque; txtMileageStart.Text = _pedido.MilhagemInicial.ToString(); txtMileageEnd.Text = _pedido.MilhagemFinal.ToString(); dtpStartDate.Value = _pedido.DataInicio; dtpEndDate.Value = _pedido.DataFinal; txtDays.Text = _pedido.Dias.ToString(); txtRateApplied.Text = _pedido.TaxaAplicada.ToString("F"); txtSubTotal.Text = _pedido.SubTotal.ToString("F"); txtTaxRate.Text = _pedido.TaxaImposto.ToString("F"); txtTaxAmount.Text = _pedido.ValorImposto.ToString("F"); txtOrderTotal.Text = _pedido.ValorTotal.ToString("F"); } else { MessageBox.Show("Não existe pedido de locação com este número de recibo."); return; } }
private void btnSave_Click(object sender, EventArgs e) { if (txtReceiptNumber.Text == "") { MessageBox.Show("O número do registro esta ausente."); return; } // Não salva se não sabe que processou o pedido if (txtNumeroEmpregado.Text == "") { MessageBox.Show("Informe o numero do empregado que " + "processou este pedido."); return; } // Não salva o pedido se não sabe quem é o locador if (txtNumeroRegistroCNH.Text == "") { MessageBox.Show("Informe o numero de registro da carteira de habilitação " + "do cliente que esta alugando o carro"); return; } // não salva o pedido de locação se não sabemos qual carro vai ser locado if (txtTagNumber.Text == "") { MessageBox.Show("Informe o numero de registro do carro " + " que esta sendo alugado"); return; } // Cria o numero do pedido baseado na informação do formulãrio PedidoLocacao pedidoLocacaoAtual = new PedidoLocacao(); pedidoLocacaoAtual.NumeroEmpregado = txtNumeroEmpregado.Text; pedidoLocacaoAtual.StatusPedido = cbxOrderStatus.Text; pedidoLocacaoAtual.NumeroCarro = txtTagNumber.Text; pedidoLocacaoAtual.NumeroCNHCliente = txtNumeroRegistroCNH.Text; pedidoLocacaoAtual.NomeCliente = txtNomeCliente.Text; pedidoLocacaoAtual.EnderecoCliente = txtEnderecoCliente.Text; pedidoLocacaoAtual.CidadeCliente = txtCidadeCliente.Text; pedidoLocacaoAtual.EstadoCliente = cboClientesEstados.Text; pedidoLocacaoAtual.CepCliente = txtCepCliente.Text; pedidoLocacaoAtual.EstadoDoVeiculo = cbxCarConditions.Text; pedidoLocacaoAtual.NivelTanque = cbxTankLevels.Text; try { pedidoLocacaoAtual.MilhagemInicial = int.Parse(txtMileageStart.Text); } catch (FormatException) { MessageBox.Show("Valor da milhagem inicial inválida"); } try { pedidoLocacaoAtual.MilhagemFinal = int.Parse(txtMileageEnd.Text); } catch (FormatException) { MessageBox.Show("Valor da milhagem final inválida"); } try { pedidoLocacaoAtual.DataInicio = dtpStartDate.Value; } catch (FormatException) { MessageBox.Show("Data de início inválida"); } try { pedidoLocacaoAtual.DataFinal = dtpEndDate.Value; } catch (FormatException) { MessageBox.Show("Data final inválida"); } try { pedidoLocacaoAtual.Dias = int.Parse(txtDays.Text); } catch (FormatException) { MessageBox.Show("Número de dias inválidos"); } try { pedidoLocacaoAtual.TaxaAplicada = double.Parse(txtRateApplied.Text); } catch (FormatException) { MessageBox.Show("Valor da taxa inválida"); } pedidoLocacaoAtual.SubTotal = double.Parse(txtSubTotal.Text); try { pedidoLocacaoAtual.TaxaImposto = double.Parse(txtTaxRate.Text); } catch (FormatException) { MessageBox.Show("Valor do imposto invlálido"); } pedidoLocacaoAtual.ValorImposto = double.Parse(txtTaxAmount.Text); pedidoLocacaoAtual.ValorTotal = double.Parse(txtOrderTotal.Text); // a ordem de locacao esta pronta // Pega o numero de recibo try { NumeroRecibo = int.Parse(txtReceiptNumber.Text); } catch (FormatException) { MessageBox.Show("Informe o número do recibo"); } // Pega alisa de pedidos de locação e // verifica se ja existe uma locacao com o numero de recibo if (listaPedidosLocacao.ContainsKey(NumeroRecibo) == true) { // atualiza o valor listaPedidosLocacao[NumeroRecibo] = pedidoLocacaoAtual; } else { // Se não tem pedido com esse numero // cria um novo pedido de locação listaPedidosLocacao.Add(NumeroRecibo, pedidoLocacaoAtual); } // A lista de pedidos de locacao string strNomeArquivo = @"C:\NovaLoc_Carros\PedidosLocacao.cro"; FileStream bcrStream = new FileStream(strNomeArquivo, FileMode.Create, FileAccess.Write, FileShare.Write); BinaryFormatter bcrBinary = new BinaryFormatter(); try { bcrBinary.Serialize(bcrStream, listaPedidosLocacao); } finally { bcrStream.Close(); } }