示例#1
0
        private void btnVoltar_Click(object sender, EventArgs e)
        {
            if (ViagemSmartFortwoVolta.Piloto == null)
            {
                MessageBox.Show("Necessário definir piloto!");
                return;
            }

            //chamar business
            var retornoMensagem = SqliteDataAcess.ValidarViagemVolta(ViagemSmartFortwoVolta);

            if (!string.IsNullOrEmpty(retornoMensagem))
            {
                MessageBox.Show(retornoMensagem);
                foreach (var row in dataGridAviao.Rows.Cast <DataGridViewRow>())
                {
                    row.Cells["colColorAviao"].Style.BackColor = Color.White;
                }
                return;
            }
            SqliteDataAcess.RealizaViagemParaTerminal(ViagemSmartFortwoVolta);

            ViagemSmartFortwoVolta = new ViagemSmartFortwo();
            AtualizaGrids();
            VerificaoOndeEstaCarroEhabilitaCampos();
        }
示例#2
0
        private void btnEmbarcar_Click(object sender, EventArgs e)
        {
            if (ViagemSmartFortwo.Piloto == null)
            {
                MessageBox.Show("Necessário definir piloto!");
                return;
            }

            var retornoMensagem = CodeITAirlinesBusiness.ValidarViagemIda(ViagemSmartFortwo);

            if (!string.IsNullOrEmpty(retornoMensagem))
            {
                MessageBox.Show(retornoMensagem);
                foreach (var row in dataGridTerminal.Rows.Cast <DataGridViewRow>())
                {
                    row.Cells["colColor"].Style.BackColor = Color.White;
                }
                return;
            }
            CodeITAirlinesBusiness.RealizaViagemParaAviao(ViagemSmartFortwo);

            ViagemSmartFortwo = new ViagemSmartFortwo();
            AtualizaGrids();
            VerificaoOndeEstaCarroEhabilitaCampos();
        }
示例#3
0
        public string ValidarViagemIda(ViagemSmartFortwo ViagemSmartFortwo)
        {
            const int SITUACAO_SOCIAL_RECLUSAO   = 2;
            const int HIERARQUIA_GRUPOTRIPULACAO = 1;

            var listaPessoas    = ConsultarPessoasFisicas();
            var retornoTerminal = listaPessoas.Where(x => x.SituacaoEmbarque == (int)SituacaoEmbarque.Aguardando);
            var retornoAviao    = listaPessoas.Where(x => x.SituacaoEmbarque == (int)SituacaoEmbarque.Embarcado);

            retornoTerminal = retornoTerminal.Where(x => x.Id != ViagemSmartFortwo.Piloto.Id);

            if (ViagemSmartFortwo.Passageiro != null)
            {
                if (!retornoAviao.Any(x => x.Funcao.Hierarquia == HIERARQUIA_GRUPOTRIPULACAO) && ViagemSmartFortwo.Passageiro.SituacaoSocialId == SITUACAO_SOCIAL_RECLUSAO)
                {
                    return("Para realizar esta viagem, é necessário que um dos líderes da Tripulação Técnica ou de Cabine esteja no Avião!");
                }

                retornoTerminal = retornoTerminal.Where(x => x.Id != ViagemSmartFortwo.Passageiro.Id);
            }

            if (retornoTerminal.Count() == 2)
            {
                return(ValidarPolitica(retornoTerminal.FirstOrDefault(), retornoTerminal.LastOrDefault()));
            }
            return(null);
        }
示例#4
0
        public void Embarcar(ViagemSmartFortwo viagemSmartFortwo)
        {
            const int EMBARCADO    = 1;
            var       pilotoId     = viagemSmartFortwo.Piloto.Id;
            var       passageiroId = viagemSmartFortwo.Passageiro.Id;

            cnn.Execute(@"UPDATE Terminal SET 
                          Embarcado = @EMBARCADO 
                          WHERE 
                            PessoaFisicaId in (@PilotoId, 
                                            @PassageiroId)",
                        new { EMBARCADO, pilotoId, passageiroId });
        }
示例#5
0
        public void RealizaViagemParaTerminal(ViagemSmartFortwo ViagemSmartFortwo)
        {
            ViagemSmartFortwo.DataRealizada = DateTime.Now;

            cnn.Execute(@"INSERT INTO ViagemSmartFortwo 
                        (PilotoId, PassageiroId, DestinoAviao, DestinoTerminal, DataRealizada) values 
                        (@PilotoId, @PassageiroId, 0, 1,  @DataRealizada)", ViagemSmartFortwo);

            cnn.Execute("UPDATE PessoaFisica SET SituacaoEmbarque = 1 where  Id = @Id", ViagemSmartFortwo.Piloto);

            if (ViagemSmartFortwo.Passageiro != null)
            {
                cnn.Execute("UPDATE PessoaFisica SET SituacaoEmbarque = 1 where  Id = @Id", ViagemSmartFortwo.Passageiro);
            }
        }
示例#6
0
        public static void Embarcar(ViagemSmartFortwo viagemSmartFortwo)
        {
            const int EMBARCADO    = 1;
            var       pilotoId     = viagemSmartFortwo.Piloto.Id;
            var       passageiroId = viagemSmartFortwo.Passageiro.Id;

            using (IDbConnection cnn = new SQLiteConnection(LoadConnection()))
            {
                cnn.Execute(@"UPDATE Terminal SET 
                                     Embarcado = @EMBARCADO 
                              WHERE 
                                     PessoaFisicaId in (@PilotoId, 
                                                        @PassageiroId)",
                            new { EMBARCADO, pilotoId, passageiroId });
            }
        }
示例#7
0
        public static void RealizaViagemParaAviao(ViagemSmartFortwo ViagemSmartFortwo)
        {
            ViagemSmartFortwo.DataRealizada = DateTime.Now;
            using (IDbConnection cnn = new SQLiteConnection(LoadConnection()))
            {
                cnn.Execute(@"INSERT INTO ViagemSmartFortwo 
                            (PilotoId, PassageiroId, DestinoAviao, DestinoTerminal, DataRealizada) values 
                            (@PilotoId, @PassageiroId, 1, 0,  @DataRealizada)", ViagemSmartFortwo);

                cnn.Execute("UPDATE PessoaFisica SET SituacaoEmbarque = 2 where  Id = @Id", ViagemSmartFortwo.Piloto);

                if (ViagemSmartFortwo.Passageiro != null)
                {
                    cnn.Execute("UPDATE PessoaFisica SET SituacaoEmbarque = 2 where  Id = @Id", ViagemSmartFortwo.Passageiro);
                }
            }
        }