示例#1
0
        public virtual LinhaCampos ComCampo(string cabecalho, string conteudo, AlinhamentoHorizontal alinhamentoHorizontalConteudo = AlinhamentoHorizontal.Esquerda)
        {
            var campo = new Campo(cabecalho, conteudo, Estilo, alinhamentoHorizontalConteudo);

            Elementos.Add(campo);
            return(this);
        }
示例#2
0
        internal void DrawString(string str, RectangleF rect, Fonte fonte, AlinhamentoHorizontal ah = AlinhamentoHorizontal.Esquerda, AlinhamentoVertical av = AlinhamentoVertical.Topo)
        {
            if (fonte == null)
            {
                throw new ArgumentNullException(nameof(fonte));
            }
            if (fonte.Tamanho <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(fonte));
            }
            CheckRectangle(rect);

            var p = rect.Location;

            if (av == AlinhamentoVertical.Base)
            {
                p.Y = rect.Bottom - fonte.AlturaLinha;
            }
            else if (av == AlinhamentoVertical.Centro)
            {
                p.Y += (rect.Height - fonte.AlturaLinha) / 2F;
            }

            if (ah == AlinhamentoHorizontal.Direita)
            {
                p.X = rect.Right - fonte.MedirLarguraTexto(str);
            }
            if (ah == AlinhamentoHorizontal.Centro)
            {
                p.X += (rect.Width - fonte.MedirLarguraTexto(str)) / 2F;
            }

            SetFont(fonte);
            ShowText(str, p);
        }
示例#3
0
        public override void Adicionar(String strTexto, DbField campo, AlinhamentoHorizontal alinhamento)
        {
            LinkButton link = this._makeLink(strTexto);

            BotaoOrdenacao bt = new BotaoOrdenacao(link, campo, strTexto);

            System.Web.UI.HtmlControls.HtmlTableCell td = new HtmlTableCell("td");
            switch (alinhamento)
            {
            case AlinhamentoHorizontal.Centro:
            {
                td.Attributes.Add("class", "alinharCentro");
            }
            break;

            case AlinhamentoHorizontal.Direita:
            {
                td.Attributes.Add("class", "alinharDireita");
            }
            break;

            case AlinhamentoHorizontal.Esquerda:
            {
                td.Attributes.Add("class", "alinharEsquerda");
            }
            break;
            }
            Adicionar_(link, bt, td);
        }
示例#4
0
 public Campo(string cabecalho, string conteudo, Estilo estilo, AlinhamentoHorizontal alinhamentoHorizontalConteudo = AlinhamentoHorizontal.Esquerda) : base(estilo)
 {
     Cabecalho     = cabecalho;
     this.Conteudo = conteudo;
     AlinhamentoHorizontalConteudo = alinhamentoHorizontalConteudo;
     IsConteudoNegrito             = true;
     Height = Constantes.CampoAltura;
 }
示例#5
0
        public static XAlignmentEnum ToPdfClownAlignment(this AlinhamentoHorizontal ah)
        {
            switch (ah)
            {
            case AlinhamentoHorizontal.Esquerda:
                return(XAlignmentEnum.Left);

            case AlinhamentoHorizontal.Centro:
                return(XAlignmentEnum.Center);

            case AlinhamentoHorizontal.Direita:
                return(XAlignmentEnum.Right);
            }

            throw new InvalidOperationException();
        }
示例#6
0
        public static AlinhamentoHorizontal RetornaAlinhamentoHorizontalLD6(String alinhamento)
        {
            AlinhamentoHorizontal Result = AlinhamentoHorizontal.Centralizado;

            switch (alinhamento)
            {
            case "Esquerda":
                Result = Util.AlinhamentoHorizontal.Esquerda;
                break;

            case "Centralizado":
                Result = AlinhamentoHorizontal.Centralizado;
                break;

            case "Direita":
                Result = AlinhamentoHorizontal.Direita;
                break;
            }

            return(Result);
        }
示例#7
0
 public CampoMultilinha(string cabecalho, string conteudo, Estilo estilo, AlinhamentoHorizontal alinhamentoHorizontalConteudo = AlinhamentoHorizontal.Esquerda, bool isBold = false)
     : base(cabecalho, conteudo, estilo, alinhamentoHorizontalConteudo)
 {
     _tbConteudo       = new TextBlock(conteudo, isBold ? estilo.FonteCampoConteudoNegrito : estilo.FonteCampoConteudo);
     IsConteudoNegrito = isBold;
 }
