Beispiel #1
0
        public static LayoutServicoHubPort NovoLayoutServicoHubPort(
            int modeloId,
            int linha,
            string descricao,
            int servicoId,
            BaseCalculo baseCalculo,
            decimal valor,
            int origem,
            int destino,
            Moeda moeda,
            FormaPagamento formaPagamentoNVOCC,
            string descricaoValor,
            bool ocultar)
        {
            var cabecalho = new Cabecalho(modeloId, linha, descricao, TipoRegistro.SERVICO_HUBPORT, ocultar);

            var layoutServicoHubPort = new LayoutServicoHubPort(
                cabecalho,
                servicoId,
                baseCalculo,
                valor,
                origem,
                destino,
                moeda,
                formaPagamentoNVOCC,
                descricaoValor);

            return(layoutServicoHubPort);
        }
Beispiel #2
0
        public string gerarLinhaTexto()
        {
            string retorno = "";

            retorno += Funcoes.Formatar(tipo.ToString(), 2, true, '0');
            retorno += Funcoes.Formatar(cnpj, 14, false, '0');
            retorno += Funcoes.Formatar(inscricaoEstadual, 14, true, ' ');
            retorno += Funcoes.Formatar(dataEmissao.ToString("yyyyMMdd"), 8, true, '0');
            retorno += Funcoes.Formatar(UnidadeFederacao.ToString(), 2, true, '0');
            retorno += Funcoes.Formatar(Modelo.ToString(), 2, true, '0');
            retorno += Funcoes.Formatar(Serie.ToString(), 1, true, '0');
            retorno += Funcoes.Formatar(Subserie.ToString(), 2, true, '0');
            retorno += Funcoes.Formatar(Numero.ToString(), 6, true, '0');
            retorno += Funcoes.Formatar(CFOP.ToString(), 4, true, '0');
            retorno += Funcoes.Formatar(valorTotal.ToString("n2"), 13, false, '0');
            retorno += Funcoes.Formatar(BaseCalculo.ToString("n2"), 14, false, '0');
            retorno += Funcoes.Formatar(ValorICMS.ToString("n2"), 14, false, '0');
            retorno += Funcoes.Formatar(Isenta_nao_tributada.ToString("n2"), 14, false, '0');
            retorno += Funcoes.Formatar(Outras.ToString("n2"), 14, false, '0');
            retorno += Funcoes.Formatar(Modalidade.ToString(), 1, true, '0');
            retorno += Funcoes.Formatar(Situacao.ToString(), 1, true, '0');



            return(retorno);
        }
Beispiel #3
0
 public LayoutServicosGerais(
     Cabecalho cabecalho,
     int servicoId,
     BaseCalculo baseCalculo,
     ValorCarga valorCarga,
     Moeda moeda,
     string descricaoValor,
     decimal adicionalIMO,
     decimal exercito,
     int tipoDocumentoId,
     BaseCalculoExcesso baseExcesso,
     decimal valorExcesso,
     FormaPagamento formaPagamentoNVOCC)
 {
     Cabecalho           = cabecalho;
     ServicoId           = servicoId;
     BaseCalculo         = baseCalculo;
     ValorCarga          = valorCarga;
     Moeda               = moeda;
     DescricaoValor      = descricaoValor;
     AdicionalIMO        = adicionalIMO;
     Exercito            = exercito;
     TipoDocumentoId     = tipoDocumentoId;
     BaseExcesso         = baseExcesso;
     ValorExcesso        = valorExcesso;
     FormaPagamentoNVOCC = formaPagamentoNVOCC;
 }
Beispiel #4
0
        public static LayoutPeriodoPadrao NovoLayoutPeriodoPadrao(
            int modeloId,
            int linha,
            string descricao,
            decimal valor,
            decimal valor20,
            decimal valor40,
            TipoCarga tipoCarga,
            int servicoId,
            BaseCalculo baseCalculo,
            int qtdeDias,
            int periodo,
            string descricaoValor,
            bool ocultar)
        {
            var cabecalho = new Cabecalho(modeloId, linha, descricao, TipoRegistro.PERIODO_PADRAO, ocultar);

            var valorPeriodoPadrao = new ValorCarga(
                valor,
                valor20,
                valor40,
                tipoCarga);

            var layoutPeriodoPadrao = new LayoutPeriodoPadrao(cabecalho, servicoId, baseCalculo, qtdeDias, valorPeriodoPadrao, periodo, descricaoValor);

            return(layoutPeriodoPadrao);
        }
