예제 #1
0
 /// <summary>
 /// consultar uma atribuicao
 /// </summary>
 /// <param name="idMotorista"></param>
 /// <param name="idGerente"></param>
 public static void ConsultarAtribuicaoBLL(int idMotorista, int idGerente)
 {
     if (VerificaNivelDeAcessoGerenteBLL(idGerente))
     {
         DadosVeiculos.ConsultarAtribuicao(idMotorista);
     }
 }
예제 #2
0
        /// <summary>
        /// Metodo em que o gerente reve as atribuicoes da frota
        /// </summary>
        /// <param name="idGerente"></param>
        /// <param name="idMotorista"></param>
        /// <returns></returns>
        public static bool ReverAtribuicaoBLL(int idGerente, int idMotorista)
        {
            if (VerificaNivelDeAcessoGerenteBLL(idGerente)) //gerente tem acesso/existe/ativo
            {
                DadosVeiculos.ListarAtribuicoes();          //visao geral das atribuicoes
                Console.WriteLine("");

                //verifica se a carta esta' em dia e se motorista existe, esta' no ativo
                if (MotoristaBLL.VerificaNivelDeAcessoMotoristaBLL(idMotorista))
                {
                    if (gBLL.VerificaSeValida(idMotorista))            //verifica se esta' valida
                    {
                        DadosVeiculos.ReverAtribuicao(idMotorista, 1); //valido
                    }
                    else
                    {
                        DadosVeiculos.ReverAtribuicao(idMotorista, 0); //invalido
                    }
                    return(true);                                      //operacao realizada corretamente
                }
                else
                {
                    return(false); // problemas no acesso do motorista
                }
            }
            else
            {
                return(false);   //problemas na autenticacao do gerente
            }
        }
예제 #3
0
 /// <summary>
 /// Este metodo permite ao gerente restaurar os dados das atribuicoes
 /// </summary>
 /// <param name="idGerente"></param>
 /// <returns>caminho do ficheiro ou erro</returns>
 public static string RestaurarBackupAtribuicoes(int idGerente)
 {
     if (GerenteOperacionalBLL.VerificaNivelDeAcessoGerenteBLL(idGerente))
     {
         return(DadosVeiculos.RestaurarBackupAtribuicoes());
     }
     else
     {
         return("Erro no Acesso!");
     }
 }
예제 #4
0
 /// <summary>
 /// Carregar os dados para memoria
 /// </summary>
 /// <returns></returns>
 public static string RestaurarBackupFrotaBLL(int idGerente)
 {
     if (GerenteOperacionalBLL.VerificaNivelDeAcessoGerenteBLL(idGerente))
     {
         return(DadosVeiculos.RestaurarBackupFrota());
     }
     else
     {
         return("Acesso Negado!");
     }
 }
예제 #5
0
 /// <summary>
 /// Guardar num ficheiro XML os dados das atribuicoes
 /// </summary>
 /// <param name="idGerente"></param>
 /// <returns>caminho do ficheiro ou erro</returns>
 public static string FazerBackupAtribuicoes(int idGerente)
 {
     if (GerenteOperacionalBLL.VerificaNivelDeAcessoGerenteBLL(idGerente)) //acesso?
     {
         return(DadosVeiculos.FazerBackupAtribuicoes());                   //faz backup
     }
     else
     {
         return("Erro no Acesso!");   //erro no acesso
     }
 }
예제 #6
0
 /// <summary>
 /// permite ao motorista consultar o pedido
 /// </summary>
 /// <param name="idMotorista"></param>
 public static void ConsultarMeuPedido(int idMotorista)
 {
     if (VerificaNivelDeAcessoMotoristaBLL(idMotorista))
     {
         DadosVeiculos.ConsultarAtribuicao(idMotorista);
     }
     else
     {
         Console.WriteLine("Acesso Negado!");
     }
 }
예제 #7
0
 /// <summary>
 /// metodo para listar
 /// </summary>
 /// <param name="idGerente"></param>
 /// <returns>true-> listou
 ///          false-> problema no acesso
 /// </returns>
 public static bool ListarFrotaVeiculosBLL(int idGerente)
 {
     if (GerenteOperacionalBLL.VerificaNivelDeAcessoGerenteBLL(idGerente))   // autorizado?
     {
         Console.WriteLine("\n# Listagem Frota");
         DadosVeiculos.ListarFrotaVeiculos();    //lista
         return(true);
     }
     else
     {
         return(false);   //sem acesso
     }
 }
