public override void Gravar() { #region Tributo TributoTest tributoTest = new TributoTest(); tributoTest.Gravar(); ITributo tributo = new Tributo(tributoTest.GUID); IList<IAliquotaTributo> tributosAliquotas = new List<IAliquotaTributo>(); tributosAliquotas.Add(tributo.Aliquotas[0]); IAliquotaTributo aliquotaTributo = new AliquotaTributo(tributosAliquotas[0].GUID); #endregion #region Impressora ImpressoraTest impressoraTest = new ImpressoraTest(); impressoraTest.Gravar(); IImpressora impressora = new Impressora(impressoraTest.GUID); #endregion IAliquota aliquota = new Aliquota(); aliquota.TributoAliquota = aliquotaTributo; aliquota.Impressora = impressora; aliquota.Aliquota = 18.50; aliquota.Indice = "T18,50"; GUID = aliquota.Save(); }
public override void Gravar() { #region PDV //Gravar o PDV de acordo com o nome do seu computador, então informe o nome do seu computador no campo Nome do teste PDVTest pdvTest = new PDVTest(); pdvTest.Gravar(); PDV pdv = new PDV(pdvTest.GUID); #endregion Impressora t = new Impressora(); t.Descricao = new Random().NextString(); t.Serie = "012345678901234567890123456789"; t.Identificacao = "Daruma FS600"; t.Tipo = Enuns.ECF.TipoImpressora.Fiscal; t.Marca = "DARUMA AUTOMAÇÃO"; t.ModeloACBR = ACBrFramework.ECF.ModeloECF.Daruma; t.ModeloDocumentoFiscal = "2D"; t.Versao = "Versao"; t.MFD = true; t.MFAdicional = " "; t.NumeroUsuario = 1; t.PDV = pdv; t.Porta = "COM1"; GUID = t.Save(); }
/// <summary> /// Método utilizado para preencher esta instância com os dados do dataReader /// </summary> /// <param name="dataReader">DataReader com os dados que deverão ser passados para esta instância</param> public override void Populate(DataReader dataReader) { #region base base.Populate(dataReader); #endregion #region desta classe Impressora = new Impressora(dataReader.GetValue<string>("p_GUIDImpressora")); #endregion }
public void HasHashModificationTest() { Gravar(); IImpressora p1 = new Impressora(GUID); IImpressora p2 = new Impressora(GUID); //alterar a forma 2, e comparar se houve modificação do HASH p2.Descricao = "Teste de Modificação do HASH"; Assert.AreNotEqual(p1.RecordHash, p2.RecordHash); Assert.IsTrue(p2.HasHashModification); //alterar a descrição, tem que ficar igual p2.Descricao = p1.Descricao; Assert.AreEqual(p1.RecordHash, p2.RecordHash); }
public override void Popular() { Impressora t = new Impressora(GUID); DumpElement(t); }
public override void Editar() { Impressora t = new Impressora(GUID); t.Descricao = "Teste de Impressora editado"; t.Save(); }
/// <summary> /// Método para salvar a impressora /// </summary> /// <param name="pdv">PDV a que esta impressora está conectada</param> /// <param name="modelo">modelo de impressora </param> /// <param name="porta">porta a que a impressora está conectada</param> private static IImpressora SaveImpressora(IPDV pdv, ModeloECF modelo = ModeloECF.Nenhum, string porta = null) { IImpressora result = null; if (Unimake.Convert.ToBoolean(Settings.Setting.EmissaoConsumidorFinalNFCe)) { //Salva uma impressora para o terminal result = new Impressora(); result.Descricao = Settings.MachineName; ; result.Serie = "99999999999999999"; result.Identificacao = "99999999999999999"; result.Tipo = Enuns.ECF.TipoImpressora.NaoFiscal; result.Marca = "NaoFiscal"; result.ModeloACBR = ModeloECF.NaoFiscal; //TODO: Caso for utilizar o sistema com algum tipo de impressora diferente de ecf implementar a verificação result.ModeloDocumentoFiscal = OpenPOS.Arquivo.Sintegra.ModeloDocumento.Dois2D.ToString(); result.Versao = "99999999999999999"; result.MFD = false; result.MFAdicional = "N"; result.NumeroUsuario = 0; result.PDV = pdv; result.Porta = "USB"; result.Save(); } else using (IECF ecf = ReturnECF(modelo, porta)) { result = new Impressora(); result.Descricao = Settings.MachineName; ; result.Serie = ecf.NumeroSerie; result.Identificacao = ecf.NumeroSerie.ToString(); result.Tipo = ecf.TipoImpressora; result.Marca = ecf.Modelo.ToString(); result.ModeloACBR = ecf.Modelo; //TODO: Caso for utilizar o sistema com algum tipo de impressora diferente de ecf implementar a verificação result.ModeloDocumentoFiscal = OpenPOS.Arquivo.Sintegra.ModeloDocumento.Dois2D.ToString(); result.Versao = ecf.NumeroVersao; result.MFD = ecf.IsMFD; result.MFAdicional = ecf.MFAdicional; result.NumeroUsuario = Unimake.Convert.ToInt(ecf.NumeroECF); result.PDV = pdv; result.Porta = ecf.Dipositivo.Porta; result.Save(); } return result; }
public override void AfterSave(bool updating) { base.AfterSave(updating); #region movimento vinculado if (updating) { foreach (IMovimento movimentoVinculado in MovimentosVinculados) { ILanSK sk = new LanSK(); sk.GUIDSK = this.GUID; sk.Pai = this.GUID; sk.Filho = movimentoVinculado.GUID; sk.TableHash = this.GetTableHash(); sk.Save(); this.Connection.ExecuteNonQuery("UPDATE fat_Lan SET Status = @status WHERE GUID = @guid", new[] { new Parameter{ ParameterName = "@status", GenericDbType= GenericDbType.Integer, Value = (int)Enuns.Faturamento.Lancamento.Status.ImpressoCupom }, new Parameter{ ParameterName = "@guid", Value = movimentoVinculado.GUID } }); } } #endregion #region Registro 04 /*TODO: Conforme ir fazendo os ajustes na Venda de Cupom fiscal será necessários informar os valroes corretos para os registros 04 e 05; * Ajustes no Registro 04: * CCF, COO, ValorSubtotal, ValorDescontoSubtotal, TipoDescontoSubtotal, ValorAcrescimoSubtotal, TipoAcrescimoSubtotal, Cancelado * ValorCancelamentoAcrescimoSubtotal, OrdemDescontoAcrescimo * Ajustes no Registro 05: * COO, CCF, CodigoTotalalizadorParcial, Cancelado, QuantidadeCancelada, ValorCancelado, ValorCancelamentoAcrescimo,QuantidadeCasaDecimal * QuantidadeCasaDecimalVlrUnit */ IRegistro04 reg04 = new Registro04(); //Gravar os dados da venda de cupom fiscal no registro 04 //------------------------------------------------------------------------- // Procurar a impressora pelo PDV //------------------------------------------------------------------------- IList<IImpressora> impressoras = new Impressora().Find<IImpressora>(new Where { {"ecf_Impressora.GUIDPDV = @p1", new Parameter{ ParameterName = "@p1", Value = AbreFechaCaixa.Caixa.PDV.GUID }} }); if (impressoras.Count > 0 && !updating) { IImpressora ecfAtual = impressoras[0]; reg04.Movimento = this; reg04.MFAdicional = ecfAtual.MFAdicional; reg04.ModeloECF = Unimake.Convert.ToString(ecfAtual.ModeloACBR); reg04.NumeroUsuario = Unimake.Convert.ToInt(ecfAtual.NumeroUsuario); reg04.CCF = this.CCF; reg04.COO = this.COO; reg04.DataEmissao = this.DataEmissao; reg04.ValorSubtotal = this.ValorTotalBruto; reg04.ValorDescontoSubtotal = 0; reg04.TipoDescontoSubtotal = IndicadorTipo.Monetario; reg04.ValorAcrescimoSubtotal = 0; reg04.TipoAcrescimoSubtotal = IndicadorTipo.Monetario; reg04.ValorTotalLiquido = this.ValorTotalLiquido; reg04.Cancelado = IndicadorCancelamento.Nao; reg04.ValorCancelamentoAcrescimoSubtotal = 0; reg04.OrdemDescontoAcrescimo = IndicadorOrdem.Desconto; reg04.NumeroFabricacao = ecfAtual.Serie; if (DadoPessoa != null) { reg04.NomeAdquirente = this.DadoPessoa.NomeFantasia.Substring(0, 40); if (this.DadoPessoa.Cliente.FisicaJuridica == Enuns.Cadastro.Pessoa.FisicaJuridica.Fisica) reg04.CPFCNPJAdquirente = Unimake.Utilities.OnlyNumbers(this.DadoPessoa.Cliente.Fisica.CPF.ToString(), "./-").ToString(); else reg04.CPFCNPJAdquirente = Unimake.Utilities.OnlyNumbers(this.DadoPessoa.Cliente.Juridica.CNPJ.ToString(), "./-").ToString(); } int numeroItemECF = 0; foreach (IItem item in this.Itens) { numeroItemECF += 1; //Gravar os dados dos itens do cupom fiscal no registro 05 IRegistro05 reg05 = new Registro05(); reg05.ItemMovimentado = item; reg05.NumeroFabricacao = ecfAtual.Identificacao; reg05.MFAdicional = ecfAtual.MFAdicional; reg05.ModeloECF = Unimake.Convert.ToString(ecfAtual.ModeloACBR); reg05.NumeroUsuario = reg04.NumeroUsuario; reg05.COO = reg04.COO; reg05.CCF = reg04.CCF; reg05.NumeroItem = numeroItemECF; reg05.CodigoTotalalizadorParcial = "I01"; reg05.SituacaoTributaria = item.SituacaoTributaria; if (Unimake.Convert.ToEnum<Enuns.Faturamento.Lancamento.Movimento.Item.Status>(item.Status) == Enuns.Faturamento.Lancamento.Movimento.Item.Status.Cancelado) { reg05.Cancelado = "S"; reg05.QuantidadeCancelada = item.Quantidade; reg05.ValorCancelado = item.ValorTotalBruto; } else { reg05.Cancelado = "N"; reg05.QuantidadeCancelada = 0; reg05.ValorCancelado = 0; } Model.Cadastro.Item.Produto.IProduto produto = item.ItemMovimentado as Model.Cadastro.Item.Produto.IProduto; reg05.ValorCancelamentoAcrescimo = 0; reg05.IndicadorTruncamento = produto.IndicadorTruncamento; reg05.IndicadorProducao = produto.IndicadorProducao; reg05.QuantidadeCasaDecimal = 2; reg05.QuantidadeCasaDecimalVlrUnit = 2; reg05.NumeroFabricacao = reg04.NumeroFabricacao; reg04.Registros05.Add(reg05); reg04.Save(); } } #endregion }
/// <summary> /// Método utilizado para preencher esta instância com os dados do dataReader /// </summary> /// <param name="dataReader">DataReader com os dados que deverão ser passados para esta instância</param> public override void Populate(DataReader dataReader) { #region base base.Populate(dataReader); #endregion #region desta classe TipoECF = dataReader.GetValue<string>("p_TipoECF"); MarcaECF = dataReader.GetValue<string>("p_MarcaECF"); VersaoSB = dataReader.GetValue<string>("p_VersaoSB"); DataInstalacaoSB = dataReader.GetValue<DateTime>("p_DataInstSB"); HoraInstalacaoSB = dataReader.GetValue<DateTime>("p_HoraInstSB"); NumeroSequenciaECF = dataReader.GetValue<int>("p_NumSeqECF"); CNPJEmitente = dataReader.GetValue<string>("p_CNPJEmitente"); IEEmitente = dataReader.GetValue<string>("p_InscEstEmitente"); CNPJSoftwareHouse = dataReader.GetValue<string>("p_CNPJSoftHouse"); IESoftwareHouse = dataReader.GetValue<string>("p_InscEstSoftHouse"); InscrMunicipalSoftwareHouse = dataReader.GetValue<string>("p_InscMunSoftHouse"); DenominacaoSoftwareHouse = dataReader.GetValue<string>("p_DenominacaoSoftHouse"); NomePAFECF = dataReader.GetValue<string>("p_NomePAFECF"); VersaoPAFECF = dataReader.GetValue<string>("p_VersaoPAFECF"); CodigoMD5PAFECF = dataReader.GetValue<string>("p_CodMD5PAFECF"); DataCriacao = dataReader.GetValue<DateTime>("p_DataCriacao"); VersaoEspecReqPAFECF = dataReader.GetValue<string>("p_VersaoEspReqPAFECF"); Impressora = new Impressora(dataReader.GetValue<string>("p_GUIDImpressora")); #endregion #region Registros 02 Lazy.Add<IList<IRegistro02>>("RegistrosR2", () => { return new Registro02().Find<IRegistro02, IRegistro01>(new Where { {"GUIDRegistro01 = @p1", new Parameter{ ParameterName = "@p1", Value = GUID } } }, this); }); #endregion #region Registros 04 Lazy.Add<IList<IRegistro04>>("RegistrosR4", () => { return new Registro04().Find<IRegistro04, IRegistro01>(new Where { {"GUIDRegistro01 = @p1", new Parameter{ ParameterName = "@p1", Value = GUID } } }, this); }); #endregion #region Registros 06 Lazy.Add<IList<IRegistro06>>("RegistrosR6", () => { return new Registro06().Find<IRegistro06, IRegistro01>(new Where { {"GUIDRegistro01 = @p1", new Parameter{ ParameterName = "@p1", Value = GUID } } }, this); }); #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(); }
public override bool PerformStep() { bool result = base.PerformStep(); if(result) { if(!pnlECFAdicionais.Visible) { //------------------------------------------------------------------------- // Tentar recuperar as informações da ECF //------------------------------------------------------------------------- IECF ecf = null; try { IImpressora impressora = null; ecf = chkECFAutomaticamente.Checked ? new ECF.ECF() : new ECF.ECF(Unimake.Convert.ToEnum<ModeloECF>(cboECFModelo.Text), cboECFPorta.Text); CurrentConfig.ECFNumeroSerieECF = ecf.NumeroSerie; helpPDV.Text = String.Format("Será criado automaticamente um PDV com o nome {0} para a impressora {1}.", Settings.MachineName, ecf.NumeroSerie); impressora = new Impressora(); impressora.Descricao = Settings.MachineName; impressora.Serie = ecf.NumeroSerie; impressora.Identificacao = ecf.NumeroSerie.ToString(); impressora.Tipo = ecf.TipoImpressora; impressora.Marca = ecf.Modelo.ToString(); impressora.ModeloACBR = ecf.Modelo; impressora.ModeloDocumentoFiscal = Arquivo.Sintegra.ModeloDocumento.Dois2D.ToString(); impressora.Versao = ecf.NumeroVersao; impressora.MFD = ecf.IsMFD; impressora.MFAdicional = ecf.MFAdicional; impressora.NumeroUsuario = Unimake.Convert.ToInt(ecf.NumeroECF); impressora.PDV = new PDV { Nome = Settings.MachineName, Observacao = Settings.MachineName }; impressora.Porta = ecf.Dipositivo.Porta; txtSerie.Text = ecf.NumeroSerie; CurrentConfig.Impressora = impressora; } catch(Exception ex) { MessageBox.ShowError(ex, "Não foi possível identificar um equipamento ECF instalado neste PDV.\r\nPor favor, verifique se existe algum equipamento ECF instalado.\r\nO OpenPOS não irá funcionar sem um equipamento instalado corretamente.\r\n"); return false; } finally { if(ecf != null) ecf.Dispose(); ecf = null; } } if(!pnlECFAdicionais.Visible) { pnlECFAdicionais.Visible = true; cboECFModelo.Enabled = false; cboECFPorta.Enabled = false; MessageBox.Show(String.Format("A impressora {0} foi encontrada na porta {1}.\r\n\tClique em continuar para seguir o próximo passo da instalação.", cboECFModelo.Text, cboECFPorta.Text)); return false; } CurrentConfig.Impressora.PDV.NumeroCaixa = txtNumeroCaixa.Text; CurrentConfig.ECFMensagemRodape = txtMensagemRodape.Text; } return result; }
/// <summary> /// Método utilizado para preencher esta instância com os dados do dataReader /// </summary> /// <param name="dataReader">DataReader com os dados que deverão ser passados para esta instância</param> public override void Populate(DataReader dataReader) { #region base base.Populate(dataReader); #endregion #region desta classe DataEmissao = dataReader.GetValue<DateTime>("p_DataEmissao"); DataHoraMovimento = dataReader.GetValue<DateTime>("p_DataHoraMovimento"); BaseCalculoICMS = dataReader.GetDouble("p_BaseCalculoICMS"); ValorICMS = dataReader.GetDouble("p_ValorICMS"); ValorIsentaNaoTributado = dataReader.GetDouble("p_VlrIsentaNaoTrib"); ValorOutra = dataReader.GetDouble("p_VlrOutra"); AliquotaICMS = dataReader.GetDouble("p_AliquotaICMS"); Modelo = dataReader.GetString("p_Modelo"); Serie = new Data.Faturamento.Cadastro.Serie(dataReader.GetString("p_GUIDSerie")); CFOP = new CFOP("p_GUIDCFOP"); Emitente = dataReader.GetString("p_Emitente"); ValorBaseCalculo = dataReader.GetDouble("p_VlrBaseCalc"); Situacao = dataReader.GetString("p_Situacao"); ValorICMSRetido = dataReader.GetDouble("p_ValorICMSRetido"); ValorDespesasAcessorias = dataReader.GetDouble("p_VlrDespAcess"); CodigoAntecipacao = dataReader.GetEnum<CodigoAntecipacao>("p_CodigoAntecipacao"); BaseCalculoICMSST = dataReader.GetDouble("p_BaseCalculoICMSST"); DadoPessoa = new Data.Faturamento.Lancamento.Movimento.DadoPessoa.DadoPessoa(dataReader.GetValue<string>("p_GUIDLan")); Subserie = dataReader.GetString("p_Subserie"); Temp = dataReader.GetBoolean("p_Temp"); Impressora = new Impressora(dataReader.GetString("p_Impressora")); TabelaPreco = Abstract.Cadastro.TabelaPreco.TabelaPrecoBase.Create(dataReader.GetString("p_GUIDTabelaPreco")); COO = dataReader.GetInt("p_COO"); CondicaoPagamento = new Data.Cadastro.Financeiro.CondicaoPagamento.CondicaoPagamento(dataReader.GetString("p_GUIDCondicaoPagamento")); Replicado = dataReader.GetBoolean("p_Replicado"); Transportador = new Transportador((GUID)dataReader.GetValue<string>("p_GUIDTransportador")); QuantidadeVolume = dataReader.GetDouble("p_QuantidadeVolume"); #endregion #region Registro04 // Registro04 = new Registro04(this); #endregion #region read only //ValorTotalBruto = dataReader.GetValue<double>("p_VlrTotalBruto"); //ValorTotalLiquido = dataReader.GetValue<double>("p_VlrTotalLiquido"); #endregion #region Itens Especiais IList<IRateio> rateios = new Rateio().Find<IRateio, IMovimento>("fat_LanMovItem.GUIDLanMov", GUID, this); ItensEspeciais = (from r in rateios group r by r.Ordem into g let rateio = g.FirstOrDefault() select new Especial { ItemEspecial = rateio.ItemEspecial.ItemEspecial, Valor = g.Sum(s => s.Valor), Percentual = rateio.ItemEspecial.Percentual > 0 ? rateio.ItemEspecial.Percentual : 0, Ordem = rateio.Ordem }).ToList<IEspecial>(); #endregion #region Analise de crédito AnaliseCredito = new AnaliseCredito(this); #endregion #region Parcelas DataReader dr = Connection.ExecuteReader(@" SELECT GUID FROM fat_Lan WHERE GUID IN ( SELECT GUIDLanFilho FROM fat_LanSK WHERE GUIDLanPai = @pai AND TableHash = @th );", new[] { new Parameter { ParameterName = "@pai", Value = GUID }, new Parameter{ ParameterName = "@th", Value = Unimake.Utilities.GetTableHash(typeof(IPagarReceber)) } }); Parcelas = new List<IParcela>(); while(dr.Read()) { Parcelas.Add(Data.Abstract.Financeiro.Lancamento.PagarReceberBase.Create(dr.GetString(0)) as IParcela); } #endregion #region Itens Itens = ItemBase.Create(this).Find<IItem, IMovimento>(new Where() { {"fat_LanMovItem.GUIDLanMov", GUID.ToString() } }, this); #endregion #region Ocorrências Ocorrencias = new Data.Faturamento.Lancamento.Movimento.Ocorrencia.Ocorrencia().Find<Model.Faturamento.Lancamento.Movimento.Ocorrencia.IOcorrencia, IMovimento>(new Where { { "fat_LanMovOcorrencia.GUIDLanMov", GUID.ToString() } }, this); #endregion #region Baixas //Todo Luciano: Para implementar múltiplas baixas basta tratar as baixas como uma coleção IList<IBaixa> baixas = new Data.Faturamento.Lancamento.Movimento.Baixa.Baixa().Find<IBaixa>(new Where() { { "fat_LanMovBx.GUIDLan", GUID.ToString() } }); if(baixas.Count > 0) Baixa = baixas.FirstOrDefault(); #endregion }
/// <summary> /// Instancia este objeto e apenas inicia as variáveis, não carrega nenhum dado da base de dados /// </summary> public MovimentoBase() : base() { DataEmissao = DateTime.Now; DataHoraCadastro = DateTime.Now; DataHoraMovimento = DateTime.Now; Itens = new List<IItem>(); Emitente = IndicadorProducao.Proprio; Situacao = SituacaoNotaFiscal.Normal; DadoPessoa = new DadoPessoa(); Impressora = new Impressora(); Registro04 = new Registro04(); AnaliseCredito = new AnaliseCredito(); Parcelas = new List<IParcela>(); ItensEspeciais = new List<IEspecial>(); CondicaoPagamento = new CondicaoPagamento(); MovimentosVinculados = new List<IMovimento>(); MovimentosMesclados = new List<IMovimento>(); Ocorrencias = new List<Model.Faturamento.Lancamento.Movimento.Ocorrencia.IOcorrencia>(); Baixa = new Data.Faturamento.Lancamento.Movimento.Baixa.Baixa(); Serie = new Data.Faturamento.Cadastro.Serie(); }
/// <summary> /// Método utilizado para preencher esta instância com os dados do dataReader /// </summary> /// <param name="dataReader">DataReader com os dados que deverão ser passados para esta instância</param> public override void Populate(DataReader dataReader) { #region base base.Populate(dataReader); #endregion #region desta classe Impressora = new Impressora(dataReader.GetValue<string>("p_GUIDImpressora")); Indice = dataReader.GetValue<string>("p_Indice"); Descricao = dataReader.GetString("p_Descricao"); Tipo = (Enuns.Faturamento.Lancamento.Tipo)dataReader.GetInt("p_Tipo"); #endregion }
/// <summary> /// Método utilizado para preencher esta instância com os dados do dataReader /// </summary> /// <param name="dataReader">DataReader com os dados que deverão ser passados para esta instância</param> public override void Populate(DataReader dataReader) { #region base base.Populate(dataReader); #endregion #region desta classe Impressora = new Impressora(dataReader.GetValue<string>("p_GUIDImpressora")); FormaPagamento = new FormaPagamento(dataReader.GetValue<string>("p_GUIDFormaPagto")); Indice = dataReader.GetValue<int>("p_Indice"); #endregion }