Beispiel #5
0
 public LayoutServicoLiberacao(
     Cabecalho cabecalho,
     int servicoId,
     BaseCalculo baseCalculo,
     Margem margem,
     TipoCarga tipoCarga,
     ValorCarga valorCarga,
     int reembolso,
     Moeda moeda,
     string descricaoValor,
     int tipoDocumentoId,
     int grupoAtracacaoId,
     decimal adicionalIMO,
     decimal exercito)
 {
     Cabecalho        = cabecalho;
     ServicoId        = servicoId;
     BaseCalculo      = baseCalculo;
     Margem           = margem;
     TipoCarga        = tipoCarga;
     ValorCarga       = valorCarga;
     Reembolso        = reembolso;
     Moeda            = moeda;
     DescricaoValor   = descricaoValor;
     TipoDocumentoId  = tipoDocumentoId;
     GrupoAtracacaoId = grupoAtracacaoId;
     AdicionalIMO     = adicionalIMO;
     Exercito         = exercito;
 }
Beispiel #6
0
 public LayoutServicoMecanicaManual(
     Cabecalho cabecalho,
     int servicoId,
     BaseCalculo baseCalculo,
     ValorCarga valorCarga,
     decimal adicionalIMO,
     decimal exercito,
     Moeda moeda,
     decimal pesoMaximo,
     decimal adicionalPeso,
     TipoTrabalho tipoTrabalho,
     string descricaoValor)
 {
     Cabecalho      = cabecalho;
     ServicoId      = servicoId;
     BaseCalculo    = baseCalculo;
     ValorCarga     = valorCarga;
     AdicionalIMO   = adicionalIMO;
     Exercito       = exercito;
     Moeda          = moeda;
     PesoMaximo     = pesoMaximo;
     AdicionalPeso  = adicionalPeso;
     TipoTrabalho   = tipoTrabalho;
     DescricaoValor = descricaoValor;
 }
Beispiel #7
0
 public decimal BaseIcms()
 {
     if (this.PossuiRedBCIcmsProprio)
     {
         return(BaseCalculoReduzida.GerarBaseReduzidaIcms());
     }
     else
     {
         return(BaseCalculo.GerarBaseIcms());
     }
 }
Beispiel #8
0
 public LayoutArmazenagem(
     Cabecalho cabecalho,
     int servicoId,
     BaseCalculo baseCalculo,
     int qtdeDias,
     ValorCarga valorCarga,
     decimal adicionalArmazenagem,
     decimal adicionalGRC,
     decimal minimoGRC,
     decimal adicionalIMO,
     decimal exercito,
     decimal adicionalIMOGRC,
     decimal valorANVISA,
     decimal anvisaGRC,
     int periodo,
     Moeda moeda,
     string descricaoValor,
     int tipoDocumentoId,
     BaseCalculoExcesso baseExcesso,
     Margem margem,
     decimal valorExcesso,
     decimal adicionalPeso,
     decimal pesoLimite,
     int grupoAtracacaoId,
     bool proRata)
 {
     Cabecalho            = cabecalho;
     ServicoId            = servicoId;
     BaseCalculo          = baseCalculo;
     QtdeDias             = qtdeDias;
     ValorCarga           = valorCarga;
     AdicionalArmazenagem = adicionalArmazenagem;
     AdicionalGRC         = adicionalGRC;
     MinimoGRC            = minimoGRC;
     AdicionalIMO         = adicionalIMO;
     Exercito             = exercito;
     AdicionalIMOGRC      = adicionalIMOGRC;
     ValorANVISA          = valorANVISA;
     AnvisaGRC            = anvisaGRC;
     Periodo          = periodo;
     Moeda            = moeda;
     DescricaoValor   = descricaoValor;
     TipoDocumentoId  = tipoDocumentoId;
     BaseExcesso      = baseExcesso;
     Margem           = margem;
     ValorExcesso     = valorExcesso;
     AdicionalPeso    = adicionalPeso;
     PesoLimite       = pesoLimite;
     GrupoAtracacaoId = grupoAtracacaoId;
     ProRata          = proRata;
 }
