Beispiel #1
0
        private static pag GetPagamento(ICMSTot icmsTot, VersaoServico versao)
        {
            decimal valorPagto = (icmsTot.vNF / 2).Arredondar(2);

            if (versao != VersaoServico.Versao400) // difernte de versão 4 retorna isso
            {
                return(new pag {
                    tPag = FormaPagamento.fpDinheiro, vPag = valorPagto
                });
            }


            // igual a versão 4 retorna isso
            return(new pag
            {
                detPag = new List <detPag>
                {
                    new detPag {
                        tPag = FormaPagamento.fpCreditoLoja, vPag = valorPagto
                    },
                    new detPag {
                        tPag = FormaPagamento.fpCreditoLoja, vPag = icmsTot.vNF - valorPagto
                    }
                }
            });
        }
Beispiel #2
0
        protected virtual List <pag> GetPagamento(ICMSTot icmsTot)
        {
            var valorPagto = Valor.Arredondar(icmsTot.vProd / 1, 2);
            var p          = new List <pag>
            {
                new pag {
                    tPag = FormaPagamento.fpDinheiro, vPag = valorPagto
                },
                //new pag {tPag = FormaPagamento.fpCartaoDebito, vPag = icmsTot.vProd - valorPagto},
                //new pag {tPag = FormaPagamento.fpCartaoDebito, vPag = icmsTot.vProd - valorPagto}
            };

            return(p);
        }
Beispiel #3
0
        protected virtual total GetTotal(VersaoServico versao)
        {
            var icmsTot = new ICMSTot {
                vProd = 1, vNF = Decimal.Parse("0,90"), vDesc = Decimal.Parse("0,10"), vTotTrib = Decimal.Parse("0,17")
            };

            if (versao == VersaoServico.ve310)
            {
                icmsTot.vICMSDeson = 0;
            }

            var t = new total {
                ICMSTot = icmsTot
            };

            return(t);
        }
Beispiel #4
0
        protected total GetTotal()
        {
            var icmsTot = new ICMSTot
            {
                vProd      = decimal.Parse(NFeSelected.ValorTotalProdutos.Value.ToString("N2")),
                vNF        = decimal.Parse(NFeSelected.ValorTotal.Value.ToString("N2")),
                vDesc      = decimal.Parse(NFeSelected.ValorDesconto.Value.ToString("N2")),
                vTotTrib   = decimal.Parse(NFeSelected.ValorIcms.Value.ToString("N2")),
                vBC        = decimal.Parse(NFeSelected.BaseCalculoIcms.Value.ToString("N2")),
                vICMS      = decimal.Parse(NFeSelected.ValorIcms.Value.ToString("N2")),
                vICMSDeson = 0
            };

            var t = new total {
                ICMSTot = icmsTot
            };

            return(t);
        }
Beispiel #5
0
        protected total GetTotal()
        {
            var icmsTot = new ICMSTot
            {
                vProd      = decimal.Parse(NFeSelected.VALOR_TOTAL_PRODUTOS.Value.ToString("N2")),
                vNF        = decimal.Parse(NFeSelected.VALOR_TOTAL.Value.ToString("N2")),
                vDesc      = decimal.Parse(NFeSelected.VALOR_DESCONTO.Value.ToString("N2")),
                vTotTrib   = decimal.Parse(NFeSelected.VALOR_ICMS.Value.ToString("N2")),
                vBC        = decimal.Parse(NFeSelected.BASE_CALCULO_ICMS.Value.ToString("N2")),
                vICMS      = decimal.Parse(NFeSelected.VALOR_ICMS.Value.ToString("N2")),
                vICMSDeson = 0
            };

            var t = new total {
                ICMSTot = icmsTot
            };

            return(t);
        }
Beispiel #6
0
        protected virtual List <pag> GetPagamento(ICMSTot icmsTot)
        {
            var valorPagto = (icmsTot.vNF / 2).Arredondar(2);

            if (versaoDoServico != VersaoServico.ve400) // difernte de versão 4 retorna isso
            {
                var p = new List <pag>
                {
                    new pag {
                        tPag = FormaPagamento.fpDinheiro, vPag = valorPagto
                    },
                    new pag {
                        tPag = FormaPagamento.fpCheque, vPag = icmsTot.vNF - valorPagto
                    }
                };
                return(p);
            }


            // igual a versão 4 retorna isso
            var p4 = new List <pag>
            {
                //new pag {detPag = new detPag {tPag = FormaPagamento.fpDinheiro, vPag = valorPagto}},
                //new pag {detPag = new detPag {tPag = FormaPagamento.fpCheque, vPag = icmsTot.vNF - valorPagto}}
                new pag
                {
                    detPag = new List <detPag>
                    {
                        new detPag {
                            tPag = FormaPagamento.fpCreditoLoja, vPag = valorPagto
                        },
                        new detPag {
                            tPag = FormaPagamento.fpCreditoLoja, vPag = icmsTot.vNF - valorPagto
                        }
                    }
                }
            };


            return(p4);
        }
Beispiel #7
0
        private static cobr GetCobranca(ICMSTot icmsTot)
        {
            decimal valorParcela = (icmsTot.vNF / 2).Arredondar(2);
            cobr    c            = new cobr
            {
                fat = new fat {
                    nFat = "12345678910", vLiq = icmsTot.vNF, vOrig = icmsTot.vNF, vDesc = 0m
                },
                dup = new List <dup>
                {
                    new dup {
                        nDup = "001", dVenc = DateTime.Now.AddDays(30), vDup = valorParcela
                    },
                    new dup {
                        nDup = "002", dVenc = DateTime.Now.AddDays(60), vDup = icmsTot.vNF - valorParcela
                    }
                }
            };

            return(c);
        }
