private void ConfirmarRota() { bool sucesso; try { RotaDAO rotaDao = new RotaDAO(); MovimentoDAO movimentoDao = new MovimentoDAO(); MovimentoRotaDAO movimentoRotaDao = new MovimentoRotaDAO(); Rota novaRota = instanciarRota(); MovimentoRota novoMovimentoRota = new MovimentoRota(); Movimento novoMovimento = new Movimento(); using (TransactionScope scope = new TransactionScope()) { try { rotaDao.Add(novaRota); rotaDao.SaveChanges(); //instancia o movimento novoMovimento.COD_TIPO_MOVIMENTO = 1; novoMovimento.MOMENTO = novaRota.DATA_INICIO; novoMovimento.VALOR = novaRota.FUNDO; //salva o movimento movimentoDao.Add(novoMovimento); movimentoDao.SaveChanges(); //instancia movimento_rota novoMovimentoRota.COD_MOVIMENTO = novoMovimento.COD_MOVIMENTO; novoMovimentoRota.COD_ROTA = novaRota.COD_ROTA; //salva movimento_rota movimentoRotaDao.Add(novoMovimentoRota); movimentoRotaDao.SaveChanges(); sucesso = true; } catch { sucesso = false; throw new Exception("Erro ao criar rota."); } if (sucesso) { scope.Complete(); } } } catch { throw new Exception("Erro ao criar rota."); } }
private Rota instanciarRota() { Rota rota = new Rota(); RotaDAO rotaDao = new RotaDAO(); rota.COD_VENDEDOR = ((Vendedor)cmbVendedor.SelectedItem).COD_VENDEDOR; rota.DATA_INICIO = DateTime.Parse(lblDataInicio.Text); rota.DATA_FIM = DateTime.MinValue; rota.FUNDO = decimal.Parse(txtFundo.Text.Replace('.', ',')); rota.CONCLUIDA = false; return(rota); }
/// <summary> /// Método que finaliza a rota zerando o fundo. /// </summary> public void FecharRota() { try { _rotaDAO = new RotaDAO(); _rota = _rotaDAO.Find(r => r.COD_ROTA == _rota.COD_ROTA).First <Rota>(); _rota.DATA_FIM = DateTime.Now; _rota.CONCLUIDA = true; _rota.FUNDO = 0; _rotaDAO.SaveChanges(); } catch { throw new Exception("Não foi possível finalizar rota."); } }