Beispiel #1
0
 public override void Gravar()
 {
     NCM t = new NCM();
     t.Descricao = "NCM de teste";
     t.NCM = new Random().Next(10000, 1000000).ToString().PadRight(8, '0');
     GUID = t.Save();
 }
Beispiel #2
0
        public override void Gravar()
        {
            ITributoRegra t = new TributoRegra();
            t.Descricao = "Teste Regra";
            DCT.Tributo tributo = new DCT.Tributo();

            tributo.Descricao = "IPI";
            tributo.Aliquotas = new List<IAliquotaTributo>
            {
                new DCT.AliquotaTributo{Valor = new Random().NextDouble(1,10)},
                new DCT.AliquotaTributo{Valor = new Random().NextDouble(1,10)},
                new DCT.AliquotaTributo{Valor = new Random().NextDouble(1,10)}
            };

            tributo.Save();
            // t.Aliquota = tributo.Aliquotas[0];
            NCM ncm = new NCM();
            ncm.Descricao = "NCM de teste";
            ncm.NCM = new Random().Next(10000, 1000000).ToString().PadRight(8, '0');
            ncm.Save();

            IGrupoItem grupoItem = new GrupoItem();
            grupoItem.Descricao = "Borracha";
            grupoItem.Parent = null;
            grupoItem.Classificacao = "03-Borracha";
            grupoItem.ClassificacaoAnalitica = false;
            grupoItem.Save();
            IItem item = ServicoTest.CriarServico();
            item.Save();
            t.Filtros.Add(new OpenPOS.Data.Regra.Tributo.TributoRegraFiltro() { NCM = ncm });
            t.Filtros.Add(new OpenPOS.Data.Regra.Tributo.TributoRegraFiltro() { GrupoItem = grupoItem });
            t.Filtros.Add(new OpenPOS.Data.Regra.Tributo.TributoRegraFiltro() { Item = item });
            t.Aliquotas.Add(new OpenPOS.Data.Regra.Tributo.TributoRegraAliquota() { Aliquota = tributo.Aliquotas[0] });
            GUID = t.Save();
        }
Beispiel #3
0
 /// <summary>
 /// Instancia o produto base
 /// </summary>
 public ProdutoBase()
     : base()
 {
     CodigosBarras = new List<ICodigoBarra>();
     IndicadorProducao = IndicadorProducao.Proprio;
     IndicadorTruncamento = IndicadorTruncamento.Truncamento;
     NCM = new NCM();
 }
        public override void Editar()
        {
            OpenPOS.Model.Regra.BaseCalculo.IRegra regra = new OpenPOS.Data.Regra.BaseCalculo.Regra(GUID);
            regra.Descricao = "Regra da base de cálculo com filtros";

            #region Itens do filtro
            #region Produto acabado
            ProdutoAcabadoTest produtoAcabadoTest = new ProdutoAcabadoTest();
            produtoAcabadoTest.Gravar();

            IAcabado produtoAcabado = new Acabado(produtoAcabadoTest.GUID);
            #endregion

            #region Grupo de item
            GrupoItemTest grupoItemTest = new Cadastro.Item.GrupoItemTest();
            grupoItemTest.Gravar();

            IGrupoItem grupoItem = new GrupoItem(grupoItemTest.GUID);
            #endregion

            #region NCM
            IList<INCM> ncms = new NCM().Find<INCM>();
            #endregion

            #region Regra de CFOP
            CFOPRegraTest cfopRegraTest = new CFOPRegraTest();
            cfopRegraTest.Gravar();

            ICFOPRegra cfopRegra = new CFOPRegra(cfopRegraTest.GUID);
            #endregion

            #region Regra de CSTCSOSN
            CSTCSOSNRegraTest cstcsosnRegraTest = new CSTCSOSNRegraTest();
            cstcsosnRegraTest.Gravar();

            ICSTCSOSNRegra cstcsosnRegra = new CSTCSOSNRegra(cstcsosnRegraTest.GUID);
            #endregion
            #endregion

            #region Filtro da regra de base de cálculo
            IRegraFiltro filtro = new RegraFiltro();
            filtro.Item = produtoAcabado;
            filtro.GrupoItem = grupoItem;
            filtro.NCM = ncms[0];
            filtro.CFOPRegra = cfopRegra;
            filtro.CSTCSONRegra = cstcsosnRegra;
            #endregion

            regra.Filtros.Add(filtro);
            regra.Save();
        }
