コード例 #1
0
 public Criar_Locação(Login atual)
 {
     setUsuárioAtual(atual);
     InitializeComponent();
     if (usuárioAtual.getPermissão() == Login.TipoDeUsuário.Cliente)
     {
         List <string> listaNomes = new List <string>();
         string        dadosCliente;
         Cliente       usuárioCliente;
         using (var ctx = new DadosContainer())
         {
             ctx.Attach(usuárioAtual);
             ctx.Attach(usuárioAtual.Cliente);
             usuárioCliente = usuárioAtual.Cliente;
             listaNomes.Add(usuárioCliente.Nome);
             if (usuárioAtual.Cliente.CPF.Length == 14)
             {
                 listaNomes.Add("CNPJ: " + usuárioCliente.CPF);
             }
             else
             {
                 listaNomes.Add("CPF: " + usuárioCliente.CPF);
             }
             listaNomes.Add("Telefones: " + usuárioCliente.Telefone);
             listaNomes.Add("CEP: " + usuárioCliente.Endereço.CEP);
             listaNomes.Add(usuárioCliente.Endereço.Cidade);
             dadosCliente = String.Join(" - ", listaNomes);
             listBoxCliente.Items.Add(dadosCliente);
             listBoxCliente.Items.Remove("Clique aqui para pesquisar o Cliente");
             idCliente = usuárioCliente.Id;
         }
     }
 }
コード例 #2
0
        private void listBoxCliente_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.listBoxCliente.Items[0].ToString() == "Clique aqui para pesquisar o Cliente")
            {
                List <string> listaNomes = new List <string>();
                string        dadosCliente;

                pCliente = new PesquisarCliente();
                pCliente.ShowDialog();
                Cliente clientePesquisado = pCliente.clientePesquisado;
                if (pCliente.clientePesquisado != null)
                {
                    using (var ctx = new DadosContainer())
                    {
                        ctx.Attach(pCliente.clientePesquisado);
                        listaNomes.Add(clientePesquisado.Nome);
                        if (clientePesquisado.CPF.Length == 14)
                        {
                            listaNomes.Add("CNPJ: " + clientePesquisado.CPF);
                        }
                        else
                        {
                            listaNomes.Add("CPF: " + clientePesquisado.CPF);
                        }
                        listaNomes.Add("Telefones: " + clientePesquisado.Telefone);
                        listaNomes.Add("CEP: " + clientePesquisado.Endereço.CEP);
                        listaNomes.Add(clientePesquisado.Endereço.Cidade);
                        dadosCliente = String.Join(" - ", listaNomes);
                        listBoxCliente.Items.Add(dadosCliente);
                        listBoxCliente.Items.Remove("Clique aqui para pesquisar o Cliente");
                        idCliente = pCliente.clientePesquisado.Id;
                    }
                }
            }
        }
コード例 #3
0
        private void ListBoxVeículo_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.ListBoxVeículo.Items[0].ToString() == "Clique aqui para pesquisar o Veículo")
            {
                pVeículo = new Pesquisa_Veículos(usuárioAtual);
                pVeículo.ShowDialog();
                Veículo veículoPesquisado = pVeículo.veículoPesquisado;
                if (veículoPesquisado.Cor != null)
                {
                    List <string> listaNomes = new List <string>();
                    string        dadosVeiculo;
                    using (var ctx = new DadosContainer())
                    {
                        ctx.Attach(pVeículo.veículoPesquisado);
                        listaNomes.Add(veículoPesquisado.Modelo.Fornecedor);
                        listaNomes.Add(veículoPesquisado.Modelo.Nome);
                        listaNomes.Add(veículoPesquisado.Cor);
                        listaNomes.Add(veículoPesquisado.Ano.ToString());
                        listaNomes.Add(veículoPesquisado.Quilometragem.ToString() + " Km");
                        dadosVeiculo = String.Join(" - ", listaNomes);

                        ListBoxVeículo.Items.Add(dadosVeiculo);
                        ListBoxVeículo.Items.Remove("Clique aqui para pesquisar o Veículo");
                        idVeículo = veículoPesquisado.Id;
                    }
                }
            }
        }