Beispiel #9
0
        public static LayoutArmazenagemAllIn NovoLayoutArmazenagemAllIn(
            int modeloId,
            int linha,
            string descricao,
            decimal valorMinimo,
            decimal valor20,
            decimal valor40,
            decimal cifMinimo,
            decimal cifMaximo,
            string descricaoCif,
            int servicoId,
            BaseCalculo baseCalculo,
            int periodo,
            string descricaoPeriodo,
            Margem margem,
            Moeda moeda,
            string descricaoValor,
            int tipoDocumentoId,
            BaseCalculoExcesso baseExcesso,
            decimal valorExcesso,
            decimal adicionalPeso,
            decimal pesoLimite,
            bool proRata,
            bool ocultar)
        {
            var cabecalho = new Cabecalho(modeloId, linha, descricao, TipoRegistro.ARMAZENAMEM_ALL_IN, ocultar);

            var layoutArmazenagemAllIn = new LayoutArmazenagemAllIn(
                cabecalho,
                servicoId,
                baseCalculo,
                periodo,
                descricaoPeriodo,
                cifMinimo,
                cifMaximo,
                descricaoCif,
                margem,
                valor20,
                valor40,
                valorMinimo,
                moeda,
                descricaoValor,
                tipoDocumentoId,
                baseExcesso,
                valorExcesso,
                adicionalPeso,
                pesoLimite,
                proRata);

            return(layoutArmazenagemAllIn);
        }
Beispiel #10
0
 public LayoutPeriodoPadrao(
     Cabecalho cabecalho,
     int servicoId,
     BaseCalculo baseCalculo,
     int qtdeDias,
     ValorCarga valorCarga,
     int periodo,
     string descricaoValor)
 {
     Cabecalho      = cabecalho;
     ServicoId      = servicoId;
     BaseCalculo    = baseCalculo;
     QtdeDias       = qtdeDias;
     ValorCarga     = valorCarga;
     Periodo        = periodo;
     DescricaoValor = descricaoValor;
 }
Beispiel #11
0
        public static LayoutServicoParaMargem NovoLayoutServicoParaMargem(
            int modeloId,
            int linha,
            string descricao,
            int servicoId,
            BaseCalculo baseCalculo,
            TipoCarga tipoCarga,
            decimal valorMargemDireita,
            decimal valorMargemEsquerda,
            decimal valorEntreMargens,
            decimal adicionalIMO,
            decimal exercito,
            Moeda moeda,
            decimal pesoMaximo,
            decimal adicionalPeso,
            string descricaoValor,
            int tipoDocumentoId,
            BaseCalculoExcesso baseExcesso,
            decimal valorExcesso,
            decimal pesoLimite,
            bool proRata,
            bool ocultar)
        {
            var cabecalho = new Cabecalho(modeloId, linha, descricao, TipoRegistro.SERVIÇO_PARA_MARGEM, ocultar);

            return(new LayoutServicoParaMargem(
                       cabecalho,
                       servicoId,
                       baseCalculo,
                       tipoCarga,
                       valorMargemDireita,
                       valorMargemEsquerda,
                       valorEntreMargens,
                       adicionalIMO,
                       exercito,
                       moeda,
                       pesoMaximo,
                       adicionalPeso,
                       descricaoValor,
                       tipoDocumentoId,
                       baseExcesso,
                       valorExcesso,
                       pesoLimite,
                       proRata));
        }
Beispiel #12
0
        public static LayoutServicoLiberacao NovoLayoutServicoLiberacao(
            int modeloId,
            int linha,
            string descricao,
            decimal valor,
            decimal valor20,
            decimal valor40,
            TipoCarga tipoCarga,
            int servicoId,
            BaseCalculo baseCalculo,
            Margem margem,
            int reembolso,
            Moeda moeda,
            string descricaoValor,
            int tipoDocumentoId,
            int grupoAtracacaoId,
            decimal adicionalIMO,
            decimal exercito,
            bool ocultar)
        {
            var cabecalho = new Cabecalho(modeloId, linha, descricao, TipoRegistro.SERVICO_LIBERACAO, ocultar);

            var valorCarga = new ValorCarga(
                valor,
                valor20,
                valor40,
                tipoCarga);

            var layoutServicoLiberacao = new LayoutServicoLiberacao(
                cabecalho,
                servicoId,
                baseCalculo,
                margem,
                tipoCarga,
                valorCarga,
                reembolso,
                moeda,
                descricaoValor,
                tipoDocumentoId,
                grupoAtracacaoId,
                adicionalIMO,
                exercito);

            return(layoutServicoLiberacao);
        }