Beispiel #5
0
        public static bool Import(String filePath, IEstado estado, System.Windows.Forms.ProgressBar progress = null, System.Windows.Forms.Label lblprogress = null, bool raiseErrorFileAlreadyImp = true)
        {
            // verifica se arquivo já foi importado
            string md5 = Cryptography.Files.MD5.GetMD5Hash(filePath);
            IList<ILogIBPT> log = new LogIBPT()
                                            .Find<ILogIBPT>(new Where()
                                            {
                                                {
                                                    "sis_logibpt.md5", md5
                                                }
                                            });
            if (log.Count != 0 && raiseErrorFileAlreadyImp)
                throw new ArquivoJaImportado();

            // verifica se arquivo é do mesmo estado da empresa
            String stateEmp = estado.UF.Sigla;
            String stateFile = filePath.Split('\\')
                                        .Last().Substring(12, 2);
            if (!stateEmp.Equals(stateFile))
                throw new EstadoInvalido();

            Connection connection = null;
            int linhas = 0;
            try
            {
                connection = DbContext.CreateConnection();
                connection.BeginTransaction();

                // Abre arquivo para importação
                INCM ncm = null;
                IList<INCM> ncms = new NCM().Find<INCM>();
                String line = null;
                if (progress != null &&
                    lblprogress != null)
                {
                    progress.Maximum = File.ReadAllLines(filePath).Length;
                    progress.Step = 1;
                    lblprogress.Visible = true;
                    lblprogress.Text = string.Format("{0}% Concluído", (100 * progress.Value) / progress.Maximum);
                    lblprogress.Refresh();
                }
                using (StreamReader str = new StreamReader(filePath, Encoding.Default))
                {

                    while ((line = str.ReadLine()) != null)
                    {
                        string[] sections = line.Split(';');

                        if (linhas == 0 || !String.IsNullOrEmpty(sections[1]))
                        {
                            linhas++;
                            if (progress != null &&
                                lblprogress != null)
                            {
                                progress.Increment(1);
                                lblprogress.Text = string.Format("{0}% Concluído", (100 * progress.Value) / progress.Maximum);
                                lblprogress.Refresh();
                            }
                            continue;
                        }
                        ncm = ncms.FirstOrDefault(w => w.NCM.Trim() == sections[0]);
                        if (ncm == null) ncm = new NCM();

                        ncm.NCM = sections[0];
                        ncm.IPI = 0;
                        ncm.II = 0;
                        ncm.Descricao = sections[3];
                        ncm.ImpostoAproxEstadual = Unimake.Convert.ToDouble(sections[6]);
                        ncm.ImpostoAproximado = Unimake.Convert.ToDouble(sections[6]);
                        ncm.ImpostoAproxImport = Unimake.Convert.ToDouble(sections[5]);
                        ncm.ImpostoAproxMunicip = Unimake.Convert.ToDouble(sections[7]);
                        ncm.ChaveIBPT = sections[10];
                        ncm.Save();
                        linhas++;
                        if (progress != null &&
                            lblprogress != null)
                        {
                            progress.Increment(1);
                            progress.Refresh();
                            lblprogress.Text = string.Format("{0}% Concluído", (100 * progress.Value) / progress.Maximum);
                            lblprogress.Refresh();
                        }
                    }
                }

                if (progress != null &&
                            lblprogress != null)
                {
                    lblprogress.Text = "Arquivo importado com sucesso!";
                    lblprogress.Refresh();

                }
                LogIBPT.Save(new LogIBPT()
                {
                    Evento = "Importação de arquivos de NCM",
                    TipoEvento = Enuns.TipoEvento.Import,
                    Caminho = filePath,
                    MD5 = md5
                });
                connection.CommitTransaction();
            }
            catch
            {
                if (connection != null)
                    connection.RollbackTransaction();

                if (progress != null &&
                           lblprogress != null)
                {
                    lblprogress.Text = "Ocorreu algum erro durante a importação!";
                    lblprogress.Refresh();
                }

                throw;
            }
            finally
            {
                if (connection != null)
                    connection.Close();
            }
            return true;
        }
Beispiel #6
0
 public override void Popular()
 {
     NCM t = new NCM(GUID);
     DumpElement(t);
 }
Beispiel #7
0
        public void GetDisplayValues()
        {
            var list = new NCM().GetDisplayValues();

            WriteLine("Count = {0}", list.Values.Count);
        }
Beispiel #8
0
 public override void Editar()
 {
     NCM t = new NCM(GUID);
     t.Descricao = "NCM de teste editado";
     t.Save();
 }