//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"); } }
//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"); } }
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); }