Beispiel #13
0
        public static LayoutServicosGerais NovoLayoutServicosGerais(
            int modeloId,
            int linha,
            string descricao,
            int servicoId,
            decimal valor,
            decimal valor20,
            decimal valor40,
            decimal adicionalIMO,
            decimal exercito,
            TipoCarga tipoCarga,
            BaseCalculo baseCalculo,
            Moeda moeda,
            string descricaoValor,
            int tipoDocumentoId,
            BaseCalculoExcesso baseExcesso,
            decimal valorExcesso,
            FormaPagamento formaPagamentoNVOCC,
            bool ocultar)
        {
            var cabecalho = new Cabecalho(modeloId, linha, descricao, TipoRegistro.GERAIS, ocultar);

            var valorCarga = new ValorCarga(
                valor,
                valor20,
                valor40,
                tipoCarga);

            var layoutServicosGerais = new LayoutServicosGerais(
                cabecalho,
                servicoId,
                baseCalculo,
                valorCarga,
                moeda,
                descricaoValor,
                adicionalIMO,
                exercito,
                tipoDocumentoId,
                baseExcesso,
                valorExcesso,
                formaPagamentoNVOCC);

            return(layoutServicosGerais);
        }
Beispiel #14
0
 public LayoutArmazenagemAllIn(
     Cabecalho cabecalho,
     int servicoId,
     BaseCalculo baseCalculo,
     int periodo,
     string descricaoPeriodo,
     decimal cifMinimo,
     decimal cifMaximo,
     string descricaoCif,
     Margem margem,
     decimal valor20,
     decimal valor40,
     decimal valorMinimo,
     Moeda moeda,
     string descricaoValor,
     int tipoDocumentoId,
     BaseCalculoExcesso baseExcesso,
     decimal valorExcesso,
     decimal adicionalPeso,
     decimal pesoLimite,
     bool proRata)
 {
     Cabecalho        = cabecalho;
     ServicoId        = servicoId;
     BaseCalculo      = baseCalculo;
     Periodo          = periodo;
     DescricaoPeriodo = descricaoPeriodo;
     CifMinimo        = cifMinimo;
     CifMaximo        = cifMaximo;
     DescricaoCif     = descricaoCif;
     Margem           = margem;
     Valor20          = valor20;
     Valor40          = valor40;
     ValorMinimo      = valorMinimo;
     Moeda            = moeda;
     DescricaoValor   = descricaoValor;
     TipoDocumentoId  = tipoDocumentoId;
     BaseExcesso      = baseExcesso;
     ValorExcesso     = valorExcesso;
     AdicionalPeso    = adicionalPeso;
     PesoLimite       = pesoLimite;
     ProRata          = proRata;
 }
Beispiel #15
0
        public static LayoutServicoMecanicaManual NovoLayoutServicoMecanicaManual(
            int modeloId,
            int linha,
            string descricao,
            decimal valor,
            decimal valor20,
            decimal valor40,
            int servicoId,
            BaseCalculo baseCalculo,
            TipoCarga tipoCarga,
            decimal adicionalIMO,
            decimal exercito,
            Moeda moeda,
            decimal pesoMaximo,
            decimal adicionalPeso,
            TipoTrabalho tipoTrabalho,
            string descricaoValor,
            bool ocultar)
        {
            var cabecalho = new Cabecalho(modeloId, linha, descricao, TipoRegistro.SERVICO_MECANICA_MANUAL, ocultar);

            var valorCarga = new ValorCarga(
                valor,
                valor20,
                valor40,
                tipoCarga);

            var layoutServicoMecanicaManual = new LayoutServicoMecanicaManual(
                cabecalho,
                servicoId,
                baseCalculo,
                valorCarga,
                adicionalIMO,
                exercito,
                moeda,
                pesoMaximo,
                adicionalPeso,
                tipoTrabalho,
                descricaoValor);

            return(layoutServicoMecanicaManual);
        }