コード例 #4
0
 private void Button_Reservar_Click(object sender, EventArgs e)
 {
     using (var ctx = new DadosContainer())
     {
         if ((Login.TipoDeUsuário)usuárioAtual.Permissão == Login.TipoDeUsuário.Cliente)
         {
             //Lógica do cliente aqui
         }
         else
         {
             try
             {
                 Veículo aSerReservado = ctx.VeículoSet.Where(v => v.Id == idVeículo).First();
                 Cliente reservador    = ctx.ClienteSet.Where(c => c.Id == idCliente).First();
                 ctx.Attach(usuárioAtual);
                 Reserva reserva = new Reserva(aSerReservado, int.Parse(comboBoxDia.Text), int.Parse(comboBoxMês.Text),
                                               int.Parse(comboBoxAno.Text), int.Parse(comboBoxHora.Text), int.Parse(comboBoxMinuto.Text),
                                               reservador, usuárioAtual.Funcionário);
                 aSerReservado.setLocado(usuárioAtual.Funcionário, reservador,
                                         new DateTime(int.Parse(comboBoxAno.Text), int.Parse(comboBoxMês.Text), int.Parse(comboBoxDia.Text),
                                                      int.Parse(comboBoxHora.Text), int.Parse(comboBoxMinuto.Text), 0));
                 MessageBox.Show("A reserva foi realizada com sucesso");
             }
             catch
             {
                 MessageBox.Show("Cliente ou Veículo não encontrado(s) tente novamente");
             }
         }
         ctx.SaveChanges();
     }
 }
コード例 #5
0
 public void teste()
 {
     using (var ctx = new DadosContainer())
     {
         ctx.Attach(this);
         var hs = Histórico.ToList();
         Console.WriteLine(hs.Count);
         foreach (var h in hs)
         {
             Console.WriteLine(h.ToString());
         }
     }
 }
コード例 #6
0
 public void setManutenção(Login funcionárioQueMandou)
 {
     if (this.status == estado.Disponível)
     {
         this.status = estado.Manutenção;
         this.Estado = SerializarEstado();
         using (var ctx = new DadosContainer())
         {
             ctx.Attach(funcionárioQueMandou);
             var        hist = ctx.HistóricoSet.Where(h => h.Id == this.Histórico.Id).First();
             Manutenção m    = new Manutenção(DateTime.Now, "", funcionárioQueMandou.Funcionário, hist);
             //ctx.AddToManutençãoSet(m);
             ctx.SaveChanges();
         }
     }
 }
コード例 #7
0
 private void buttonLocar_Click(object sender, EventArgs e)
 {
     if ((Login.TipoDeUsuário) this.usuárioAtual.Permissão == Login.TipoDeUsuário.Cliente)
     {
         //Colocar lógica do cliente aqui
     }
     else
     {
         using (var ctx = new DadosContainer())
         {
             Veículo aSerLocado = ctx.VeículoSet.Where(v => v.Id == idVeículo).First();
             Cliente locador    = ctx.ClienteSet.Where(c => c.Id == idCliente).First();
             ctx.Attach(usuárioAtual);
             aSerLocado.setLocado(usuárioAtual.Funcionário, locador);
             ctx.SaveChanges();
         }
         this.Close();
     }
 }
