示例#1
0
        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.");
            }
        }
示例#2
0
        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);
        }
示例#3
0
 /// <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.");
     }
 }