Beispiel #16
0
        public LayoutServicoParaMargem(
            Cabecalho cabecalho,
            int servicoId,
            BaseCalculo baseCalculo,
            TipoCarga tipoCarga,
            decimal valorMargemDireita,
            decimal valorMargemEsquerda,
            decimal valorEntreMargens,
            decimal adicionalIMO,
            decimal exercito,
            Moeda moeda,
            decimal pesoMaximo,
            decimal adicionalPeso,
            string descricaoValor,
            int tipoDocumentoId,
            BaseCalculoExcesso baseExcesso,
            decimal valorExcesso,
            decimal pesoLimite,
            bool proRata)
        {
            Cabecalho           = cabecalho;
            ServicoId           = servicoId;
            BaseCalculo         = baseCalculo;
            TipoCarga           = tipoCarga;
            ValorMargemDireita  = valorMargemDireita;
            ValorMargemEsquerda = valorMargemEsquerda;
            ValorEntreMargens   = valorEntreMargens;
            AdicionalIMO        = adicionalIMO;
            Exercito            = exercito;
            Moeda           = moeda;
            PesoMaximo      = pesoMaximo;
            AdicionalPeso   = adicionalPeso;
            DescricaoValor  = descricaoValor;
            TipoDocumentoId = tipoDocumentoId;
            BaseExcesso     = baseExcesso;
            ValorExcesso    = valorExcesso;
            PesoLimite      = pesoLimite;
            ProRata         = proRata;

            FaixasPeso = new List <FaixaPeso>();
        }
Beispiel #17
0
 public LayoutServicoHubPort(
     Cabecalho cabecalho,
     int servicoId,
     BaseCalculo baseCalculo,
     decimal valor,
     int origem,
     int destino,
     Moeda moeda,
     FormaPagamento formaPagamentoNVOCC,
     string descricaoValor)
 {
     Cabecalho           = cabecalho;
     ServicoId           = servicoId;
     BaseCalculo         = baseCalculo;
     Valor               = valor;
     Origem              = origem;
     Destino             = destino;
     Moeda               = moeda;
     FormaPagamentoNVOCC = formaPagamentoNVOCC;
     DescricaoValor      = descricaoValor;
 }
Beispiel #18
0
 public decimal BaseIcms()
 {
     return(BaseCalculo.GerarBaseIcms());
 }
        public static IBaseCalculo GetBaseCalculo()
        {
            BaseCalculo baseCalculo = new BaseCalculo();

            return((IBaseCalculo)baseCalculo);
        }
 public void CalcularImporte()
 {
     Importe = UnidadMedida == null
         ? 0
         : BaseCalculo.GetValueOrDefault() * Tasa.GetValueOrDefault() * UnidadMedida.Coeficiente;
 }
