示例#1
0
 //Edicao do item de uma nota já salva
 public XFrmAddItemNF_NEW(ItemMovimento itemSelect, FormTypeAction formTypeAction, XFrmNotaFiscal formPai) : this()
 {
     this.formPai        = formPai;
     this.itemSelect     = itemSelect;
     this.formTypeAction = formTypeAction;
     indexarCampos();
 }
示例#2
0
 //Edicao do item de uma nota já salva
 public XFrmAddItemPedidoCotacao(ItemMovimento itemSelect, FormTypeAction formTypeAction, XFrmPedidoCompraCotacao formPai) : this()
 {
     this.formPai        = formPai;
     this.itemSelect     = itemSelect;
     this.formTypeAction = formTypeAction;
     indexarCampos();
 }
示例#3
0
        private bool ValidarRegraFiscal(ItemMovimento item)
        {
            var regraValida = true;

            if (item.RegraFiscal == null)
            {
                regraValida = false;
            }
            return(regraValida);
        }
示例#4
0
        private bool ValidarCFOP(ItemMovimento item)
        {
            var cfopValido = true;

            if (item.Cfop == null && item.IdCfop == 0 && item.IdCfop == null)
            {
                cfopValido = false;
            }
            return(cfopValido);
        }
示例#5
0
        public void RemoveImpostosItemEdicao(ItemMovimento item)
        {
            var ctx = new BalcaoContext();

            foreach (var imposto in item.ImpostosItemMovimento)
            {
                var impRem = ctx.ImpostoItemMovimentoDao.Find(imposto.IdItemImposto);
                ctx.ImpostoItemMovimentoDao.Delete(impRem);
                item.ImpostosItemMovimento.Remove(impRem);
            }
        }
示例#6
0
        public void ClearImpostosItem(ItemMovimento item)
        {
            var ctx = new BalcaoContext();


            foreach (var imposto in item.ImpostosItemMovimento)
            {
                var impostoRemover = ctx.ImpostoItemMovimentoDao.Find(imposto.IdItemImposto);
                ctx.ImpostoItemMovimentoDao.Delete(impostoRemover);
                item.ImpostosItemMovimento.Remove(impostoRemover);
            }
        }
        public ItemMovimento Update(ItemMovimento entity)
        {
            if (!entity.Validar())
            {
                return(entity);
            }

            if (entity.Valid)
            {
                this._itemMovimentoRepository.Update(entity);
            }

            return(entity);
        }
示例#8
0
        private void removeItem(ItemMovimento item)
        {
            var ctx = new BalcaoContext();

            var itemRemover = ctx.ItemMovimentoDao.Find(item.IdItem);
            var traRemove   = ctx.TransacoesProdutoDao.Where(t => t.IdMovimento == item.IdMovimento && t.IdProduto == item.IdProduto).FirstOrDefault();

            ctx.ItemMovimentoDao.Delete(itemRemover);

            if (traRemove != null)
            {
                ctx.TransacoesProdutoDao.Delete(traRemove);
            }
        }
        public async Task <IEnumerable <Movimento> > GetMovimentoWithItem(FilterMovim filter)
        {
            var item = _db.Set <ItemMovimento>();

            var movimento = await DBSet.AsNoTracking()
                            .Include(u => u.Usuario)
                            .Include(f => f.Frota)
                            //.Include(i => i.ItemMovimento).ThenInclude(x => x.ClienteProduto).ThenInclude(x => x.Cliente)
                            //.Include(i => i.ItemMovimento).ThenInclude(x => x.ClienteProduto).ThenInclude(x => x.Produto)
                            .Where(x => x.DataHoraInicial >= filter.DataHoraInicial && x.DataHoraInicial <= filter.DataHoraFinal.AddDays(1))
                            .ToListAsync();

            var cliprod = await _clienteProdutoRepository.GetAllWithInclude();

            var itemMovim = await item.AsNoTracking()
                            .GroupBy(x => new { x.ClienteProdutoId, x.MovimentoId })
                            .Select(g => new {
                ClienteProdutoId = g.Key.ClienteProdutoId,
                MovimentoId      = g.Key.MovimentoId,
                Qtd = g.Sum(x => x.Qtd)
            }).ToListAsync();

            movimento.ForEach(x =>
            {
                var group    = itemMovim.Where(i => i.MovimentoId == x.Id);
                var itemList = new List <ItemMovimento>();
                foreach (var item in group)
                {
                    var rel = cliprod.FirstOrDefault(r => r.Id == item.ClienteProdutoId);

                    var itMv = new ItemMovimento
                    {
                        ClienteProdutoId = item.ClienteProdutoId,
                        ClienteProduto   = rel,
                        MovimentoId      = item.MovimentoId,
                        Movimento        = x,
                        Qtd = item.Qtd
                    };

                    itemList.Add(itMv);
                }

                x.ItemMovimento = itemList;
            });

            return(movimento);
        }
