/// <summary> /// Retorna o texto do registro do tipo 54 para uso do SIntegra. /// </summary> /// <returns>Uma string com os dados formatados para uso do SIntegra.</returns> public override string ToString() { // Formata os dados para o retorno do método string n01 = Tipo.ToString(); string n02 = CNPJ.PadLeft(14, '0'); string n03 = Modelo.PadLeft(2, '0'); string n04 = Serie.ToString().PadRight(3); string n05 = Numero.ToString().PadLeft(6, '0'); string n06 = CFOP.PadLeft(4, '0'); string n07 = CST.PadRight(3); string n08 = NumeroItem.ToString().PadLeft(3, '0'); string n09 = !string.IsNullOrEmpty(CodigoProduto) && CodigoProduto.Length > 14 ? CodigoProduto.Substring(0, 14) : !string.IsNullOrEmpty(CodigoProduto) ? CodigoProduto.PadRight(14) : "".PadRight(14); string n10 = Quantidade.ToString("0#######.##0").Remove(8, 1); string n11 = ValorProduto.ToString("0#########.#0").Remove(10, 1); string n12 = ValorDesconto.ToString("0#########.#0").Remove(10, 1); string n13 = BaseCalcICMS.ToString("0#########.#0").Remove(10, 1); string n14 = BaseCalcICMSST.ToString("0#########.#0").Remove(10, 1); string n15 = ValorIPI.ToString("0#########.#0").Remove(10, 1); string n16 = AliquotaICMS.ToString("0#.#0").Remove(2, 1); // Retorna os dados formatados return(n01 + n02 + n03 + n04 + n05 + n06 + n07 + n08 + n09 + n10 + n11 + n12 + n13 + n14 + n15 + n16); }
/// <summary> /// Retorna o texto do registro do tipo 75 para uso do SIntegra. /// </summary> /// <returns>Uma string com os dados formatados para uso do SIntegra.</returns> public override string ToString() { // Formata os dados para o retorno do método string n01 = Tipo.ToString(); string n02 = FormatData(DataInicial); string n03 = FormatData(DataFinal); string n04 = !string.IsNullOrEmpty(CodigoProduto) && CodigoProduto.Length > 14 ? CodigoProduto.Substring(0, 14) : !string.IsNullOrEmpty(CodigoProduto) ? CodigoProduto.PadRight(14) : "".PadRight(14); string n05 = CodigoNCM.Length > 8 ? CodigoNCM.Substring(0, 8).PadRight(8) : CodigoNCM.PadRight(8); string n06 = !string.IsNullOrEmpty(Descricao) && Descricao.Length > 53 ? Descricao.Substring(0, 53) : !string.IsNullOrEmpty(Descricao) ? Descricao.PadRight(53) : "".PadRight(53); string n07 = UnidadeMedida.Trim().PadRight(6); string n08 = AliquotaIPI.ToString("0##.#0").Remove(3, 1); string n09 = AliquotaICMS.ToString("0#.#0").Remove(2, 1); string n10 = ReducaoBaseCalcICMS.ToString("0##.#0").Remove(3, 1); string n11 = BaseCalcICMSST.ToString("0##########.#0").Remove(11, 1); // Retorna os dados formatados return(n01 + n02 + n03 + n04 + n05 + n06 + n07 + n08 + n09 + n10 + n11); }
public override void Validar() { if (string.IsNullOrEmpty(CodigoProduto.Trim())) { throw new ExcecaoCodigoProdutoInvalido(); } if (string.IsNullOrEmpty(Descricao.Trim())) { throw new ExcecaoDescricaoInvalida(); } if (ValorUnitario < 1) { throw new ExcecaoValorUnitarioInvalido(); } }
/// <summary> /// Retorna o texto do registro do tipo 61R para uso do SIntegra. /// </summary> /// <returns>Uma string com os dados formatados para uso do SIntegra.</returns> public override string ToString() { // Formata os dados para o retorno do método string n01 = Tipo.ToString(); string n02 = Subtipo.ToString(); string n03 = MesEmissao.ToString("0#") + AnoEmissao.ToString("0###"); string n04 = !string.IsNullOrEmpty(CodigoProduto) && CodigoProduto.Length > 14 ? CodigoProduto.Substring(0, 14) : !string.IsNullOrEmpty(CodigoProduto) ? CodigoProduto.PadRight(14) : "".PadRight(14); string n05 = Quantidade.ToString("0#########.##0").Remove(10, 1); string n06 = ValorBruto.ToString("0#############.#0").Remove(14, 1); string n07 = BaseCalcICMS.ToString("0#############.#0").Remove(14, 1); string n08 = AliquotaICMS.ToString("0#.#0").Remove(2, 1); string n09 = "".PadRight(54); // Retorna os dados formatados return(n01 + n02 + n03 + n04 + n05 + n06 + n07 + n08 + n09); }
/// <summary> /// Retorna o texto do registro do tipo 54 para uso do SIntegra. /// </summary> /// <returns>Uma string com os dados formatados para uso do SIntegra.</returns> public override string ToString() { // Formata os dados para o retorno do método string n01 = Tipo.ToString(); string n02 = DataInventario.ToString("yyyyMMdd"); string n03 = !string.IsNullOrEmpty(CodigoProduto) && CodigoProduto.Length > 14 ? CodigoProduto.Substring(0, 14) : !string.IsNullOrEmpty(CodigoProduto) ? CodigoProduto.PadRight(14) : "".PadRight(14); string n04 = Quantidade.ToString("0#########.##0").Remove(10, 1); string n05 = ValorProduto.ToString("0##########.#0").Remove(11, 1); string n06 = CodigoPosse.ToString(); string n07 = CnpjProp.PadLeft(14, '0'); string n08 = "".PadRight(14); string n09 = UfProp; string n10 = "".PadRight(45); // Retorna os dados formatados return n01 + n02 + n03 + n04 + n05 + n06 + n07 + n08 + n09 + n10; }
public override int GetHashCode() { return(CodigoPedigoRCA.GetHashCode() ^ CodigoProduto.GetHashCode() ^ NumeroSequencia.GetHashCode()); }
private Tuple <Evento, decimal, string, Boolean, string> RecuperarEvento() { Tuple <Evento, decimal, string, Boolean, string> DadosRetorno = null; if (txtPesquisa.Text.Contains("*")) { string[] Dados = txtPesquisa.Text.Split(Convert.ToChar("*")); string Texto = string.Empty; decimal Quantidade = 0; if (Dados.Count() > 1) { Texto = Dados.LastOrDefault().Replace("=", string.Empty); Quantidade = Classes.Util.IsDecimal(Dados.FirstOrDefault()) ? Convert.ToDecimal(Dados.FirstOrDefault()) : 1; DadosRetorno = new Tuple <Evento, decimal, string, Boolean, string>(Evento.Multiplicar, Quantidade, Texto, false, string.Empty); } } else if (txtPesquisa.Text.Contains("=")) { string[] Dados = txtPesquisa.Text.Split(Convert.ToChar("=")); string Texto = string.Empty; decimal Valor = 0; if (Dados.Count() > 1) { Texto = Dados.LastOrDefault().Replace("*", string.Empty); Valor = Classes.Util.IsDecimal(Dados.FirstOrDefault()) ? Convert.ToDecimal(Dados.FirstOrDefault()) : 1; DadosRetorno = new Tuple <Evento, decimal, string, Boolean, string>(Evento.Igual, Valor, Texto, false, string.Empty); } } else if (frmUtil.Validacao.ValidarValorCampo(txtPesquisa.Text.Trim(), frmUtil.Enumeradores.TipoValidacao.EAN13)) { Int32 CodigoProduto; string Texto = string.Empty; decimal Quantidade = 0; string strQuantidade = string.Empty; string strIntero = string.Empty; string strDecimal = string.Empty; Comum.Enumeradores.Enumeradores.TipoCodigoBarras TipoCodigo = Comum.Enumeradores.Enumeradores.TipoCodigoBarras.SEIS_POSICOES; if (!string.IsNullOrEmpty(Parametros.Parametros.ParametrosAplicacao.TipoCodigoBarras)) { TipoCodigo = EnumExtension.RecuperarEnum <Comum.Enumeradores.Enumeradores.TipoCodigoBarras>(Parametros.Parametros.ParametrosAplicacao.TipoCodigoBarras); } switch (TipoCodigo) { case Comum.Enumeradores.Enumeradores.TipoCodigoBarras.SEIS_POSICOES: CodigoProduto = Convert.ToInt32(txtPesquisa.Text.Trim().Substring(1, 6)); Texto = CodigoProduto.ToString(); strQuantidade = txtPesquisa.Text.Trim().Substring(7); strQuantidade = strQuantidade.Trim().Substring(0, 5); if (Parametros.Parametros.ParametrosAplicacao.CodigoBarrasPorValor) { strIntero = strQuantidade.Trim().Substring(0, 3); strDecimal = strQuantidade.Trim().Substring(3); Quantidade = Convert.ToDecimal(string.Format("{0},{1}", strIntero, strDecimal)); DadosRetorno = new Tuple <Evento, decimal, string, Boolean, string>(Evento.Igual, Quantidade, Texto, true, txtPesquisa.Text.Trim()); } else { strIntero = strQuantidade.Trim().Substring(0, 2); strDecimal = strQuantidade.Trim().Substring(2); Quantidade = Convert.ToDecimal(string.Format("{0},{1}", strIntero, strDecimal)); DadosRetorno = new Tuple <Evento, decimal, string, Boolean, string>(Evento.Multiplicar, Quantidade, Texto, true, txtPesquisa.Text.Trim()); } break; case Comum.Enumeradores.Enumeradores.TipoCodigoBarras.CINCO_POSICOES: CodigoProduto = Convert.ToInt32(txtPesquisa.Text.Trim().Substring(1, 5)); Texto = CodigoProduto.ToString(); strQuantidade = txtPesquisa.Text.Trim().Substring(6); strQuantidade = strQuantidade.Trim().Substring(0, 6); if (Parametros.Parametros.ParametrosAplicacao.CodigoBarrasPorValor) { strIntero = strQuantidade.Trim().Substring(0, 4); strDecimal = strQuantidade.Trim().Substring(4); Quantidade = Convert.ToDecimal(string.Format("{0},{1}", strIntero, strDecimal)); DadosRetorno = new Tuple <Evento, decimal, string, Boolean, string>(Evento.Igual, Quantidade, Texto, true, txtPesquisa.Text.Trim()); } else { strIntero = strQuantidade.Trim().Substring(0, 3); strDecimal = strQuantidade.Trim().Substring(3); Quantidade = Convert.ToDecimal(string.Format("{0},{1}", strIntero, strDecimal)); DadosRetorno = new Tuple <Evento, decimal, string, Boolean, string>(Evento.Multiplicar, Quantidade, Texto, true, txtPesquisa.Text.Trim()); } break; case Comum.Enumeradores.Enumeradores.TipoCodigoBarras.QUATRO_POSICOES: CodigoProduto = Convert.ToInt32(txtPesquisa.Text.Trim().Substring(1, 4)); Texto = CodigoProduto.ToString(); strQuantidade = txtPesquisa.Text.Trim().Substring(5); strQuantidade = strQuantidade.Trim().Substring(0, 7); if (Parametros.Parametros.ParametrosAplicacao.CodigoBarrasPorValor) { strIntero = strQuantidade.Trim().Substring(0, 5); strDecimal = strQuantidade.Trim().Substring(5); Quantidade = Convert.ToDecimal(string.Format("{0},{1}", strIntero, strDecimal)); DadosRetorno = new Tuple <Evento, decimal, string, Boolean, string>(Evento.Igual, Quantidade, Texto, true, txtPesquisa.Text.Trim()); } else { strIntero = strQuantidade.Trim().Substring(0, 4); strDecimal = strQuantidade.Trim().Substring(4); Quantidade = Convert.ToDecimal(string.Format("{0},{1}", strIntero, strDecimal)); DadosRetorno = new Tuple <Evento, decimal, string, Boolean, string>(Evento.Multiplicar, Quantidade, Texto, true, txtPesquisa.Text.Trim()); } break; } } else { DadosRetorno = new Tuple <Evento, decimal, string, Boolean, string>(Evento.Nothing, 0, txtPesquisa.Text.Trim(), false, string.Empty); } return(DadosRetorno); }