示例#8
0
 public CampoMultilinha(String cabecalho, String conteudo, Estilo estilo, AlinhamentoHorizontal alinhamentoHorizontalConteudo = AlinhamentoHorizontal.Esquerda)
     : base(cabecalho, conteudo, estilo, alinhamentoHorizontalConteudo)
 {
     _tbConteudo       = new TextBlock(conteudo, estilo.FonteCampoConteudo);
     IsConteudoNegrito = false;
 }
示例#9
0
 public TabelaColuna(string[] cabecalho, float porcentagemLargura, AlinhamentoHorizontal alinhamentoHorizontal = AlinhamentoHorizontal.Esquerda)
 {
     Cabecalho             = cabecalho ?? throw new ArgumentNullException(nameof(cabecalho));
     PorcentagemLargura    = porcentagemLargura;
     AlinhamentoHorizontal = alinhamentoHorizontal;
 }
示例#10
0
 public Tabela ComColuna(float larguraP, AlinhamentoHorizontal ah, params string[] cabecalho)
 {
     Colunas.Add(new TabelaColuna(cabecalho, larguraP, ah));
     return(this);
 }
示例#11
0
        public TabelaProdutosServicos(DanfeViewModel viewModel, Estilo estilo) : base(estilo)
        {
            ViewModel      = viewModel ?? throw new ArgumentNullException(nameof(viewModel));
            CabecalhoBloco = new CabecalhoBloco(estilo, "DADOS DOS PRODUTOS / SERVIÇOS");

            const AlinhamentoHorizontal ad = AlinhamentoHorizontal.Direita;
            const AlinhamentoHorizontal ac = AlinhamentoHorizontal.Centro;
            const AlinhamentoHorizontal ae = AlinhamentoHorizontal.Esquerda;

            Tabela = new Tabela(Estilo);
            var cabecalho4 = ViewModel.Emitente.CRT == "3" ? "O/CST" : "O/CSOSN";

            if (ViewModel.Orientacao == Orientacao.Retrato)
            {
                Tabela
                .ComColuna(8.5f, ac, "CÓDIGO", "PRODUTO")
                .ComColuna(0, ae, "DESCRIÇÃO DO PRODUTO / SERVIÇO")
                .ComColuna(5.6F, ac, "NCM/SH")
                .ComColuna(3.9F, ac, cabecalho4)
                .ComColuna(3.5F, ac, "CFOP")
                .ComColuna(3.25F, ac, "UN")
                .ComColuna(6F, ad, "QUANTI.")
                .ComColuna(6F, ad, "VALOR", "UNIT.")
                .ComColuna(6F, ad, "VALOR", "TOTAL")
                .ComColuna(6F, ad, "B CÁLC", "ICMS")
                .ComColuna(5, ad, "VALOR", "ICMS")
                .ComColuna(5, ad, "VALOR", "IPI")
                .ComColuna(3.5F, ad, "ALIQ.", "ICMS")
                .ComColuna(3.5F, ad, "ALIQ.", "IPI");
            }
            if (ViewModel.Orientacao == Orientacao.Paisagem)
            {
                Tabela
                .ComColuna(8.1f, ac, "CÓDIGO PRODUTO")
                .ComColuna(0, ae, "DESCRIÇÃO DO PRODUTO / SERVIÇO")
                .ComColuna(5.5F, ac, "NCM/SH")
                .ComColuna(3.1F, ac, cabecalho4)
                .ComColuna(3.1F, ac, "CFOP")
                .ComColuna(3F, ac, "UN")
                .ComColuna(5.25F, ad, "QUANTI.")
                .ComColuna(5.6F, ad, "VALOR UNIT.")
                .ComColuna(5.6F, ad, "VALOR TOTAL")
                .ComColuna(5.6F, ad, "B CÁLC ICMS")
                .ComColuna(5.6F, ad, "VALOR ICMS")
                .ComColuna(5.6F, ad, "VALOR IPI")
                .ComColuna(3F, ad, "ALIQ.", "ICMS")
                .ComColuna(3F, ad, "ALIQ.", "IPI");
            }

            Tabela.AjustarLarguraColunas();

            foreach (var p in ViewModel.Produtos)
            {
                var linha = new List <string>
                {
                    p.Codigo,
                    p.DescricaoCompleta,
                    p.Ncm,
                    p.OCst,
                    p.Cfop.Formatar("N0"),
                    p.Unidade,
                    p.Quantidade.Formatar(),
                    p.ValorUnitario.Formatar(),
                    p.ValorTotal.Formatar(),
                    p.BaseIcms.Formatar(),
                    p.ValorIcms.Formatar(),
                    p.ValorIpi.Formatar(),
                    p.AliquotaIcms.Formatar(),
                    p.AliquotaIpi.Formatar()
                };

                Tabela.AdicionarLinha(linha);
            }
        }