private void GeraRegistros02(DateTime dataIni, DateTime dataFim) { IRegistro01 reg01 = new Registro01 { MarcaECF = "Teste", VersaoSB = "1.0", DataInstalacaoSB = DateTime.Today, HoraInstalacaoSB = DateTime.Now, NumeroSequenciaECF = 1, CodigoMD5PAFECF = Cryptography.Files.MD5.GetMD5Hash(Settings.PAF.FilesFullPath), DataCriacao = DateTime.Today }; int i = 10000; IList<IFormaPagamento> formas = new Data.Cadastro.FormaPagamento().Find<IFormaPagamento>(); for(DateTime d = dataIni; d < dataFim; d = d.AddDays(1)) { IRegistro02 reg02 = new Registro02 { COO = new Random().Next(i++, 30000), CRO = new Random().Next(i++, 30000), CRZ = new Random().Next(i++, 30000), DataHoraCadastro = d, DataHoraEmissao = d, DataMovimento = d, DescricaoISSQN = "", GrandeTotal = new Random().NextDouble(1000, 10000), VendaBrutaDiaria = new Random().NextDouble(1000, 10000), MeiosPagamentos = new List<IRegistro02MeiosPagto> { new Registro02MeiosPagto{ FormaPagamento = formas[new Random().Next(0,formas.Count)].Descricao, Indice =0, ValorAcumulado = new Random().NextDouble(1000, 10000) }, new Registro02MeiosPagto{ FormaPagamento = formas[new Random().Next(0,formas.Count)].Descricao, Indice =0, ValorAcumulado = new Random().NextDouble(1000, 10000) }, new Registro02MeiosPagto{ FormaPagamento = formas[new Random().Next(0,formas.Count)].Descricao, Indice =0, ValorAcumulado = new Random().NextDouble(1000, 10000) } }, Registros03 = new List<IRegistro03> { new Registro03{ TotalizadorParcial = "T18,00", ValorAcumulado = new Random().NextDouble(1000,10000) }, new Registro03{ TotalizadorParcial = "T07,00", ValorAcumulado = new Random().NextDouble(1000,10000) }, new Registro03{ TotalizadorParcial = "T12,00", ValorAcumulado = new Random().NextDouble(1000,10000) } } }; reg01.RegistrosR2.Add(reg02); } reg01.Save(); }
/// <summary> /// /// </summary> private void CriaRegistro02() { #region Registro R01 IRegistro01 registro01 = Registro01.Create(Settings.ECF.ECFAtual); if (registro01.IsNullOrEmpty()) { //Tornar os campos Inscrição Estadual e Inscrição Municipal com 14 posições, pois temos mandar a string com essa quantidade string inscEst = Unimake.Convert.ToString(Unimake.Utilities.OnlyNumbers(Settings.SoftwareHouse.IE, "-,.\\/")); string inscMun = Unimake.Convert.ToString(Unimake.Utilities.OnlyNumbers(Settings.SoftwareHouse.IM, "-,.\\/")); inscEst = inscEst.PadRight(14, ' ').Substring(0, 14); inscMun = inscMun.PadRight(14, ' ').Substring(0, 14); registro01 = new Registro01(); registro01.Impressora = Settings.ECF.ECFAtual; registro01.TipoECF = TipoECF.ECFIF.ToString(); registro01.MarcaECF = ACBrECF.SubModeloECF; registro01.VersaoSB = ACBrECF.NumVersao; registro01.DataInstalacaoSB = ACBrECF.DataHoraSB.Date; registro01.HoraInstalacaoSB = ACBrECF.DataHoraSB; registro01.NumeroSequenciaECF = Unimake.Convert.ToInt(ACBrECF.NumECF); registro01.CNPJEmitente = Utilities.OnlyNumbers(ACBrECF.CNPJ, "-.,/").ToString(); registro01.IEEmitente = Utilities.OnlyNumbers(ACBrECF.IE, ".-\\/").ToString(); registro01.CNPJSoftwareHouse = System.Convert.ToString(Unimake.Utilities.OnlyNumbers(Settings.SoftwareHouse.CNPJ, "./-")); registro01.IESoftwareHouse = inscEst; registro01.InscrMunicipalSoftwareHouse = inscMun; registro01.DenominacaoSoftwareHouse = Settings.SoftwareHouse.Nome; registro01.NomePAFECF = Settings.SoftwareHouse.NomeApp; registro01.VersaoPAFECF = Settings.SoftwareHouse.Versao; registro01.CodigoMD5PAFECF = Cryptography.Files.MD5.GetMD5Hash(Settings.PAF.FilesFullPath); registro01.DataCriacao = DateTime.Today; registro01.VersaoEspecReqPAFECF = Settings.SoftwareHouse.VersaoER; registro01.Save(); } #endregion #region Registro R02 - Relações da Redução Z IRegistro02 registro02 = new Registro02(); registro02.Parent = registro01; registro02.CRZ = DadosReducaoZ.CRZ; registro02.COO = DadosReducaoZ.COO; registro02.CRO = DadosReducaoZ.CRO; registro02.CCF = DadosReducaoZ.CCF; registro02.DataMovimento = DadosReducaoZ.DataDoMovimento; registro02.DataHoraEmissao = DadosReducaoZ.DataHoraEmissao; registro02.VendaBrutaDiaria = Unimake.Convert.ToDouble(DadosReducaoZ.ValorVendaBruta); registro02.GrandeTotal = Unimake.Convert.ToDouble(DadosReducaoZ.ValorGrandeTotal); //TODO André: Por enquanto mandamos com o valor 0.00, pois não temos a parte tributária registro02.TotalPIS = 0; registro02.TotalCofins = 0; registro02.ParametroECFISSQN = true; #region Registro R02 - Meios de pagamentos foreach (FormaPagamento formaPagto in DadosReducaoZ.MeiosDePagamento) { if (formaPagto.Total > 0) { registro02.MeiosPagamentos.Add(new Registro02MeiosPagto { Indice = Unimake.Convert.ToInt(formaPagto.Indice), FormaPagamento = formaPagto.Descricao, ValorAcumulado = Unimake.Convert.ToDouble(formaPagto.Total) }); } } #endregion #region Registro R03 - Detalhes da Redução Z foreach (ACBrFramework.ECF.Aliquota aliquotaICMS in DadosReducaoZ.ICMS.OrderBy(o => o.Indice)) { //Gravar o total vendido pela alíquota de ICMS if (aliquotaICMS.Total > 0) { registro02.Registros03.Add(new Registro03 { TotalizadorParcial = string.Format("{0}T{1:0000}", aliquotaICMS.Indice.PadLeft(2, '0'), aliquotaICMS.ValorAliquota.ToString("00.00", CultureInfo.InvariantCulture).Replace(".", "")), ValorAcumulado = Unimake.Convert.ToDouble(aliquotaICMS.Total) }); } } foreach (ACBrFramework.ECF.Aliquota aliquotaISS in DadosReducaoZ.ISSQN.OrderBy(o => o.Indice)) { //Gravar o total vendido pela alíquota de ISSQN if (aliquotaISS.Total > 0) { registro02.Registros03.Add(new Registro03 { TotalizadorParcial = string.Format("{0}S{1:0000}", aliquotaISS.Indice.PadLeft(2, '0'), aliquotaISS.ValorAliquota.ToString("00.00", CultureInfo.InvariantCulture).Replace(".", "")), ValorAcumulado = Unimake.Convert.ToDouble(aliquotaISS.Total) }); } } //Gravar o total vendido de Substituição Tributária de ICMS registro02.Registros03.Add(new Registro03 { TotalizadorParcial = "F1", ValorAcumulado = Unimake.Convert.ToDouble(DadosReducaoZ.SubstituicaoTributariaICMS) }); //Gravar o total vendido de Substituição Tributária de ISSQN registro02.Registros03.Add(new Registro03 { TotalizadorParcial = "FS1", ValorAcumulado = Unimake.Convert.ToDouble(DadosReducaoZ.SubstituicaoTributariaISSQN) }); //Gravar o total vendido de Isentos de ICMS registro02.Registros03.Add(new Registro03 { TotalizadorParcial = "I1", ValorAcumulado = Unimake.Convert.ToDouble(DadosReducaoZ.IsentoICMS) }); //Gravar o total vendido de Isentos de ISSQN registro02.Registros03.Add(new Registro03 { TotalizadorParcial = "IS1", ValorAcumulado = Unimake.Convert.ToDouble(DadosReducaoZ.IsentoISSQN) }); //Gravar o total vendido de Não Tributados pelo ICMS registro02.Registros03.Add(new Registro03 { TotalizadorParcial = "N1", ValorAcumulado = Unimake.Convert.ToDouble(DadosReducaoZ.NaoTributadoICMS) }); //Gravar o total vendido de Não Tributados pelo ISSQN registro02.Registros03.Add(new Registro03 { TotalizadorParcial = "NS1", ValorAcumulado = Unimake.Convert.ToDouble(DadosReducaoZ.NaoTributadoISSQN) }); //Gravar o total vendido de Operações Não Fiscais registro02.Registros03.Add(new Registro03 { TotalizadorParcial = "OPNF", ValorAcumulado = Unimake.Convert.ToDouble(DadosReducaoZ.TotalOperacaoNaoFiscal) }); //Gravar o total de Desconto de ICMS registro02.Registros03.Add(new Registro03 { TotalizadorParcial = "DT", ValorAcumulado = Unimake.Convert.ToDouble(DadosReducaoZ.DescontoICMS) }); //Gravar o total de Desconto de ISSQN registro02.Registros03.Add(new Registro03 { TotalizadorParcial = "DS", ValorAcumulado = Unimake.Convert.ToDouble(DadosReducaoZ.DescontoISSQN) }); //Gravar o total de Acréscimo de ICMS registro02.Registros03.Add(new Registro03 { TotalizadorParcial = "AT", ValorAcumulado = Unimake.Convert.ToDouble(DadosReducaoZ.AcrescimoICMS) }); //Gravar o total de Acréscimo de ISSQN registro02.Registros03.Add(new Registro03 { TotalizadorParcial = "AS", ValorAcumulado = Unimake.Convert.ToDouble(DadosReducaoZ.AcrescimoISSQN) }); //Gravar o total de cancelamento de ICMS registro02.Registros03.Add(new Registro03 { TotalizadorParcial = "Can-T", ValorAcumulado = Unimake.Convert.ToDouble(DadosReducaoZ.CancelamentoICMS) }); //Gravar o total de cancelamento de ISSQN registro02.Registros03.Add(new Registro03 { TotalizadorParcial = "Can-S", ValorAcumulado = Unimake.Convert.ToDouble(DadosReducaoZ.CancelamentoISSQN) }); #endregion registro02.Save(); #endregion #region Mapa resumo //Exporta os dados do mapa resumo de acordo com as informações da Redução Z gerada Export export = new Export(); export.Where = new Where { { "arq_Registro02.GUID = @guid", new Parameter { ParameterName = "@guid", Value = registro02.GUID } } }; export.Execute("MapaResumo"); #endregion }
private void GerarBlocoC() { #region C400 IList<IRegistro01> registros01 = new Registro02().Find<IRegistro01>(new Where { {"DataCriacao Between @p1 AND @p2", new[]{ new Parameter { ParameterName = "@p1", GenericDbType = GenericDbType.DateTime, Value = ACBrSPED.DT_INI }, new Parameter { ParameterName = "@p2", GenericDbType = GenericDbType.DateTime, Value = ACBrSPED.DT_FIN } } } }); //------------------------------------------------------------------------- // Unir todos os registros 02 em uma única variável //------------------------------------------------------------------------- var registros02 = from x in registros01 from r in x.RegistrosR2 select new { Impressora = x.Impressora, CRZ = r.CRZ, COO = r.COO, CRO = r.CRO, DataMovimento = r.DataMovimento, DataHoraEmissao = r.DataHoraEmissao, VendaBrutaDiaria = r.VendaBrutaDiaria, Registros03 = r.Registros03, MeiosPagamentos = r.MeiosPagamentos, GrandeTotal = r.GrandeTotal, TotalPIS = r.TotalPIS, TotalCofins = r.TotalCofins, ParametroECFISSQN = r.ParametroECFISSQN }; var c400s = (from c in Cupons group c by c.Impressora.GUID into g select new { impressora = g.First().Impressora, data = Unimake.Convert.ToDateTime(g.First().DataHoraMovimento.ToShortDateString()), codigo = "2D", modelo = g.First().Impressora.ModeloDocumentoFiscal, serie = g.First().Impressora.Serie, caixa = g.First().Impressora.PDV.NumeroCaixa }); foreach(var c400 in c400s) { ACBrFramework.Sped.RegistroC400 regC400 = new ACBrFramework.Sped.RegistroC400 { COD_MOD = c400.codigo, ECF_MOD = c400.modelo, ECF_FAB = c400.serie, ECF_CX = c400.caixa }; ACBrSPED.Bloco_C.RegistroC001.RegistroC400.Add(regC400); #region 405 e filhos #region 405 var c405s = (from c in registros02 where c.Impressora.GUID == c400.impressora.GUID && c.DataMovimento.IsEqual(c400.data) select new { data = c.DataMovimento, cro = c.CRO, crz = c.CRZ, coo = c.COO, vendaBruta = (decimal)c.VendaBrutaDiaria, gt = (decimal)c.GrandeTotal }); foreach(var c405 in c405s) { RegistroC405 regC405 = new RegistroC405 { DT_DOC = c405.data, CRO = c405.cro, CRZ = c405.crz, NUM_COO_FIN = c405.coo, GT_FIN = c405.gt, VL_BRT = c405.vendaBruta }; regC400.RegistroC405.Add(regC405); #region 410 var c410s = (from c in Cupons where c.Impressora.GUID == c400.impressora.GUID && c.DataHoraMovimento.IsEqual(c400.data) && ( c.Itens.Sum(j => j.Tributos.Where(k => k.Aliquota.Parent.TipoTributo == Enuns.Cadastro.Tributo.TipoTributo.COFINS).Sum(k => k.VlrTributo)) > 0 || c.Itens.Sum(j => j.Tributos.Where(k=> k.Aliquota.Parent.TipoTributo == Enuns.Cadastro.Tributo.TipoTributo.PIS).Sum(k=>k.VlrTributo)) > 0 ) from i in c.Itens select new { pis = (decimal)i.Tributos.Where(k => k.Aliquota.Parent.TipoTributo == Enuns.Cadastro.Tributo.TipoTributo.PIS).Sum(k => k.VlrTributo), cofins = (decimal)i.Tributos.Where(k => k.Aliquota.Parent.TipoTributo == Enuns.Cadastro.Tributo.TipoTributo.COFINS).Sum(k => k.VlrTributo) }); foreach(var c410 in c410s) { ACBrFramework.Sped.RegistroC410 regC410 = new ACBrFramework.Sped.RegistroC410(); regC410.VL_COFINS = c410.cofins; regC410.VL_PIS = c410.pis; regC405.RegistroC410.Add(regC410); } #endregion #endregion #region 420 regC405.RegistroC420.AddRange((from r3 in ( from r in registros02 where r.Impressora.GUID == c400.impressora.GUID && r.DataMovimento.IsEqual(c400.data) from r3 in r.Registros03 select r3) select new RegistroC420 { COD_TOT_PAR = r3.TotalizadorParcial, VLR_ACUM_TOT = (decimal)r3.ValorAcumulado }).ToArray<RegistroC420>()); #endregion #region 460 var c460s = (from c in Cupons where c.Impressora.GUID == c400.impressora.GUID && c.DataHoraMovimento.IsEqual(c400.data) select new { COD_MOD = "2D", COD_SIT = c.Situacao.ToSPED(), NUM_DOC = c.COO.ToString(), DT_DOC = c.DataHoraMovimento, VL_DOC = (decimal)c.ValorTotalLiquido, VL_PIS = (decimal)c.Itens.Sum(p => p.Tributos.Where(k => k.Aliquota.Parent.TipoTributo == Enuns.Cadastro.Tributo.TipoTributo.PIS).Sum(k=>k.VlrTributo)), VL_COFINS = (decimal)c.Itens.Sum(p => p.Tributos.Where(k => k.Aliquota.Parent.TipoTributo == Enuns.Cadastro.Tributo.TipoTributo.COFINS).Sum(k => k.VlrTributo)), CPF_CNPJ = Utilities.OnlyNumbers(c.DadoPessoa.Cliente.GetCPFCNPJ(), "-.", false).ToString(), NOM_ADQ = c.DadoPessoa.Cliente.RazaoSocial, itens = c.Itens }); foreach(var c460 in c460s) { RegistroC460 regC460 = new RegistroC460(); regC460.COD_MOD = "2D"; regC460.COD_SIT = c460.COD_SIT; regC460.NUM_DOC = c460.NUM_DOC; regC460.DT_DOC = c460.DT_DOC; regC460.VL_DOC = c460.VL_DOC; regC460.VL_PIS = c460.VL_PIS; regC460.VL_COFINS = c460.VL_COFINS; regC460.CPF_CNPJ = c460.CPF_CNPJ; regC460.NOM_ADQ = c460.NOM_ADQ; regC405.RegistroC460.Add(regC460); #region 470 //REGISTRO C470: ITENS DO DOCUMENTO FISCAL EMITIDO POR ECF (CÓDIGO 02 e 2D). foreach(var c460Itens in c460.itens) { RegistroC470 regc470 = new RegistroC470(); regc470.COD_ITEM = c460Itens.ItemMovimentado.EGUID; regc470.QTD = (decimal)c460Itens.Quantidade; regc470.QTD_CANC = (decimal)c460Itens.Registro05.QuantidadeCancelada; regc470.UNID = c460Itens.Unidade.Descricao; regc470.VL_ITEM = (decimal)c460Itens.ValorTotalLiquido; regc470.CST_ICMS = c460Itens.CSTCSOSNCodigos.Where(k=>k.CSTCSOSNCod.TipoTributo == Enuns.Cadastro.Tributo.TipoTributo.ICMS).FirstOrDefault().CSTCSOSNCod.Codigo; regc470.CFOP = c460Itens.CFOP.CFOP; regc470.ALIQ_ICMS = (decimal)c460Itens.Tributos.Where(k=>k.Aliquota.Parent.TipoTributo == Enuns.Cadastro.Tributo.TipoTributo.ICMS).FirstOrDefault().Aliquota.Valor; regc470.VL_PIS = (decimal)c460Itens.Tributos.Where(k => k.Aliquota.Parent.TipoTributo == Enuns.Cadastro.Tributo.TipoTributo.PIS).FirstOrDefault().Aliquota.Valor; regc470.VL_COFINS = (decimal)c460Itens.Tributos.Where(k => k.Aliquota.Parent.TipoTributo == Enuns.Cadastro.Tributo.TipoTributo.COFINS).FirstOrDefault().Aliquota.Valor; regC460.RegistroC470.Add(regc470); } #endregion #endregion } #region 490 regC405.RegistroC490.AddRange(( from x in (from c in Cupons from i in c.Itens select i) group x by new { cst = x.CSTCSOSNCodigos.Where(k=>k.CSTCSOSNCod.TipoTributo== TipoTributo.ICMS).FirstOrDefault().CSTCSOSNCod.Codigo, cfop = x.CFOP.CFOP, aliquota = x.Tributos.Where(k=>k.Aliquota.Parent.TipoTributo== TipoTributo.ICMS).FirstOrDefault().Aliquota.Valor } into g select new RegistroC490 { CST_ICMS = g.Key.cst, CFOP = g.Key.cfop, ALIQ_ICMS = (decimal)g.Key.aliquota, VL_OPR = (decimal)g.Sum(s => s.ValorTotalLiquido), VL_BC_ICMS = (decimal)g.Sum(s => s.Tributos.Where(k => k.Aliquota.Parent.TipoTributo == Enuns.Cadastro.Tributo.TipoTributo.ICMS).Sum(k => k.VlrBaseCalculo)), VL_ICMS = (decimal)g.Sum(s => s.Tributos.Where(k => k.Aliquota.Parent.TipoTributo == Enuns.Cadastro.Tributo.TipoTributo.PIS).Sum(k => k.VlrTributo)) }).ToArray<RegistroC490>()); #endregion } #endregion } #endregion }
public override void Gravar() { #region Impressora //criar uma impressora ImpressoraTest imprTest = new ImpressoraTest(); imprTest.Gravar(); IImpressora impressora = new Impressora(imprTest.GUID); #endregion #region Regsitro 01 Registro01 r01 = new Registro01(); r01.Impressora = impressora; r01.TipoECF = "TipoECF"; r01.MarcaECF = "MarcaECF"; r01.VersaoSB = "VesaoSB"; r01.DataInstalacaoSB = DateTime.Today; r01.HoraInstalacaoSB = DateTime.Now; r01.NumeroSequenciaECF = 1; r01.CNPJEmitente = "04141174000125"; r01.IEEmitente = "1234567890"; r01.CNPJSoftwareHouse = "04141174000125"; r01.IESoftwareHouse = "InscEstSoftHouse"; r01.InscrMunicipalSoftwareHouse = "InscMunSoftHouse"; r01.DenominacaoSoftwareHouse = "DenominacaoSoftHouse"; r01.NomePAFECF = "NomePAFECF"; r01.VersaoPAFECF = "VersaoPAFECF"; r01.CodigoMD5PAFECF = "CodMD5PAFECF"; r01.DataCriacao = DateTime.Today; r01.VersaoEspecReqPAFECF = "VersaoEspReqPAFECF"; #endregion #region Registro 02 Registro02 r02 = new Registro02(); r02.CRZ = 1; r02.COO = 1; r02.CRO = 1; r02.DataMovimento = DateTime.Today; r02.DataHoraEmissao = DateTime.Now; r02.VendaBrutaDiaria = new Random().NextDouble(500); r02.ParametroECFISSQN = false; r02.Registros03.Add(new Registro03() { ValorAcumulado = new Random().NextDouble(500), TotalizadorParcial = "T1800" }); r02.Registros03.Add(new Registro03() { ValorAcumulado = new Random().NextDouble(500), TotalizadorParcial = "F1800" }); r02.MeiosPagamentos.Add(new Registro02MeiosPagto { FormaPagamento = "Dinheiro", Indice = 1, ValorAcumulado = new Random().NextDouble(500), }); r02.MeiosPagamentos.Add(new Registro02MeiosPagto { FormaPagamento = "Cartao", Indice = 2, ValorAcumulado = new Random().NextDouble(500), }); r01.RegistrosR2.Add(r02); #endregion #region Registro 04 #region Movimento PreVendaTest pvTest = new PreVendaTest(); pvTest.Gravar(); IMovimento movimento = new PreVenda(pvTest.GUID); #endregion Registro04 r04 = new Registro04(); r04.Movimento = movimento; r04.NumeroFabricacao = "p_NumeroFabricacao"; r04.MFAdicional = "p_MFAdicional"; r04.ModeloECF = "p_ModeloECF"; r04.NumeroUsuario = 1; r04.CCF = 1; r04.COO = 2; r04.DataEmissao = DateTime.Today; r04.ValorSubtotal = new Random().NextDouble(50); r04.ValorDescontoSubtotal = new Random().NextDouble(50); r04.TipoDescontoSubtotal = IndicadorTipo.Monetario; r04.ValorAcrescimoSubtotal = new Random().NextDouble(50); r04.TipoAcrescimoSubtotal = IndicadorTipo.Percentual; r04.ValorTotalLiquido = new Random().NextDouble(50); r04.Cancelado = IndicadorCancelamento.Nao; r04.ValorCancelamentoAcrescimoSubtotal = new Random().NextDouble(50); r04.OrdemDescontoAcrescimo = IndicadorOrdem.Desconto; r04.NomeAdquirente = "Marcelo"; r04.CPFCNPJAdquirente = "25806756807"; //adicionar registros05 r04.Registros05.Add(new Registro05 { ItemMovimentado = movimento.Itens[0], NumeroFabricacao = "NumeroFabricacao", MFAdicional = "MFAdicional", ModeloECF = "ModeloECF", NumeroUsuario = 1, COO = 1, CCF = 1, NumeroItem = 1, CodigoTotalalizadorParcial = "CodigoTotalalizadorParcial", Cancelado = IndicadorCancelamento.Nao, QuantidadeCancelada = new Random().NextDouble(50), ValorCancelado = new Random().NextDouble(50), ValorCancelamentoAcrescimo = new Random().NextDouble(50), IndicadorTruncamento = IndicadorTruncamento.Arredondamento, IndicadorProducao = IndicadorProducao.Proprio, QuantidadeCasaDecimal = 2, QuantidadeCasaDecimalVlrUnit = 2, SituacaoTributaria = SituacaoTributaria.Isento }); r01.RegistrosR4.Add(r04); #endregion #region Registro 06 Registro06 r06 = new Registro06(); r06.NumeroFabricacao = "p_NumeroFabricacao"; r06.MFAdicional = "p_MFAdicional"; r06.ModeloECF = "p_ModeloECF"; r06.NumeroUsuario = 1; r06.COO = 2; r06.GNF = 1; r06.GRC = 1; r06.Denominacao = SimboloDenominacao.ComprovanteCreditoDebito; r06.DataFinalEmissao = DateTime.Today; r06.HoraFinalEmissao = DateTime.Today; //adicionar registros07 r06.Registros07.Add(new Registro07() { COO = 1, CCF = 1, GNF = 1, //TODO: Quando implementar a baixa, colocar neste teste //BaixaForma IndicadorEstorno = IndicadorEstorno.Nao, ValorEstornado = new Random().NextDouble(50) }); r01.RegistrosR6.Add(r06); #endregion GUID = r01.Save(); }
/// <summary> /// Recompoe totalizador geral da impressora /// </summary> /// <returns>verdadeiro ou false, se recompoe o totalizador</returns> public bool RecomporTotalizadorGeral(int CRZ, int CRO, decimal vendaBruta, DateTime dataHoraEmissaoReducaoZ) { double vendaBrutaDiaria = Convert.ToDouble(vendaBruta); IRegistro02 registro02 = new Registro02(dataHoraEmissaoReducaoZ); return (CRZ == registro02.CRZ && CRO == registro02.CRO && vendaBrutaDiaria == registro02.VendaBrutaDiaria); }