Ejemplo n.º 1
0
        private void gridRetirados_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.ColumnIndex == 0)
            {
                Message msg = new Message("Você tem certeza que deseja recadastrar a chave?", "", "info", "escolha");
                msg.ShowDialog();

                string proxCod = cadChave.proximoCodigo();



                if (msg.DialogResult == DialogResult.Yes)
                {
                    database.update(string.Format("" +
                                                  " UPDATE chave " +
                                                  " SET situacao = 'DISPONIVEL', localizacao = 'IMOBILIARIA', cod_chave = '{0}' " +
                                                  " WHERE indice_chave = '{1}'", proxCod, codigoChaveAtual));


                    Message popup = new Message("A chave foi cadastrada com o código " + proxCod + "!" +
                                                "\n Deseja imprimir a etiqueta da chave?", "", "sucesso", "escolha");
                    popup.ShowDialog();

                    if (popup.DialogResult == DialogResult.Yes)
                    {
                        try
                        {
                            ImprimirEtiquetas imprimir = new ImprimirEtiquetas(
                                database.selectScalar(string.Format("SELECT indice_chave" +
                                                                    " FROM chave" +
                                                                    " WHERE cod_chave = '{0}'", proxCod)));


                            imprimir.ShowDialog();
                        }
                        catch (Exception error)
                        {
                            Message erroMsg = new Message("Não foi possível imprimir a etiqueta. \n\nERRO: " + error.Message
                                                          , "", "erro", "confirma");
                            erroMsg.ShowDialog();
                        }
                    }



                    database.delete(string.Format("" +
                                                  " DELETE FROM  retirado " +
                                                  " WHERE cod_retirado = '{0}'", gridRetirados.CurrentRow.Cells[5].Value.ToString()));



                    atualizarGrid();
                }
            }
        }