Beispiel #21
0
        private PlugNotasApi Initialize(Invoice invoice)
        {
            var plugNotas = new PlugNotasApi();

            var address = invoice.Order.Customer.Adresses.Where(a => a.Type == AddressType.Billing).FirstOrDefault();

            plugNotas.IdIntegracao    = invoice.Id.ToString();
            plugNotas.Presencial      = true;
            plugNotas.ConsumidorFinal = true;
            plugNotas.Natureza        = invoice.OriginOperation;

            var issuer = new Emitente();

            issuer.CpfCnpj = _configuration["IssuerCnpj"];

            plugNotas.Emitente = issuer;

            var receiver = new Destinatario();

            receiver.CpfCnpj     = invoice.Order.Customer.Cnpj;
            receiver.RazaoSocial = invoice.Order.Customer.CompanyName;
            receiver.Email       = invoice.Order.Customer.Email;

            var receiverAddress = new Endereco();

            receiverAddress.Logradouro      = address.Street;
            receiverAddress.Numero          = address.Number.ToString();
            receiverAddress.Bairro          = address.Neighborhood;
            receiverAddress.CodigoCidade    = address.CodeCity;
            receiverAddress.DescricaoCidade = address.City;
            receiverAddress.Estado          = address.State;
            receiverAddress.Cep             = address.ZipCode;

            receiver.Endereco = receiverAddress;

            plugNotas.Destinatario = receiver;

            var itemsPlugNotas = new List <Iten>();

            foreach (var item in invoice.InvoiceLines)
            {
                var itemPlugNotas = new Iten();

                itemPlugNotas.Codigo    = item.ItemName;
                itemPlugNotas.Descricao = item.ItemName;
                itemPlugNotas.Ncm       = item.NcmCode;
                itemPlugNotas.Cfop      = "5101";

                var unitaryValue = new ValorUnitario();
                unitaryValue.Comercial      = (double)item.UnitaryPrice;
                unitaryValue.Tributavel     = (double)item.UnitaryPrice;
                itemPlugNotas.ValorUnitario = unitaryValue;

                var quantity = new Quantidade();
                quantity.Comercial       = item.Quantity;
                quantity.Tributavel      = item.Quantity;
                itemPlugNotas.Quantidade = quantity;

                var taxes = new Tributos();

                var icms = new Icms();
                icms.Origem = item.OriginIcms;
                icms.Cst    = item.CstIcms;
                var baseCalcIcms = new BaseCalculo();
                baseCalcIcms.ModalidadeDeterminacao = item.DeterminationMode;
                baseCalcIcms.Valor = (double)item.ValueBaseCalcIcms;
                icms.BaseCalculo   = baseCalcIcms;
                icms.Aliquota      = item.AliquotIcms;
                icms.Valor         = (double)item.ValueIcms;
                taxes.Icms         = icms;

                var pis = new Pis();
                pis.Cst = item.CstPis;
                var baseCalcPis = new BaseCalculo();
                baseCalcPis.Valor = (double)item.ValueBaseCalcPis;
                pis.BaseCalculo   = baseCalcPis;
                pis.Aliquota      = item.AliquotPis;
                pis.Valor         = (double)item.ValuePis;
                taxes.Pis         = pis;

                var cofins = new Cofins();
                cofins.Cst = item.CstCofins;
                var baseCalcCofins = new BaseCalculo();
                baseCalcCofins.Valor = (double)item.ValueBaseCalcCofins;
                cofins.BaseCalculo   = baseCalcCofins;
                cofins.Aliquota      = item.AliquotCofins;
                cofins.Valor         = (double)item.ValueCofins;
                taxes.Cofins         = cofins;

                itemPlugNotas.Tributos = taxes;

                itemsPlugNotas.Add(itemPlugNotas);
            }

            plugNotas.Itens = itemsPlugNotas;

            var payments = new List <Pagamento>();

            var payment = new Pagamento();

            payment.AVista = true;
            payment.Meio   = "18";
            payments.Add(payment);

            plugNotas.Pagamentos = payments;

            return(plugNotas);
        }
Beispiel #22
0
        public static LayoutArmazenagemCIF NovoLayoutArmazenagemCIF(
            int modeloId,
            int linha,
            string descricao,
            decimal valorCIF,
            decimal valor,
            decimal valor20,
            decimal valor40,
            TipoCarga tipoCarga,
            int servicoId,
            BaseCalculo baseCalculo,
            int qtdeDias,
            decimal adicionalArmazenagem,
            decimal adicionalGRC,
            decimal minimoGRC,
            decimal adicionalIMO,
            decimal adicionalIMOGRC,
            decimal valorANVISA,
            decimal anvisaGRC,
            int periodo,
            Moeda moeda,
            string descricaoValor,
            int tipoDocumentoId,
            BaseCalculoExcesso baseExcesso,
            Margem margem,
            decimal valorExcesso,
            decimal adicionalPeso,
            decimal pesoLimite,
            bool proRata,
            bool ocultar)
        {
            var cabecalho = new Cabecalho(modeloId, linha, descricao, TipoRegistro.ARMAZENAGEM_CIF, ocultar);

            var valorArmazenagem = new ValorCarga(
                valor,
                valor20,
                valor40,
                tipoCarga);

            var layoutArmazenagemCIF = new LayoutArmazenagemCIF(
                cabecalho,
                servicoId,
                baseCalculo,
                qtdeDias,
                valorArmazenagem,
                valorCIF,
                adicionalArmazenagem,
                adicionalGRC,
                minimoGRC,
                adicionalIMO,
                adicionalIMOGRC,
                valorANVISA,
                anvisaGRC,
                periodo,
                moeda,
                descricaoValor,
                tipoDocumentoId,
                baseExcesso,
                margem,
                valorExcesso,
                adicionalPeso,
                pesoLimite,
                proRata);

            return(layoutArmazenagemCIF);
        }