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(); }
/// <summary> /// Popula a grid com as alíquotas presentes na impressora fiscal e as da aplicação /// </summary> /// <returns>Se true, foi populado corretamente</returns> public override bool InitStep() { bool result = base.InitStep(); IList<object[]> sourceVinculo = new List<object[]>(); IList<object[]> sourceVinculado = new List<object[]>(); IList<IAliquotaTributo> aliqTrib = new AliquotaTributo().Find<IAliquotaTributo>(); if (result) { try { using (IConfiguracao conf = new Configuracao()) { foreach (ACBrFramework.ECF.Aliquota aliquotaECF in conf.LerAliquotas()) { if (aliquotaECF.Tipo == "T") { sourceVinculo.Add(new object[] { string.Empty, aliquotaECF.Indice, string.Format("{0}{1:0000}", aliquotaECF.Tipo, aliquotaECF.ValorAliquota.ToString("00.00")), }); } else { sourceVinculo.Add(new object[] { string.Empty, aliquotaECF.Indice, string.Format("{0}{1:0000}", aliquotaECF.Tipo, aliquotaECF.ValorAliquota.ToString("00.00")) }); } } } foreach (IAliquotaTributo aliquota in aliqTrib) { sourceVinculado.Add(new object[] { aliquota.GUID.ToString(), aliquota.Valor }); } confECF.PopulateGrid(sourceVinculo, sourceVinculado); } catch (Exception ex) { MessageBox.ShowError(ex, false); } } 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 Descricao = dataReader.GetValue<string>("p_Descricao"); TipoTributo = dataReader.GetEnum<Enuns.Cadastro.Tributo.TipoTributo>("p_TipoTributo"); #endregion #region Aliquotas Aliquotas = new AliquotaTributo().Find<IAliquotaTributo, ITributo>(new Where { {"cad_TributoAliquota.GUIDTributo", GUID} }, this); #endregion }
/// <summary> /// Popula os dados do item /// </summary> /// <param name="dataReader"></param> public override void Populate(DataReader dataReader) { #region base base.Populate(dataReader); GrupoItem = new GrupoItem((GUID)dataReader.GetValue<string>("p_GUIDGrupoItem")); Descricao = dataReader.GetValue<string>("p_Descricao"); TipoItem = dataReader.GetValue<TipoItem>("p_TipoItem"); SituacaoTributaria = new CSTCSOSN((GUID)dataReader.GetValue<string>("p_GUIDCSTCSOSN")); Aliquota = new AliquotaTributo((GUID)dataReader.GetValue<string>("p_GUIDAliquota")); Replicado = dataReader.GetBoolean("p_Replicado"); #endregion }
/// <summary> /// Popula a grid com as alíquotas cadastradas na impressora fiscal /// </summary> private void Populate() { Wait.Show(); IList<object[]> sourceVinculo = new List<object[]>(); IList<object[]> sourceVinculado = new List<object[]>(); IList<IAliquotaTributo> aliqTributos = new AliquotaTributo().Find<IAliquotaTributo>(); IList<IAliquota> aliquotas = new Aliquota().Find<IAliquota>(new Where { { "ecf_aliquota.guidimpressora = @guid", new Parameter { ParameterName = "@guid", Value = Settings.ECF.ECFAtual.GUID.ToString() } } }); try { //Acessando a impressora fiscal para buscar quais as alíquotas cadastradas using (IConfiguracao conf = new Configuracao(Settings.ECF.ECFAtual.ModeloACBR, Settings.ECF.ECFAtual.Porta)) { var aliquotasECF = (from a in conf.LerAliquotas() select a); foreach (ACBrFramework.ECF.Aliquota item in aliquotasECF) { IAliquota aliquota = aliquotas.FirstOrDefault(f => f.Indice.ToString().Trim().Equals(item.Indice)); if (item.Tipo.Equals("T")) { sourceVinculo.Add(new object[] { aliquota == null ? "" : aliquota.TributoAliquota.GUID.ToString(), item.Indice, string.Format("T{0:0000}", item.ValorAliquota.ToString("00.00")), }); } else { sourceVinculo.Add(new object[] { aliquota == null ? "" : aliquota.TributoAliquota.GUID.ToString(), item.Indice, string.Format("S{0:0000}", item.ValorAliquota.ToString("00.00")), }); } } foreach (IAliquotaTributo aliqTrib in aliqTributos) { sourceVinculado.Add(new object[] { aliqTrib.GUID.ToString(), aliqTrib.Valor.ToString() }); } } //Popula a grid com as alíquotas do ECF e as que serão vinculadas confECF.PopulateGrid(sourceVinculo, sourceVinculado); } catch (Exception ex) { MessageBox.ShowError(ex, false); } Wait.Close(); }