Ejemplo n.º 2
0
        private void btnPrintTags_Click(object sender, EventArgs e)
        {
            ImprimirEtiquetas imprimirTags = new ImprimirEtiquetas(gridChaves.Rows[gridChaves.CurrentRow.Index].Cells[5].Value.ToString());

            imprimirTags.ShowDialog();
        }
        public void reciboReserva(PictureBox picbox, string codigo)
        {
            ImprimirEtiquetas usarMetodo = new ImprimirEtiquetas();

            Bitmap   img    = new Bitmap(usarMetodo.cmToPixel(21), usarMetodo.cmToPixel(29.7));
            Graphics drawer = Graphics.FromImage(img);

            drawer.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
            drawer.Clear(Color.White);

            //========================== BUSCAR DADOS PARA IMPRESSÃO =======================

            DataTable tabelaDadosChaves  = new DataTable();
            DataTable tabelaDadosReserva = new DataTable();

            tabelaDadosChaves  = buscarDadosChavesReserva(codigo);
            tabelaDadosReserva = buscarDadosReserva(codigo);

            string   codReserva  = tabelaDadosReserva.Rows[0][0].ToString();
            string   nome        = tabelaDadosReserva.Rows[0][1].ToString();
            string   contato     = tabelaDadosReserva.Rows[0][2].ToString();
            DateTime dataReserva = (DateTime)tabelaDadosReserva.Rows[0][3];
            string   funcionario = tabelaDadosReserva.Rows[0][4].ToString();

            Pen pen = new Pen(new SolidBrush(Color.Black), 1);

            //============== RETÂNGULO DA BASE ===============

            Point     pBase    = new Point(30, 10);
            Size      sBase    = new Size(usarMetodo.cmToPixel(5.8), usarMetodo.cmToPixel(7.5));
            Rectangle rectBase = new Rectangle(pBase, sBase);

            //MessageBox.Show(codigo);
            int cont = 0;

            foreach (DataRow row in tabelaDadosChaves.Rows)
            {
                if (cont == 0)
                {
                    drawer.DrawRectangle(pen, rectBase);
                }
                else if (cont % 3 == 0)
                {
                    pBase = new Point(30, pBase.Y + sBase.Height + 40);
                    drawer.DrawRectangle(pen, rectBase);
                }
                else
                {
                    pBase = new Point(pBase.X + sBase.Width + 40, pBase.Y);

                    drawer.DrawRectangle(pen, rectBase);
                }



                //============= HEADER ================

                Point     pHeader    = new Point(pBase.X, pBase.Y);
                Size      sHeader    = new Size(sBase.Width, usarMetodo.cmToPixel(2.2));
                Rectangle rectHeader = new Rectangle(pHeader, sHeader);


                drawer.DrawRectangle(pen, rectHeader);

                //================ IMAGEM ==================

                Point     pImagem    = new Point(pHeader.X + 40, pHeader.Y + 4);
                Size      sImagem    = new Size(sHeader.Width - 80, 60);
                Rectangle rectImagem = new Rectangle(pImagem, sImagem);


                //drawer.DrawRectangle(pen, rectImagem);

                Image imagem = Properties.Resources.LogoRelatorio;

                drawer.DrawImage(imagem, rectImagem);


                //============== TEXT ================
                Point pTexto = new Point(pHeader.X + 10, pImagem.Y + sImagem.Height - 5);
                Size  sTexto = new Size(sHeader.Width - 20, 35);

                Rectangle rectText = new Rectangle(pTexto, sTexto);

                //drawer.DrawRectangle(pen, rectText);

                StringFormat sfTextoHeader = new StringFormat();
                sfTextoHeader.Alignment = StringAlignment.Center;

                drawer.DrawString("Rua Fernando Camargo, 587\n  Centro - Americana/SP - 13465-020", new Font("Arial", 8), new SolidBrush(Color.Gray), rectText, sfTextoHeader);

                Font         fontTitulo   = new Font("Arial", 10, FontStyle.Bold);
                Font         fontConteudo = new Font("Arial", 10, FontStyle.Regular);
                StringFormat sfConteudo1  = new StringFormat();
                StringFormat sfConteudo2  = new StringFormat();
                sfConteudo2.LineAlignment = StringAlignment.Center;
                StringFormat sfTitulo1 = new StringFormat();
                StringFormat sfTitulo2 = new StringFormat();
                sfTitulo2.LineAlignment = StringAlignment.Center;


                //============= BASE DO CONTEUDO =======================
                Point     pBaseConteudo    = new Point(pHeader.X, pHeader.Y + sHeader.Height);
                Size      sBaseConteudo    = new Size(sHeader.Width, sBase.Height - sHeader.Height);
                Rectangle rectBaseConteudo = new Rectangle(pBaseConteudo, sBaseConteudo);

                drawer.DrawRectangle(pen, rectBaseConteudo);

                //============ Título =================
                Point     pTitulo    = new Point(pBaseConteudo.X + 10, pBaseConteudo.Y);
                Size      sTitulo    = new Size(sBaseConteudo.Width - 20, 25);
                Rectangle rectTitulo = new Rectangle(pTitulo, sTitulo);

                //drawer.DrawRectangle(pen, rectTitulo);
                drawer.DrawString(string.Format("RESERVA DE CHAVE ({0})", codReserva), fontTitulo, new SolidBrush(Color.Black), rectTitulo, new StringFormat()
                {
                    Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center
                });

                //=============== NOME DA PESSOA ================
                Point     pNomePessoa    = new Point(pTitulo.X, pTitulo.Y + sTitulo.Height + 3);
                Size      sNomePessoa    = new Size(sTitulo.Width, 40);
                Rectangle rectNomePessoa = new Rectangle(pNomePessoa, sNomePessoa);

                Point     pNomePessoaCont    = new Point(pNomePessoa.X + 45, pNomePessoa.Y);
                Size      sNomePessoaCont    = new Size(sNomePessoa.Width - 45, sNomePessoa.Height);
                Rectangle rectNomePessoaCont = new Rectangle(pNomePessoaCont, sNomePessoaCont);

                drawer.DrawRectangle(pen, rectNomePessoa);
                //drawer.DrawRectangle(pen, rectNomePessoaCont);
                drawer.DrawString("Nome:", fontTitulo, new SolidBrush(Color.Black), rectNomePessoa, sfTitulo1);
                drawer.DrawString(nome, fontConteudo, new SolidBrush(Color.DarkGray), rectNomePessoaCont, sfConteudo1);
                //=============== CONTATO DA PESSOA ================
                Point     pContato    = new Point(pNomePessoa.X, pNomePessoa.Y + sNomePessoa.Height);
                Size      sContato    = new Size(sNomePessoa.Width, 25);
                Rectangle rectContato = new Rectangle(pContato, sContato);

                drawer.DrawRectangle(pen, rectContato);
                drawer.DrawString("Contato:", fontTitulo, new SolidBrush(Color.Black), rectContato, sfTitulo2);
                drawer.DrawString("               " + contato, fontConteudo, new SolidBrush(Color.DarkGray), rectContato, sfConteudo2);

                //=============== CÓDIGO DO IMÓVEL ================
                Point     pCodImob    = new Point(pContato.X, pContato.Y + sContato.Height);
                Size      sCodImob    = new Size(sContato.Width, sContato.Height);
                Rectangle rectCodImob = new Rectangle(pCodImob, sCodImob);

                drawer.DrawRectangle(pen, rectCodImob);
                drawer.DrawString("Cód. Imob:", fontTitulo, new SolidBrush(Color.Black), rectCodImob, sfTitulo2);
                drawer.DrawString("                   " + row[1].ToString(), fontConteudo, new SolidBrush(Color.DarkGray), rectCodImob, sfConteudo2);

                //=============== CÓDIGO DA CHAVE ================
                Point     pCodChave    = new Point(pCodImob.X, pCodImob.Y + sCodImob.Height);
                Size      sCodChave    = new Size(sCodImob.Width, sCodImob.Height);
                Rectangle rectCodChave = new Rectangle(pCodChave, sCodChave);

                drawer.DrawRectangle(pen, rectCodChave);
                drawer.DrawString("Cód. Chave:", fontTitulo, new SolidBrush(Color.Black), rectCodChave, sfTitulo2);
                drawer.DrawString("                      " + row[0].ToString(), fontConteudo, new SolidBrush(Color.DarkGray), rectCodChave, sfConteudo2);

                //=============== DATA DE RESERVA ================
                Point     pDataReserva    = new Point(pCodChave.X, pCodChave.Y + sCodChave.Height);
                Size      sDataReserva    = new Size(sCodChave.Width, sCodChave.Height);
                Rectangle rectDataReserva = new Rectangle(pDataReserva, sDataReserva);

                drawer.DrawRectangle(pen, rectDataReserva);
                drawer.DrawString("Data Reserva:", fontTitulo, new SolidBrush(Color.Black), rectDataReserva, sfTitulo2);
                drawer.DrawString("                         " + dataReserva.ToString("dd/MM/yyyy"), fontConteudo, new SolidBrush(Color.DarkGray), rectDataReserva, sfConteudo2);

                //=============== ATENDENTE ================
                Point     pAtendente    = new Point(pDataReserva.X, pDataReserva.Y + sDataReserva.Height);
                Size      sAtendente    = new Size(sDataReserva.Width, sDataReserva.Height);
                Rectangle rectAtendente = new Rectangle(pAtendente, sAtendente);

                drawer.DrawRectangle(pen, rectAtendente);
                drawer.DrawString("Atendente:", fontTitulo, new SolidBrush(Color.Black), rectAtendente, sfTitulo2);
                drawer.DrawString("                   " + funcionario, fontConteudo, new SolidBrush(Color.DarkGray), rectAtendente, sfConteudo2);



                cont++;
            }

            picbox.BackgroundImage = img;
        }
        public void reciboEmprestimo(PictureBox picBox, string codigo, int vias)
        {
            //string caminho = Environment.CurrentDirectory + @"\temp\recibo-" +
            //    DateTime.Now.ToString("yyyy-MM-dd hh.mm.ss") + ".pdf";


            //Document doc = new Document(PageSize.A4, 5, 5, 5, 0);
            //PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(caminho, FileMode.Create));

            //doc.Open();

            ////Rectangle rectBase = new Rectangle(10, 785, 585, 830);
            ////rectBase.Border = Rectangle.BOX;
            ////rectBase.BorderWidth = 2;
            ////rectBase.BorderColor = BaseColor.DARK_GRAY;

            ////doc.Add(rectBase);

            //PdfPTable tableBaseHeader = new PdfPTable(2);
            //tableBaseHeader.WidthPercentage = 100;
            //tableBaseHeader.SetWidths(new float[] { 1, 3.6f });
            //tableBaseHeader.DefaultCell.BorderColorBottom = BaseColor.BLACK;

            //iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(Properties.Resources.LogoRelatorio, BaseColor.WHITE, false);


            //PdfPCell logo = new PdfPCell(img);
            //logo.BackgroundColor = BaseColor.WHITE;
            //logo.BorderColor = BaseColor.WHITE;

            //tableBaseHeader.AddCell(logo);

            //doc.Add(tableBaseHeader);
            //doc.Add(new Paragraph("oi"));
            //doc.Close();

            //showDocument(caminho);

            DataTable tabelaEmprestimo = new DataTable();

            tabelaEmprestimo = buscarDadosEmprestimo(codigo);

            DateTime dateRet         = new DateTime();
            string   dataRetirada    = "";
            string   funcionario     = "";
            string   cliente         = "";
            string   contatoCliente  = "";
            string   docCliente      = "";
            string   enderecoCliente = "";

            foreach (DataRow row in tabelaEmprestimo.Rows)
            {
                dateRet         = (DateTime)row[0];
                dataRetirada    = dateRet.ToString("dd/MM/yyyy HH:mm:ss");
                funcionario     = row[1].ToString();
                cliente         = row[2].ToString();
                contatoCliente  = row[3].ToString();
                docCliente      = row[4].ToString() + " " + row[6].ToString();
                enderecoCliente = row[5].ToString();
            }

            DataTable tabelaChaves = new DataTable();

            tabelaChaves = buscarDadosChaves(codigo);

            string codigos      = "\n";
            string enderecos    = "\n";
            string qtdChaves    = "\n";
            string qtdControles = "\n";

            foreach (DataRow row in tabelaChaves.Rows)
            {
                codigos      += row[0].ToString() + "\n\n";
                enderecos    += row[1].ToString() + "\n\n";
                qtdChaves    += row[2].ToString() + "\n\n";
                qtdControles += row[3].ToString() + "\n\n";
            }

            if (tabelaChaves.Rows.Count < 5)
            {
                codigos += "\n\n\n\n\n";
            }

            ImprimirEtiquetas usarMetodo = new ImprimirEtiquetas();



            Bitmap   img    = new Bitmap(usarMetodo.cmToPixel(21), usarMetodo.cmToPixel(29.7));
            Graphics drawer = Graphics.FromImage(img);

            drawer.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;

            drawer.Clear(Color.White);


            Pen pen = new Pen(Color.Black, 1);


            //>>>>>>>>>>>>>>> RETANGULO BASE <<<<<<<<<<<<<<<<<<<<<<<<
            Point pBase = new Point(5, 5);
            Size  sBase = new Size(usarMetodo.cmToPixel(20), usarMetodo.cmToPixel(15));

            for (int i = 0; i < vias; i++)
            {
                //if (i == 1)
                //{
                //    pBase = new Point(pBase.X, pBase.Y + sBase.Height + 50);
                //    sBase = new Size(sBase.Width, sBase.Height - 120);
                //}

                Rectangle rectBase = new Rectangle(pBase, sBase);



                drawer.DrawRectangle(new Pen(Color.White, 1), rectBase);

                //>>>>>>>>>>>>>> RETANGULO HEADER <<<<<<<<<<<<<<<<<<<<<<
                Point     pHeader    = new Point(pBase.X, pBase.Y);
                Size      sHeader    = new Size(sBase.Width, usarMetodo.cmToPixel(1.5));
                Rectangle rectHeader = new Rectangle(pHeader, sHeader);

                drawer.DrawRectangle(pen, rectHeader);

                //>>>>>>>>>>>>>>>>>>>> RETANGULO LOGO <<<<<<<<<<<<<<<<<<<<<<<<
                Point     pLogo    = new Point(pHeader.X + 6, pHeader.Y + 5);
                Size      sLogo    = new Size(usarMetodo.cmToPixel(3), sHeader.Height - 20);
                Rectangle rectLogo = new Rectangle(pLogo, sLogo);

                //drawer.DrawRectangle(pen, rectLogo);
                drawer.DrawImage(Properties.Resources.logoSbernardo, rectLogo);

                //>>>>>>>>>>>>>>> RETANGULO TEXTO HEADER  1 <<<<<<<<<<<<<<<<
                Point     pTextHeader1    = new Point(pLogo.X + sLogo.Width + 9, pLogo.Y);
                Size      sTextHeader1    = new Size(sHeader.Width - sLogo.Width - 250, sLogo.Height + 10);
                Rectangle rectTextHeader1 = new Rectangle(pTextHeader1, sTextHeader1);

                // drawer.DrawRectangle(pen, rectTextHeader1);

                //>>>>>>>>>>>>>> Texto Header <<<<<<<<<<<<<<
                Font   fonteHeader1 = new Font("Consolas", 9, FontStyle.Bold);
                string textoHeader1 = "IMOBILIÁRIA SÃO BERNARDO LTDA\n" +
                                      "Rua Fernando Camargo, 587 - Centro - Americana/SP\n" +
                                      "(19) 3406-2423 / (19) 9 9110-8041";
                StringFormat formatTxtHeader = new StringFormat();
                formatTxtHeader.LineAlignment = StringAlignment.Center;

                drawer.DrawString(textoHeader1, fonteHeader1, new SolidBrush(Color.Black), rectTextHeader1, formatTxtHeader);

                //drawer.DrawRectangle(pen, rectTextHeader1);

                //>>>>>>>>>>>>>>> RETANGULO TEXTO HEADER 2 <<<<<<<<<<<<<<<<
                Point     pTextHeader2    = new Point(pTextHeader1.X + sTextHeader1.Width + 5, pTextHeader1.Y);
                Size      sTextHeader2    = new Size(sHeader.Width - (sLogo.Width + sTextHeader1.Width) - 25, sTextHeader1.Height);
                Rectangle rectTextHeader2 = new Rectangle(pTextHeader2, sTextHeader2);

                //drawer.DrawRectangle(pen, rectTextHeader2);

                //>>>>>>>>>>>>>>>>> Divisória <<<<<<<<<<<<<<<<<<<<


                drawer.DrawLine(pen, pTextHeader1.X + sTextHeader1.Width + 5, pTextHeader1.Y + 8, pTextHeader1.X + sTextHeader1.Width + 5,
                                pTextHeader1.Y + sTextHeader1.Height - 8);

                //>>>>>>>>>>>>>> Texto Header 2<<<<<<<<<<<<<<
                Font   fonteHeader2 = new Font("Consolas", 8, FontStyle.Bold);
                string textoHeader2 = string.Format("Funcionário(a): {0}\n\n" +
                                                    "Gerado em: {1}", funcionario, dataRetirada);
                StringFormat formatTxtHeader2 = new StringFormat();
                formatTxtHeader2.LineAlignment = StringAlignment.Center;
                formatTxtHeader2.Alignment     = StringAlignment.Far;

                drawer.DrawString(textoHeader2, fonteHeader2, new SolidBrush(Color.Black), rectTextHeader2, formatTxtHeader2);

                //drawer.DrawRectangle(pen, rectTextHeader2);

                //>>>>>>>>>>>>>>>>>>> Título <<<<<<<<<<<<<<<<<<
                Point     pTitulo    = new Point(pHeader.X, pHeader.Y + sHeader.Height + 5);
                Size      sTitulo    = new Size(sHeader.Width, usarMetodo.cmToPixel(0.6));
                Rectangle rectTitulo = new Rectangle(pTitulo, sTitulo);

                //drawer.DrawRectangle(pen, rectTitulo);

                Font         fonteTitulo  = new Font("Consolas", 11, FontStyle.Bold);
                string       titulo       = string.Format("RECIBO DE EMPRÉSTIMO DE CHAVES ({0})", codigo);
                StringFormat formatTitulo = new StringFormat();
                formatTitulo.LineAlignment = StringAlignment.Center;
                formatTitulo.Alignment     = StringAlignment.Center;

                drawer.DrawString(titulo, fonteTitulo, new SolidBrush(Color.Black), rectTitulo, formatTitulo);



                //>>>>>>>>>>>>>>>>>>>>> Header Coluna códigos <<<<<<<<<<<<<<<<<<<<<<<<<<
                Point     pColHeaderCodigos    = new Point(pHeader.X + 13, pTitulo.Y + sTitulo.Height + 5);
                Size      sColHeaderCodigos    = new Size(48, usarMetodo.cmToPixel(0.5));
                Rectangle rectColHeaderCodigos = new Rectangle(pColHeaderCodigos, sColHeaderCodigos);

                //drawer.DrawRectangle(pen, rectColHeaderCodigos);

                //>>>>>>>>>>>>>>>>>>>>> Coluna códigos <<<<<<<<<<<<<<<<<<<<<<<<<<

                Font     fontColChaves = new Font("Consolas", 10, FontStyle.Regular);
                Point    pColCodigos   = new Point(pColHeaderCodigos.X, pColHeaderCodigos.Y + sColHeaderCodigos.Height + 10);
                Image    fakeImage     = new Bitmap(1, 1);
                Graphics graphics      = Graphics.FromImage(fakeImage);
                SizeF    size          = graphics.MeasureString(codigos, fontColChaves);

                //Size sTeste = new Size(sColHeaderQtdChaves.Width, sColEndereco.Height);

                Size      sColCodigos    = new Size(sColHeaderCodigos.Width, (int)size.Height);
                Rectangle rectColCodigos = new Rectangle(pColCodigos, sColCodigos);

                //drawer.DrawRectangle(pen, rectColCodigos);

                Font         fontColHeaderChaves = new Font("Consolas", 11, FontStyle.Bold);
                StringFormat formatColChaves     = new StringFormat();
                //formatColChaves.LineAlignment = StringAlignment.Center;
                formatColChaves.Alignment = StringAlignment.Center;

                drawer.DrawString("Chave", fontColHeaderChaves, new SolidBrush(Color.DarkSlateGray), rectColHeaderCodigos, formatColChaves);
                drawer.DrawString(codigos, fontColChaves, new SolidBrush(Color.DarkSlateGray), rectColCodigos, formatColChaves);
                // + "1\n\n1\n\n2\n\n3\n\n4"

                //>>>>>>>>>>>>>>>>>>>> Header Coluna Endereço <<<<<<<<<<<<<<<<
                Point     pColHeaderEndereco    = new Point(pColHeaderCodigos.X + sColHeaderCodigos.Width + 15, pColHeaderCodigos.Y);
                Size      sColHeaderEndereco    = new Size(535, sColHeaderCodigos.Height);
                Rectangle rectColHeaderEndereco = new Rectangle(pColHeaderEndereco, sColHeaderEndereco);

                Font         fontColHeaderEndereco   = new Font("Consolas", 11, FontStyle.Bold);
                StringFormat formatColHeaderEndereco = new StringFormat();
                //formatColHeaderEndereco.LineAlignment = StringAlignment.Center;
                formatColHeaderEndereco.Alignment = StringAlignment.Center;

                drawer.DrawString("Endereço", fontColHeaderChaves, new SolidBrush(Color.DarkSlateGray), rectColHeaderEndereco, formatColHeaderEndereco);
                //drawer.DrawRectangle(pen, rectColHeaderEndereco);

                //>>>>>>>>>>>>>>>>>>>> Coluna endereço <<<<<<<<<<<<<<<<<<
                Point     pColEndereco    = new Point(pColCodigos.X + sColCodigos.Width + 15, pColCodigos.Y);
                Size      sColEndereco    = new Size(535, sColCodigos.Height);
                Rectangle rectColEndereco = new Rectangle(pColEndereco, sColEndereco);

                StringFormat formatColEndereco = new StringFormat();
                //formatColEndereco.LineAlignment = StringAlignment.Center;
                formatColEndereco.Alignment = StringAlignment.Near;

                drawer.DrawString(enderecos, fontColChaves, new SolidBrush(Color.DarkSlateGray), rectColEndereco, formatColEndereco);

                //drawer.DrawRectangle(pen, rectColEndereco);

                //>>>>>>>>>>>>>> Header Coluna Quant Chaves <<<<<<<<<<<<<<<<<
                Point        pColHeaderQtdChaves    = new Point(pColHeaderEndereco.X + sColHeaderEndereco.Width + 15, pColHeaderEndereco.Y - 15);
                Size         sColHeaderQtdChaves    = new Size(50, sColHeaderEndereco.Height * 2);
                Rectangle    rectHeaderQtdChaves    = new Rectangle(pColHeaderQtdChaves, sColHeaderQtdChaves);
                Font         fontColHeaderQtdChaves = new Font("Consolas", 9, FontStyle.Bold);
                StringFormat formatHeaderQtds       = new StringFormat();
                formatHeaderQtds.LineAlignment = StringAlignment.Far;
                formatHeaderQtds.Alignment     = StringAlignment.Center;

                drawer.DrawString("Qtd Chaves", fontColHeaderQtdChaves, new SolidBrush(Color.DarkSlateGray), rectHeaderQtdChaves, formatHeaderQtds);
                //drawer.DrawRectangle(pen, rectHeaderQtdChaves);

                //>>>>>>>>>>>>>>> Coluna Quant Chaves <<<<<<<<<<<<<<<<
                Point     pColQtdChaves = new Point(pColHeaderQtdChaves.X, pColEndereco.Y);
                Size      sColQtdChaves = new Size(sColHeaderQtdChaves.Width, sColEndereco.Height);
                Rectangle rectQtdChaves = new Rectangle(pColQtdChaves, sColQtdChaves);

                drawer.DrawString(qtdChaves, fontColChaves, new SolidBrush(Color.DarkSlateGray), rectQtdChaves, formatColChaves);

                //drawer.DrawRectangle(pen, rectQtdChaves);

                //>>>>>>>>>>>> Header Coluna Quant Controles <<<<<<<<<<<<<
                Point     pColHeaderQtdCtrl = new Point(pColHeaderQtdChaves.X + sColHeaderQtdChaves.Width + 15, pColHeaderQtdChaves.Y);
                Size      sColHeaderQtdCtrl = new Size(50, sColHeaderQtdChaves.Height);
                Rectangle rectQtdHeaderCtrl = new Rectangle(pColHeaderQtdCtrl, sColHeaderQtdCtrl);

                drawer.DrawString("Qtd Ctrls", fontColHeaderQtdChaves, new SolidBrush(Color.DarkSlateGray), rectQtdHeaderCtrl, formatHeaderQtds);

                //drawer.DrawRectangle(pen, rectQtdHeaderCtrl);


                //>>>>>>>>>>>>>>> Coluna Quant Controles <<<<<<<<<<<<<<<<
                Point     pColQtdCtrl = new Point(pColHeaderQtdCtrl.X, pColQtdChaves.Y);
                Size      sColQtdCtrl = new Size(sColHeaderQtdCtrl.Width, sColQtdChaves.Height);
                Rectangle rectQtdCtrl = new Rectangle(pColQtdCtrl, sColQtdCtrl);

                drawer.DrawString(qtdControles, fontColChaves, new SolidBrush(Color.DarkSlateGray), rectQtdCtrl, formatColChaves);

                //drawer.DrawRectangle(pen, rectQtdCtrl);


                //>>>>>>>>>>>>>>>>>>>>. Base desenhada <<<<<<<<<<<<<<<<<<

                Point pFooter = new Point(pBase.X, pColCodigos.Y + sColCodigos.Height);
                Size  sFooter = new Size(sBase.Width, 135);

                if (i == 0)
                {
                    Rectangle rectFooter = new Rectangle(pFooter, sFooter);

                    drawer.DrawRectangle(pen, rectFooter);

                    //>>>>>>>>>>>>>>>>>>> DIV 1 <<<<<<<<<<<<<<<<<<
                    Point     pDiv1    = new Point(pFooter.X, pFooter.Y);
                    Size      sDiv1    = new Size(sFooter.Width / 2, sFooter.Height);
                    Rectangle rectDiv1 = new Rectangle(pDiv1, sDiv1);

                    drawer.DrawRectangle(pen, rectDiv1);


                    //>>>>>>>>>>>>>> DIV 1 texto <<<<<<<<<<<<<<<<<<

                    Point     pDiv1Txt    = new Point(pDiv1.X + 10, pDiv1.Y);
                    Size      sDiv1Txt    = new Size(sDiv1.Width - 10, sDiv1.Height);
                    Rectangle rectDiv1Txt = new Rectangle(pDiv1Txt, sDiv1Txt);



                    string dadosCliente = string.Format("Nome: {0}\n\n" +
                                                        "Documento: {1}\n\n" +
                                                        "Contato: {2}\n\n" +
                                                        "Endereço: {3}", cliente.ToUpper(), docCliente, contatoCliente, enderecoCliente.ToUpper());
                    Font         fontDiv1   = new Font("Consolas", 10, FontStyle.Bold);
                    StringFormat formatDiv1 = new StringFormat();
                    formatDiv1.Alignment     = StringAlignment.Near;
                    formatDiv1.LineAlignment = StringAlignment.Near;

                    drawer.DrawRectangle(pen, rectDiv1);
                    drawer.DrawString(dadosCliente, fontDiv1, new SolidBrush(Color.Black), rectDiv1Txt);


                    //>>>>>>>>>>>>>>>>>>>>>> DIV 2 <<<<<<<<<<<<<<<<<<<<
                    Point     pDiv2    = new Point(pDiv1.X + sDiv1.Width, pDiv1.Y);
                    Size      sDiv2    = new Size(sDiv1.Width / 2, sDiv1.Height);
                    Rectangle rectDiv2 = new Rectangle(pDiv2, sDiv2);

                    drawer.DrawRectangle(pen, rectDiv2);

                    Pen penAssinatura = new Pen(new SolidBrush(Color.Black), 2);

                    Point pLineAss1 = new Point(pDiv2.X + 15, pDiv2.Y + sDiv2.Height - 35);
                    Point pLineAss2 = new Point(pDiv2.X + sDiv2.Width - 15, pDiv2.Y + sDiv2.Height - 35);

                    drawer.DrawLine(penAssinatura, pLineAss1, pLineAss2);
                    Font fontTxtAss = new Font("Consolas", 8);

                    drawer.DrawString("ASSINATURA DO CLIENTE", fontTxtAss, new SolidBrush(Color.Black), pLineAss1.X + 15, pLineAss1.Y + 2);


                    //>>>>>>>>>>>>>>>>>>>> DIV 3 <<<<<<<<<<<<<<<<<<<
                    Point     pDiv3    = new Point(pDiv2.X + sDiv2.Width, pDiv2.Y);
                    Size      sDiv3    = new Size(sDiv2.Width + 2, sDiv2.Height);
                    Rectangle rectDiv3 = new Rectangle(pDiv3, sDiv3);

                    drawer.DrawRectangle(pen, rectDiv3);
                    drawer.DrawString("\n Entrega: ___/___/_____\n\n\n\n" +
                                      " Funcionário: _________", fontDiv1, new SolidBrush(Color.Black), rectDiv3);
                }

                Point pBaseDraw = new Point();
                Size  sBaseDraw = new Size();

                if (i == 0)
                {
                    pBaseDraw = new Point(pBase.X, pBase.Y);
                    //Size sBaseDraw = new Size(sBase.Width, sBase.Height - (pFooter.Y + sFooter.Height));
                    sBaseDraw = new Size(sBase.Width, sHeader.Height + sTitulo.Height + sColHeaderCodigos.Height +
                                         sColCodigos.Height + sFooter.Height + 20);
                }
                else
                {
                    pBaseDraw = new Point(pBase.X, pBase.Y);
                    //Size sBaseDraw = new Size(sBase.Width, sBase.Height - (pFooter.Y + sFooter.Height));
                    sBaseDraw = new Size(sBase.Width, sHeader.Height + sTitulo.Height + sColHeaderCodigos.Height +
                                         sColCodigos.Height + 20);
                }

                Rectangle rectBaseDraw = new Rectangle(pBaseDraw, sBaseDraw);

                drawer.DrawRectangle(pen, rectBaseDraw);

                pBase = new Point(pBaseDraw.X, pBaseDraw.Y + sBaseDraw.Height + 50);
                sBase = new Size(sBaseDraw.Width, sBaseDraw.Height - sFooter.Height);

                ////>>>>>>>>>>>>>>> Coluna Quant Chaves <<<<<<<<<<<<<<<<
                //Point pTeste = new Point(pBase.X, pBase.Y + sBase.Height + 50);

                //Image fakeImage = new Bitmap(1, 1);
                //Graphics graphics = Graphics.FromImage(fakeImage);
                //SizeF size = graphics.MeasureString(qtdChaves + "1\n\n3\n\n4\n\n5\n\n5\n\n1\n\n", fontColChaves);

                ////Size sTeste = new Size(sColHeaderQtdChaves.Width, sColEndereco.Height);
                //Size sTeste = new Size(sColHeaderQtdChaves.Width, (int)size.Height);


                //Rectangle rectTest = new Rectangle(pTeste, sTeste);

                //drawer.DrawString(qtdChaves + "1\n\n3\n\n4\n\n5\n\n5\n\n1\n\n", fontColChaves, new SolidBrush(Color.DarkSlateGray), rectTest, formatColChaves);

                //drawer.DrawRectangle(pen, rectTest);
            }



            picBox.BackgroundImage = img;
        }