示例#10
0
        private ItemMovimento indexarItemNotaFiscal()
        {
            var produto = lookUpProduto1.Produto;

            if (produto != null)
            {
                var quantidade    = ParseUtil.ToDecimal(txtQtde.Text.Replace(".", ""), 3);
                var valorUnitario = ParseUtil.ToDecimal(txtVlrUnitario.Text);
                var itemNF        = new ItemMovimento(produto, valorUnitario, quantidade);
                return(itemNF);
            }
            else
            {
                XMessageIts.Advertencia("Selecione um produto!");
            }
            return(null);
        }
示例#11
0
 public void CriarImpostosItemNF(ItemMovimento item)
 {
     foreach (var impostoTipoMov in item.RegraFiscal.ImpostosRegraFiscal)
     {
         ImpostoItemMovimento impostoAdd = new ImpostoItemMovimento();
         impostoAdd.Aliquota           = impostoTipoMov.Aliquota;
         impostoAdd.BaseCalculo        = item.TotalItem;
         impostoAdd.IdCst              = impostoTipoMov.IdCst;
         impostoAdd.SituacaoTributaria = impostoAdd.SituacaoTributaria;
         impostoAdd.IdImposto          = impostoTipoMov.IdImposto;
         impostoAdd.TipoImposto        = impostoTipoMov.TipoImposto;
         impostoAdd.TpSitImposto       = impostoTipoMov.TipoLancImposto;
         impostoAdd.ValorImposto       = impostoAdd.CalcularVlrImposto();
         impostoAdd.SituacaoTributaria = impostoTipoMov.SituacaoTributaria;
         item.ImpostosItemMovimento.Add(impostoAdd);
     }
 }
        public TITMMOV ObterItemMovimento(ref TMOV movimento, ItemMovimento item, int sequencial, Parametros parametros, ETipoImportacao tipo)
        {
            TITMMOV  itemMovimento = new TITMMOV();
            TPRODUTO produto       = ProdutoApp.ObterProduto(item, parametros, tipo);

            itemMovimento.CODCOLIGADA        = movimento.CODCOLIGADA;
            itemMovimento.IDMOV              = movimento.IDMOV;
            itemMovimento.CODFILIAL          = movimento.CODFILIAL;
            itemMovimento.CODCCUSTO          = movimento.CODCCUSTO;
            itemMovimento.CODLOC             = movimento.CODLOC;
            itemMovimento.NSEQITMMOV         = sequencial;
            itemMovimento.IDPRD              = produto.IDPRD;
            itemMovimento.PRECOUNITARIO      = item.Preco;
            itemMovimento.QUANTIDADE         = 1;
            itemMovimento.QUANTIDADEORIGINAL = 1;
            itemMovimento.QUANTIDADETOTAL    = 1;
            itemMovimento.QUANTIDADEARECEBER = 1;
            itemMovimento.VALORTOTALITEM     = item.ValorTotal;
            itemMovimento.VALORDEDUCAO       = item.ValorDeducao;
            itemMovimento.INTEGRAAPLICACAO   = "0";
            itemMovimento.CODUND             = "UN";
            itemMovimento.CODMUNSERVICO      = movimento.CODMUNSERVICO;
            itemMovimento.CODETDMUNSERV      = movimento.CODETDMUNSERV;
            itemMovimento.IDNAT              = movimento.IDNAT;

            foreach (var tributo in item.Tributos)
            {
                movimento.TTRBMOV.Add(new TTRBMOV()
                {
                    CODCOLIGADA            = item.Coligada,
                    IDMOV                  = Convert.ToInt32(movimento.IDMOV),
                    NSEQITMMOV             = item.Sequencial,
                    CODTRB                 = tributo.Codigo,
                    CODTRBBASE             = tributo.Codigo,
                    BASEDECALCULO          = tributo.BaseCalculo,
                    BASEDECALCULOCALCULADA = tributo.BaseCalculo,
                    BASECHEIA              = tributo.BaseCalculo,
                    ALIQUOTA               = tributo.Aliquota,
                    VALOR                  = tributo.Valor,
                    EDITADO                = 1
                });
            }

            return(itemMovimento);
        }
        public TPRODUTO ObterProduto(ItemMovimento item, Parametros parametros, ETipoImportacao tipo)
        {
            DeParaProduto deParaProduto = DeParaProdutoApp.ObterPorCodigoNF(item.Produto.Codigo, tipo);

            try
            {
                if (deParaProduto != null && !string.IsNullOrWhiteSpace(deParaProduto.CodigoRM))
                {
                    return(Service.BuscarPorCodigo(deParaProduto.CodigoRM) ?? throw new Exception());
                }
                else if (parametros.ImportarProdutos)
                {
                    int      idprd   = AutoIncrementoApp.ReservarValorAutoIncremento(0, Constrantes.AUTOINC_TPRODUTO, 1);
                    TPRODUTO produto = new TPRODUTO()
                    {
                        CODCOLPRD      = parametros.CodigoColigada,
                        CODIGOPRD      = item.Produto.Codigo,
                        CODIGOAUXILIAR = item.Produto.CodigoAuxiliar,
                        CODIGOREDUZIDO = item.Produto.CodigoReduzido,
                        NOMEFANTASIA   = item.Produto.Nome,
                        IDPRD          = idprd,
                        TIPO           = "S",
                        ULTIMONIVEL    = 1
                    };
                    produto.TPRODUTODEF.Add(new TPRODUTODEF()
                    {
                        CODCOLIGADA    = parametros.CodigoColigada,
                        IDPRD          = idprd,
                        CODUNDCOMPRA   = item.Produto.Unidade,
                        CODUNDCONTROLE = item.Produto.Unidade,
                        CODUNDVENDA    = item.Produto.Unidade
                    });
                    return(Service.Add(produto));
                }
                else
                {
                    throw new Exception();
                }
            }
            catch (Exception)
            {
                throw new Exception($"Não foi encontrado o código do RM para o serviço {item.Produto.Codigo}, aliquota {item.AliquitaIR}, descrição {item.Produto.Nome}. Favor verificar se o de-para está preenchido.");
            }
        }
