Пример #1
0
        //Salvar nota fiscal
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            var ctx  = new BalcaoContext();
            var util = new MovimentoDaoManager();
            var nf   = this.movimentoCurrent == null?indexarMovimento(true) : this.movimentoCurrent;

            var novaNF = indexarMovimento(true);
            var acao   = this.formTypeAction;

            try
            {
                //se estiver criando uma NF, ctx.Save(T)
                if (formTypeAction != FormTypeAction.Visualizar && ValidadorDTO.ValidateWarningAll(nf))
                {
                    var transaction = new MovimentoDaoManager().SalvarMovimento(nf);
                }

                //senao, ctx.Update(T)
                else
                {
                    var capaEdit = ctx.MovimentoSet.Find(movimentoCurrent.IdMovimento); //recupera a NF do banco
                                                                                        //indexar a nota zerando as referencias
                    nf.IdMovimento = capaEdit.IdMovimento;

                    var traUpdate = new MovimentoDaoManager().UpdateMovimentoFiscal(capaEdit, novaNF, itensRemovidos, currentUser);
                }
            }
            catch (DbUpdateException db)
            {
                XMessageIts.ExceptionMessageDetails(db, "Dados em duplicidade! Vefique todos os campos e se já não existe uma nota fiscal com os mesmos dados!");
            }
            catch (Exception ex)
            {
                XMessageIts.ExceptionMessageDetails(ex, "Ocorreu um erro na inclusão/atualização da nota fiscal");
            }
        }
Пример #2
0
        //Salvar nota fiscal
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                valida();
                dxValidadorNF.Validate();
                if (isMovimentoValid)
                {
                    var ctx  = new BalcaoContext();
                    var util = new MovimentoDaoManager();
                    var nf   = this.capa == null?indexarNotaFiscal(true) : this.capa;

                    var novaNF = indexarNotaFiscal(true);
                    var acao   = this.formTypeAction;

                    //VALIDACOES DA NOTA FISCAL
                    var listErros = util.ValidarNotaFiscalInclusao(novaNF, acao);
                    var validador = new XFrmListaValidacaoNF(listErros);


                    if (listErros.Count > 0)
                    {
                        validador.ShowDialog();
                    }

                    //se estiver criando uma NF, ctx.Save(T)
                    if (formTypeAction != FormTypeAction.Visualizar && ValidadorDTO.ValidateWarningAll(nf))
                    {
                        //se clicou em Continuar na tela dos erros...
                        if (!validador.Return)
                        {
                            IMovimentoDaoManager m =
                                new MovimentoDaoManager();
                            //var transaction = new MovimentoDaoManager().
                            m.SalvarMovimento(nf);
                        }
                    }

                    //senao, ctx.Update(T)
                    else
                    {
                        //recupera o movimento do banco
                        //indexar a nota zerando as referencias
                        var capaEdit = ctx.MovimentoSet.Find(capa.IdMovimento);

                        nf.IdMovimento = capaEdit.IdMovimento;

                        //se clicou em Continuar...
                        if (!validador.Return)
                        {
                            IMovimentoDaoManager m =
                                new MovimentoDaoManager();
                            m.UpdateMovimentoFiscal(capaEdit, novaNF, itensRemovidos, currentUser);
                        }
                    }
                }
            }
            catch (DbUpdateException db)
            {
                XMessageIts.ExceptionMessageDetails(db, "Dados em duplicidade! Vefique todos os campos e se já não existe uma nota fiscal com os mesmos dados!");
            }
            catch (Exception ex)
            {
                XMessageIts.ExceptionMessageDetails(ex, "Ocorreu um erro na inclusão/atualização da nota fiscal");
            }
        }
Пример #3
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);
        }