コード例 #8
0
        private void Button_Cadastrar_Click(object sender, EventArgs e)
        {
            string[] modelo = new string[2];
            modelo = comboBox_Modelo.Text.Split('/');
            Modelo       selecionado;
            Veículo      novo;
            DialogResult dialogResult = MessageBox.Show("Ao encerrar esse processo os dados serão cadastrados. Você tem certeza que quer editar os dados?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dialogResult == DialogResult.Yes)
            {
                if (textBox_Cor.Text == "" || textBox_Ano.Text == "" || textBox_Categoria.Text == "")
                {
                    MessageBox.Show("Por favor digite todos os campos importantes", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (Convert.ToInt32(textBox_Ano.Text) > DateTime.Now.Year)
                {
                    MessageBox.Show("Por favor saia do futuro, digite um ano coerente", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (Convert.ToInt32(textBox_Ano.Text) < 1807)
                {
                    MessageBox.Show("O carro nem foi inventado nessa época. Por favor digite um ano coerente,", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    using (var ctx = new DadosContainer())
                    {
                        var mnome       = modelo[1];
                        var mfornecedor = modelo[0];
                        selecionado = ctx.ModeloSet.Where(m => m.Nome == mnome && m.Fornecedor == mfornecedor).FirstOrDefault();
                        novo        = new Veículo(textBox_Cor.Text, Convert.ToInt32(textBox_Ano.Text), textBox_Categoria.Text, 0, selecionado);
                        ctx.Attach(Relatório.singleton());
                        novo.Histórico.Relatório = Relatório.singleton();
                        ctx.SaveChanges();
                    }
                    this.Close();
                }
            }
        }
コード例 #9
0
        public void gerarRelatório(string option, DateTime data)
        {
            DocumentModel doc = new DocumentModel();
            Section       s   = new Section(doc);

            doc.Sections.Add(s);
            Paragraph intro = new Paragraph(doc);

            s.Blocks.Add(intro);
            Run introRun = new Run(doc, "Relatório de Veículos, com manutenções e locações, cada uma com suas respectivas datas.");

            intro.Inlines.Add(introRun);
            SpecialCharacter newline = new SpecialCharacter(doc, SpecialCharacterType.LineBreak);

            intro.Inlines.Add(newline);
            newline  = newline.Clone();
            introRun = new Run(doc, "Relatório da opção " + option +
                               option == "período" ? "no período dado por " + data.ToString() : "");
            intro.Inlines.Add(introRun);
            using (var ctx = new DadosContainer())
            {
                ctx.Attach(this);
                foreach (Histórico h in getHistóricos())
                {
                    Paragraph p = new Paragraph(doc);
                    s.Blocks.Add(p);
                    List <Locação> locs = h.getLocações().FindAll(l => comparaDatas(option, data, l.getInicio()) ||
                                                                  (l.acabou() && comparaDatas(option, data, l.getFim())));
                    List <Manutenção> mans = h.getManutenções().FindAll(m => comparaDatas(option, data, m.getInicio()) ||
                                                                        (m.acabou() && comparaDatas(option, data, m.getFim())));
                    Run run = new Run(doc, "Veículo " + h.Veículo.Id);
                    p.Inlines.Add(run);
                    p.Inlines.Add(newline);
                    newline = newline.Clone();
                    run     = new Run(doc, "Manutenções no período dado");
                    p.Inlines.Add(run);
                    p.Inlines.Add(newline);
                    newline = newline.Clone();
                    List <string> linhas;
                    foreach (Manutenção m in mans)
                    {
                        linhas = m.ToString().Split('\n').ToList();
                        foreach (string linha in linhas)
                        {
                            run = new Run(doc, linha);
                            p.Inlines.Add(run);
                            p.Inlines.Add(newline);
                            newline = newline.Clone();
                        }
                    }
                    run = new Run(doc, "Locações no período dado");
                    p.Inlines.Add(run);
                    p.Inlines.Add(newline);
                    newline = newline.Clone();
                    foreach (Locação l in locs)
                    {
                        linhas = l.ToString().Split('\n').ToList();
                        foreach (string linha in linhas)
                        {
                            run = new Run(doc, linha);
                            p.Inlines.Add(run);
                            p.Inlines.Add(newline);
                            newline = newline.Clone();
                        }
                    }
                }
            }
            doc.Save("relatorio.pdf");
        }