示例#14
0
        private ItemMovimento indexarItemNotaFiscal()
        {
            var produto     = lookUpProduto1.Produto;
            var regraFiscal = lookUpRegraFiscal1.RegraFiscal;

            if (produto != null && regraFiscal != null)
            {
                var quantidade    = ParseUtil.ToDecimal(txtQtde.Text.Replace(".", ""), 3);
                var valorUnitario = ParseUtil.ToDecimal(txtVlrUnitario.Text);
                var cfopItem      = lookUpCfop1.CFOP;
                var itemNF        = new ItemMovimento(produto, valorUnitario, quantidade, impostosItem, cfopItem);
                itemNF.IdRegraFiscal = regraFiscal.IdRegraFiscal;
                itemNF.RegraFiscal   = regraFiscal;
                return(itemNF);
            }
            else
            {
                XMessageIts.Advertencia("Selecione um produto!");
            }
            return(null);
        }
示例#15
0
 //Edição do item em uma nota fiscal que está sendo criada
 public XFrmAddItemPedidoCotacao(ItemMovimento itemSelect) : this()
 {
     this.itemSelect = itemSelect;
     //indexarCampos();
 }
示例#16
0
 //Edição do item em uma nota fiscal que está sendo criada
 public XFrmAddItemNF_NEW(ItemMovimento itemSelect) : this()
 {
     this.itemSelect = itemSelect;
     //indexarCampos();
 }