Ejemplo n.º 5
0
        private void BtnCadastrar_Click(object sender, EventArgs e)
        {
            int contErro = 0;

            string erro = "Não foi possível cadastrar a chave. Por favor, verifique os campos abaixo:\n";

            if (codImovel.Text.Length == 0)
            {
                erro += "\n- Código do Imóvel (não pode ficar vazio)";
                contErro++;
            }
            if (comboLocalizacao.SelectedIndex == -1)
            {
                erro += "\n- Localização do imóvel (Não pode ficar vazio)";
                contErro++;
            }

            try
            {
                if (boxOutraLocalizacao.Text.Length <= 0 && comboLocalizacao.SelectedItem.ToString() == "Outro")
                {
                    erro += "\n- Outra localização (Não pode ficar vazio)";
                    contErro++;
                }
            }
            catch { }

            if (boxLogradouro.Text.Length == 0)
            {
                erro += "\n- Logradouro (Não pode ficar vazio)";
                contErro++;
            }
            if (boxCidade.Text.Length == 0)
            {
                erro += "\n- Cidade(Não pode ficar vazio)";
                contErro++;
            }
            if (boxBairro.Text.Length == 0)
            {
                erro += "\n- Bairro (Não pode ficar vazio)";
                contErro++;
            }
            if (boxEstado.Text.Length == 0)
            {
                erro += "\n- Estado (Não pode ficar vazio)";
                contErro++;
            }
            if (boxNumero.Text.Length == 0)
            {
                erro += "\n- Número (Não pode ficar vazio)";
                contErro++;
            }
            if (radioChaveDisponivel.Checked == false && radioChaveIndisponivel.Checked == false)
            {
                erro += "\n- Situação da Chave (Seleção Obrigatória)";
                contErro++;
            }
            if (radioImovAtivo.Checked == false && radioImovInativo.Checked == false)
            {
                erro += "\n- Situação do imóvel (Seleção Obrigatória)";
                contErro++;
            }
            if (radioTipoCom.Checked == false && radioTipoRes.Checked == false)
            {
                erro += "\n- Tipo do imóvel (Seleção Obrigatória)";
                contErro++;
            }
            if (checkLocacao.Checked == false && checkVenda.Checked == false)
            {
                erro += "\n- Finalidade (Seleção Obrigatória)";
                contErro++;
            }

            if (boxCodProp.Text.Length == 0)
            {
                erro += "\n- Código do proprietário (Não pode ficar vazio)";
                contErro++;
            }
            if (boxCategImov.Text.Length == 0)
            {
                erro += "\n- Categoria do imóvel (Não pode ficar vazio)";
                contErro++;
            }

            FormatarStrings format = new FormatarStrings();

            if (contErro == 0)
            {
                string codigoImovel     = codImovel.Text.Trim();
                string logradouro       = format.inserirBD(boxLogradouro.Text.Trim());
                string cidade           = format.inserirBD(boxCidade.Text.Trim());
                string bairro           = format.inserirBD(boxBairro.Text.Trim());
                string estado           = format.inserirBD(boxEstado.Text.Trim());
                string numero           = format.inserirBD(boxNumero.Text.Trim());
                string complemento      = format.inserirBD(boxComplemento.Text.Trim());
                string codProprietario  = boxCodProp.Text.Trim();
                string situacaoChave    = groupSitChave.Controls.OfType <RadioButton>().SingleOrDefault(rad => rad.Checked == true).Text;
                string situacaoImovel   = groupSitImovel.Controls.OfType <RadioButton>().SingleOrDefault(rad => rad.Checked == true).Text;
                string tipoImovel       = groupTipoImovel.Controls.OfType <RadioButton>().SingleOrDefault(rad => rad.Checked == true).Text;;
                string finalidadeImovel = "";
                string aviso            = boxAviso.Text;

                if (checkLocacao.Checked && checkVenda.Checked)
                {
                    finalidadeImovel = "LOCAÇÃO/VENDA";
                }
                else if (checkLocacao.Checked && !checkVenda.Checked)
                {
                    finalidadeImovel = "LOCAÇÃO";
                }
                else if (!checkLocacao.Checked && checkVenda.Checked)
                {
                    finalidadeImovel = "VENDA";
                }


                string localizacao = "";

                if (comboLocalizacao.SelectedItem.ToString() == "Outro")
                {
                    localizacao = format.inserirBD(boxOutraLocalizacao.Text.Trim());
                }
                else
                {
                    localizacao = comboLocalizacao.SelectedItem.ToString();
                }

                try
                {
                    string proxCod = proximoCodigo();
                    if (seletorTela == false)
                    {
                        if (verificarExistencia(codImovel.Text) == true)
                        {
                            Message msg = new Message(string.Format("Já existe um cadastro de chave do imóvel {0}", codImovel.Text), "", "erro", "confirma");
                            msg.ShowDialog();
                        }
                        else
                        {
                            //MessageBox.Show(usuario);
                            database.insertInto(string.Format("" +
                                                              "INSERT INTO chave (rua, numero, complemento, bairro, cidade, estado, situacao," +
                                                              " localizacao, proprietario, cod_imob, tipo_imovel, finalidade, situacao_imovel, cod_chave," +
                                                              " quant_chaves, cond, categoria_imovel, aviso, data_cadastro, funcionario)" +
                                                              " VALUES ('{0}', '{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}'," +
                                                              " '{11}','{12}', '{13}', '{14}', '{15}', '{16}', '{17}', '{18}', '{19}')", logradouro, numero, complemento, bairro, cidade, estado, situacaoChave,
                                                              localizacao, codProprietario, codigoImovel, tipoImovel, finalidadeImovel, situacaoImovel, proxCod, boxQtdChaves.Value,
                                                              boxCond.Text, boxCategImov.Text, aviso, dataHoje, usuario));

                            Message popup = new Message("A chave foi cadastrada com o código " + proxCod + "!" +
                                                        "\n Deseja imprimir a etiqueta da chave?", "", "sucesso", "escolha");
                            popup.ShowDialog();

                            if (popup.DialogResult == DialogResult.Yes)
                            {
                                try
                                {
                                    ImprimirEtiquetas imprimir = new ImprimirEtiquetas(
                                        database.selectScalar(string.Format("SELECT indice_chave" +
                                                                            " FROM chave" +
                                                                            " WHERE cod_chave = '{0}'", proxCod)));
                                    imprimir.ShowDialog();
                                }
                                catch (Exception error)
                                {
                                    Message erroMsg = new Message("Não foi possível imprimir a etiqueta. \n\nERRO: " + error.Message
                                                                  , "", "erro", "confirma");
                                    erroMsg.ShowDialog();
                                }
                            }
                        }



                        this.Close();

                        this.DialogResult = DialogResult.Yes;
                    }
                    else
                    {
                        database.update(string.Format("" +
                                                      "UPDATE chave " +
                                                      " SET rua = '{0}', numero = '{1}', complemento = '{2}', bairro = '{3}', " +
                                                      " cidade = '{4}', estado = '{5}', situacao = '{6}', localizacao = '{7}', proprietario = '{8}', " +
                                                      " cod_imob = '{9}', tipo_imovel = '{10}', finalidade = '{11}', situacao_imovel = '{12}', quant_chaves = '{13}', cond = '{14}', categoria_imovel = '{15}', aviso = '{16}' " +
                                                      " WHERE indice_chave = '{17}'", logradouro, numero, complemento, bairro, cidade, estado, situacaoChave,
                                                      localizacao, codProprietario, codigoImovel, tipoImovel, finalidadeImovel, situacaoImovel, boxQtdChaves.Value,
                                                      boxCond.Text, boxCategImov.Text, aviso, codChave));



                        this.Close();

                        this.DialogResult = DialogResult.OK;
                    }
                }
                catch (Exception error)
                {
                    Message popup = new Message("Não foi possível cadastrar a chave pelo seguinte erro: \n\n" + error.Message, "Erro ao cadastrar", "erro", "confirma");
                    popup.ShowDialog();
                }
            }
            else
            {
                Message popup = new Message(erro, "Erro ao cadastrar", "erro", "confirma");
                popup.ShowDialog();
            }
        }