Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
 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();
     }
 }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
        /// <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;
        }
Esempio n. 6
0
 public override int GetHashCode()
 {
     return(CodigoPedigoRCA.GetHashCode() ^
            CodigoProduto.GetHashCode() ^
            NumeroSequencia.GetHashCode());
 }
Esempio n. 7
0
        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);
        }