示例#17
0
        private bool transfere()
        {
            var i       = 1;
            var movs    = new List <Movimento>();
            var manager = new MovimentoDaoManager();


            var movSaida = new Movimento()
            {
                DataEmissao             = dtpEmissao.Value,
                DataEntrada             = dtpMovimento.Value,
                DirecaoMovimento        = TypeDirecao.Saída,
                IdFilial                = UnitWork.Filial.IdFilial,
                IdLocalEstoque          = origem.IdLocalEstoque,
                IdSituacao              = 1,
                IdTipoMovimento         = lookUpTipoMovimento1.TipoMovimento.IdTipoMovimento,
                Observacoes             = txtObsSaida.Text,
                IdUsuario               = UnitWork.Usuario.IdUsuario,
                NumeroMovimento         = manager.GetNewMovimentoNumber(),
                ValorBaseICMS           = 0M,
                ValorBaseICMSST         = 0M,
                ValorDesconto           = 0M,
                ValorDespesasAcessorias = 0M,
                ValorFrete              = 0M,
                ValorICMS               = 0M,
                ValorICMSST             = 0M,
                ValorSeguro             = 0M
            };

            var movEntrada = new Movimento()
            {
                DataEmissao             = dtpEmissao.Value,
                DataEntrada             = dtpMovimento.Value,
                DirecaoMovimento        = TypeDirecao.Entrada,
                IdFilial                = UnitWork.Filial.IdFilial,
                IdLocalEstoque          = destino.IdLocalEstoque,
                IdSituacao              = 1,
                IdTipoMovimento         = lookUpTipoMovimento1.TipoMovimento.IdTipoMovimento,
                Observacoes             = txtObsEntrada.Text,
                IdUsuario               = UnitWork.Usuario.IdUsuario,
                NumeroMovimento         = manager.GetNewMovimentoNumber(),
                ValorBaseICMS           = 0M,
                ValorBaseICMSST         = 0M,
                ValorDesconto           = 0M,
                ValorDespesasAcessorias = 0M,
                ValorFrete              = 0M,
                ValorICMS               = 0M,
                ValorICMSST             = 0M,
                ValorSeguro             = 0M
            };

            foreach (var item in produtos)
            {
                var imEntrada = new ItemMovimento()
                {
                    IdProduto          = item.IdProduto,
                    Quantidade         = item.QuantidadeProduto,
                    IndicadorMovFisica = 1,
                    TotalItem          = 0M,
                    ValorUnitario      = 0M,
                    SequencialItem     = i++
                };
                var imSaida = new ItemMovimento()
                {
                    IdProduto          = item.IdProduto,
                    Quantidade         = item.QuantidadeProduto,
                    IndicadorMovFisica = 1,
                    TotalItem          = 0M,
                    ValorUnitario      = 0M,
                    SequencialItem     = i++
                };

                movSaida.ItensMovimento.Add(imSaida);
                movEntrada.ItensMovimento.Add(imEntrada);
            }

            movs.Add(movEntrada);
            movs.Add(movSaida);

            if (manager.TransferirEstoque(movs))
            {
                return(true);
            }

            return(false);
        }
 public void Delete(ItemMovimento entity)
 {
     this._itemMovimentoRepository.Delete(entity);
 }