Beispiel #8
0
        protected virtual cobr GetCobranca(ICMSTot icmsTot)
        {
            var valorParcela = Valor.Arredondar(icmsTot.vProd / 2, 2);
            var c            = new cobr
            {
                fat = new fat {
                    nFat = "12345678910", vLiq = icmsTot.vProd
                },
                dup = new List <dup>
                {
                    new dup {
                        nDup = "12345678", vDup = valorParcela
                    },
                    new dup {
                        nDup = "987654321", vDup = icmsTot.vProd - valorParcela
                    }
                }
            };

            return(c);
        }
Beispiel #9
0
        protected virtual total GetTotal(VersaoServico versao, List <det> produtos)
        {
            var icmsTot = new ICMSTot
            {
                vProd    = produtos.Sum(p => p.prod.vProd),
                vNF      = produtos.Sum(p => p.prod.vProd) - produtos.Sum(p => p.prod.vDesc ?? 0),
                vDesc    = produtos.Sum(p => p.prod.vDesc ?? 0),
                vTotTrib = produtos.Sum(p => p.imposto.vTotTrib ?? 0),
            };

            if (versao == VersaoServico.ve310)
            {
                icmsTot.vICMSDeson = 0;
            }

            foreach (var produto in produtos)
            {
                if (produto.imposto.IPI != null && produto.imposto.IPI.TipoIPI.GetType() == typeof(IPITrib))
                {
                    icmsTot.vIPI = icmsTot.vIPI + ((IPITrib)produto.imposto.IPI.TipoIPI).vIPI ?? 0;
                }
                if (produto.imposto.ICMS.TipoICMS.GetType() == typeof(ICMS00))
                {
                    icmsTot.vBC   = icmsTot.vBC + ((ICMS00)produto.imposto.ICMS.TipoICMS).vBC;
                    icmsTot.vICMS = icmsTot.vICMS + ((ICMS00)produto.imposto.ICMS.TipoICMS).vICMS;
                }
                if (produto.imposto.ICMS.TipoICMS.GetType() == typeof(ICMS20))
                {
                    icmsTot.vBC   = icmsTot.vBC + ((ICMS20)produto.imposto.ICMS.TipoICMS).vBC;
                    icmsTot.vICMS = icmsTot.vICMS + ((ICMS20)produto.imposto.ICMS.TipoICMS).vICMS;
                }
                //Outros Ifs aqui, caso vá usar as classes ICMS00, ICMS10 para totalizar
            }

            var t = new total {
                ICMSTot = icmsTot
            };

            return(t);
        }
Beispiel #10
0
        private static total GetTotal(VersaoServico versao, List <det> produtos)
        {
            ICMSTot icmsTot = new ICMSTot
            {
                vProd    = produtos.Sum(p => p.prod.vProd),
                vDesc    = produtos.Sum(p => p.prod.vDesc ?? 0),
                vTotTrib = produtos.Sum(p => p.imposto.vTotTrib ?? 0),
            };

            if (versao == VersaoServico.Versao310 || versao == VersaoServico.Versao400)
            {
                icmsTot.vICMSDeson = 0;
            }

            if (versao == VersaoServico.Versao400)
            {
                icmsTot.vFCPUFDest   = 0;
                icmsTot.vICMSUFDest  = 0;
                icmsTot.vICMSUFRemet = 0;
                icmsTot.vFCP         = 0;
                icmsTot.vFCPST       = 0;
                icmsTot.vFCPSTRet    = 0;
                icmsTot.vIPIDevol    = 0;
            }

            foreach (var produto in produtos)
            {
                if (produto.imposto.IPI != null && produto.imposto.IPI.TipoIPI.GetType() == typeof(IPITrib))
                {
                    icmsTot.vIPI = icmsTot.vIPI + ((IPITrib)produto.imposto.IPI.TipoIPI).vIPI ?? 0;
                }

                if (produto.imposto.ICMS.TipoICMS.GetType() == typeof(ICMS00))
                {
                    icmsTot.vBC   = icmsTot.vBC + ((ICMS00)produto.imposto.ICMS.TipoICMS).vBC;
                    icmsTot.vICMS = icmsTot.vICMS + ((ICMS00)produto.imposto.ICMS.TipoICMS).vICMS;
                }
                if (produto.imposto.ICMS.TipoICMS.GetType() == typeof(ICMS20))
                {
                    icmsTot.vBC   = icmsTot.vBC + ((ICMS20)produto.imposto.ICMS.TipoICMS).vBC;
                    icmsTot.vICMS = icmsTot.vICMS + ((ICMS20)produto.imposto.ICMS.TipoICMS).vICMS;
                }
                //Outros Ifs aqui, caso vá usar as classes ICMS00, ICMS10 para totalizar
            }

            //** Regra de validação W16-10 que rege sobre o Total da NF **//
            icmsTot.vNF =
                icmsTot.vProd
                - icmsTot.vDesc
                - icmsTot.vICMSDeson.GetValueOrDefault()
                + icmsTot.vST
                + icmsTot.vFCPST.GetValueOrDefault()
                + icmsTot.vFrete
                + icmsTot.vSeg
                + icmsTot.vOutro
                + icmsTot.vII
                + icmsTot.vIPI
                + icmsTot.vIPIDevol.GetValueOrDefault();

            total t = new total {
                ICMSTot = icmsTot
            };

            return(t);
        }
Beispiel #11
0
 public Total(List <DetalhesProdutos> produtos)
 {
     ICMSTot = new ICMSTot(from p in produtos
                           where p.Impostos.impostos.Count(x => x is ICMS) > 0
                           select p);
 }
Beispiel #12
0
 protected void SetTotal(ICMSTot tot)
 {
     IcmsTot = tot;
 }