예제 #8
0
 /// <summary>
 /// Dispensar veiculo
 /// </summary>
 /// <param name="matricula"></param>
 /// <param name="idGerente"></param>
 /// <returns>true-> removeu
 ///          false-> problema no acesso ou ja' existe
 /// </returns>
 public static bool RemoverVeiculoBLL(string matricula, int idGerente)
 {
     if (GerenteOperacionalBLL.VerificaNivelDeAcessoGerenteBLL(idGerente)) //autorizado?
     {
         if (VerificaSeExisteVeiculoBLL(matricula))                        //existe veiculo?
         {
             DadosVeiculos.RemoverVeiculo(matricula);                      //"remover" veiculo
             if (DadosVeiculos.TemMotoristaAtribuido(matricula))           //remover dependencias
             {
                 DadosVeiculos.LibertarVeiculoAtribuicoesII(matricula);    //atribuicao fica invalida e veiculo disponivel
             }
         }
         return(true);
     }
     else
     {
         return(false);   //falha na autenticacao
     }
 }
예제 #9
0
 /// <summary>
 /// Metodo que verifica se e' possivel inserir um veiculo
 /// </summary>
 /// <param name="v"></param>
 /// <param name="idGerente"></param>
 /// <returns>true -> registado com sucesso
 ///          false-> gerente nao tem acesso ou carro ja' registado
 /// </returns>
 public static bool RegistaVeiculoBLL(VeiculoBO v, int idGerente)
 {
     if (GerenteOperacionalBLL.VerificaNivelDeAcessoGerenteBLL(idGerente)) // tem acesso?
     {
         if (!DadosVeiculos.VerificaSeExiste(v.Matricula))                 //se nao existir
         {
             DadosVeiculos.RegistaVeiculo(v);                              //regista
             return(true);
         }
         else
         {
             return(false); // ja' existe
         }
     }
     else
     {
         return(false); //problemas na autenticacao
     }
 }
예제 #10
0
 /// <summary>
 /// dispensar um motorista
 /// </summary>
 /// <param name="idMotorista"></param>
 /// <param name="idRH"></param>
 /// <returns>true -> Registado com sucesso
 ///          false-> se RH nao tiver acesso ou o motorista nao existir
 /// </returns>
 public static bool DispensaMotoristaBLL(int idMotorista, int idRH)
 {
     if (RecursosHumanosBLL.VerificaNivelDeAcessoRHBLL(idRH))           // rh tem acesso?
     {
         if (VerificaSeExiste(idMotorista))                             // motorista existe?
         {
             DadosMotoristas.DispensaMotorista(idMotorista);            //dispensa
             if (DadosVeiculos.TemVeiculoAtribuido(idMotorista))        //verifica se tem veiculo ou atribuicao pendente
             {
                 DadosVeiculos.LibertarVeiculoAtribuicoes(idMotorista); //atribuicao fica invalida e veiculo disponivel
             }
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }
예제 #11
0
        /// <summary>
        /// Realizar pedido de um carro
        /// </summary>
        /// <param name="idMotorista"></param>
        /// <param name="matricula"></param>
        /// <returns></returns>
        public static bool PedirVeiculoBLL(int idMotorista, string matricula)
        {
            // Motorista tem que existir, estar no ativo e ter nivel de acesso
            //Matricula existir, e veiculo estar disponivel
            if ((MotoristaBLL.VerificaNivelDeAcessoMotoristaBLL(idMotorista) && VeiculoBLL.VerificaSeExisteVeiculoBLL(matricula)) &&
                (int)VeiculoBLL.DevolveEstadoVeiculo(matricula) == (int)VeiculoBO.ENUM_ESTADO_VEICULO.disponivel)
            {
                DateTime agora = DateTime.Now;

                AtribuicaoVeiculoBO pedido = new AtribuicaoVeiculoBO(DadosVeiculos.DevolveIdAtribuicao(),
                                                                     matricula,
                                                                     idMotorista,
                                                                     AtribuicaoVeiculoBO.ENUM_ESTADO_ATRIBUICAO.faltaRever);

                DadosVeiculos.NovaAtribuicao(agora, pedido);

                return(true);        //tudo correu bem
            }
            else
            {
                return(false); // !(Motorista tem que existir, estar no ativo e ter nivel de acesso)  ||
                               //  !(Matricula existir, e veiculo estar disponivel)
            }
        }
예제 #12
0
 /// <summary>
 /// metodo auxiliar que verifica a existencia de uma matricula
 /// </summary>
 /// <param name="matricula"></param>
 /// <returns>true -> existe
 ///          false-> nao existe
 /// </returns>
 public static bool VerificaSeExisteVeiculoBLL(string matricula)
 {
     return(DadosVeiculos.VerificaSeExiste(matricula));
 }
예제 #13
0
 /// <summary>
 /// Devolve novo id atribuicao
 /// </summary>
 /// <returns>int (novo id reserva)</returns>
 public static int DevolveNovoIdAtribuicao()
 {
     return(1 + DadosVeiculos.DelvolveIdReserva());
 }
예제 #14
0
 /// <summary>
 /// Metodo que devolve em inteiro, o estado do veiculo ((in)disponivel, atribuido)
 /// </summary>
 /// <param name="matricula"></param>
 /// <returns></returns>
 public static int DevolveEstadoVeiculo(string matricula)
 {
     return((int)DadosVeiculos.DevolveEstadoVeiculo(matricula));
 }