public ADSResposta Excluir(MovimentoView c) { try { using (var db = DBCore.NovaInstanciaDoBanco()) { var id = int.Parse(c.Codigo); var objeto = db.Movimentos.Where(w => w.Codigo.Equals(id)).FirstOrDefault(); if (objeto == null) { return(new ADSResposta(sucesso: false, mensagem: "Movimento não encontrado.", objeto: c)); } db.Movimentos.Remove(objeto); db.SaveChanges(); return(new ADSResposta(sucesso: true, objeto: objeto)); } } catch (Exception ex) { return(new ADSResposta(false, ex.Message, c)); } }
public IActionResult PutMovimento([FromBody] MovimentoView value) { try { if (!ModelState.IsValid) { return(BadRequest()); } else { var movimento = business.ObterPorId(value.Id); if (movimento == null) { return(NotFound(new { Mensagem = $"O movimento id: {value.Id} informado não existe no banco de dados." })); } business.Alterar(value); return(Ok()); } } catch (Exception ex) { return(StatusCode(500, new { Mensagem = ex.Message.ToString() })); } }
private Movimento ObterModel(MovimentoView view) { if (view.EtiquetaId <= 0 || view.EtiquetaId.Equals(int.MinValue)) { throw new ArgumentException("O campo de 'EtiquetaId' é obrigatório e deve ser preenchido corretamente."); } if (view.PessoaId <= 0 || view.PessoaId.Equals(int.MinValue)) { throw new ArgumentException("O campo de 'PessoaId' é obrigatório e deve ser preenchido corretamente."); } Etiqueta etiqueta = repoEtiqueta.ObterPorId(view.EtiquetaId); if (etiqueta == null) { throw new Exception($"A EtiquetaId '{view.EtiquetaId}' informada não existe no banco de dados! Campo obrigatório."); } Pessoa pessoa = repoPessoa.ObterPorId(view.PessoaId); if (etiqueta == null) { throw new Exception($"A PessoaId '{view.PessoaId}' informada não existe no banco de dados! Campo obrigatório."); } ContaCartao contaCartao = null; if (view.ContaCartaoId.HasValue) { contaCartao = repoContaCartao.ObterPorId(view.ContaCartaoId.Value); if (contaCartao == null) { throw new Exception($"A ContaCartaoId '{view.ContaCartaoId.Value}' informada não existe no banco de dados!"); } } return(new Movimento() { Id = view.Id, Cadastro = view.Cadastro, Tipo = view.Tipo.StringParaTipoMovimento(), Vencimento = view.Vencimento, Status = view.Status.StringParaStatusMovimento(), Descricao = view.Descricao, Valor = view.Valor, ValorPago = view.ValorPago, EtiquetaId = view.EtiquetaId, Etiqueta = etiqueta, PessoaId = view.PessoaId, Pessoa = pessoa, ContaCartao = contaCartao }); }
public ADSResposta Salvar(MovimentoView c) { var resposta = new ADSResposta(); using (var db = DBCore.NovaInstanciaDoBanco()) { using (var transacao = db.Database.BeginTransaction()) { try { Movimento novo = null; if (!c.Codigo.Equals("0")) { var id = int.Parse(c.Codigo); novo = db.Movimentos.Where(w => w.Codigo.Equals(id)).FirstOrDefault(); novo.Descricao = c.Descricao; novo.Data = DateTime.Parse(c.Data); novo.Valor = c.Valor; novo.CategoriaCodigo = c.CategoriaCodigo; novo.ContaCodigo = c.ContaCodigo; novo.TipoMovimentoCodigo = c.TipoMovimentoCodigo; novo.Efetivado = c.Efetivado ? "S" : "N"; } else { novo = db.Movimentos.Create(); novo.Descricao = c.Descricao; novo.Data = DateTime.Parse(c.Data); novo.Valor = c.Valor; novo.CategoriaCodigo = c.CategoriaCodigo; novo.ContaCodigo = c.ContaCodigo; novo.TipoMovimentoCodigo = c.TipoMovimentoCodigo; novo.Efetivado = c.Efetivado ? "S" : "N"; db.Movimentos.Add(novo); } db.SaveChanges(); c.Codigo = novo.Codigo.ToString(); resposta.Sucesso = true; resposta.Objeto = c; transacao.Commit(); } catch (Exception ex) { transacao.Rollback(); resposta.Sucesso = false; resposta.Mensagem = ex.Message; } } } return(resposta); }
public MovimentoView Incluir(MovimentoView movimentoView) { if (movimentoView.Cadastro.Equals(DateTime.MinValue)) { movimentoView.Cadastro = DateTime.Now; } Movimento movimento = ObterModel(movimentoView); repository.Incluir(movimento); return(movimento.ToView()); }
public void Alterar(MovimentoView movimentoView) { if (movimentoView.Id <= 0 || movimentoView.Id.Equals(int.MinValue)) { throw new ArgumentException("O código do movimento é obrigatório."); } if (movimentoView.Saldo < 0) { throw new Exception($"O movimento id {movimentoView.Id} não pode possuir saldo negativo." + $"Ajuste o valor da baixa do título."); } Movimento movimento = ObterModel(movimentoView); decimal valorJahBaixado = 0M; if (movimento.MovimentoBaixa != null && movimento.MovimentoBaixa.Any()) { valorJahBaixado = movimento.MovimentoBaixa.ToList().Sum(vl => vl.ValorBaixa); } /* Caso o usurio sete o status para cancelado */ if (valorJahBaixado > 0 && movimento.Status.Equals(StatusMovimento.CANCELADO)) { throw new Exception($"O movimento id '{movimento.Id}' já possui registro de baixa - Valor Baixado R$ {valorJahBaixado.ToString("D2")}. " + "Operação não permitida - Remova as baixas antes de realizar o cancelamento do título. "); } /* Caso o usurio sete o status para encerrado */ if (valorJahBaixado != movimento.ValorPago && movimento.Status.Equals(StatusMovimento.ENCERRADO)) { throw new Exception($"O movimento id '{movimento.Id}' não poderá ter o status para 'ENCERRADO' " + $"pois o valor baixado não é igual ao valor pago."); } if (!movimento.Status.Equals(StatusMovimento.CANCELADO)) { if (movimento.Saldo > 0) { movimento.Status = StatusMovimento.PENDENTE; } else if (movimento.Saldo == 0) { movimento.Status = StatusMovimento.ENCERRADO; } } repository.DetachLocal(mov => mov.Id == movimento.Id); repository.Alterar(movimento); }
public MovimentoView PegaPorCodigo(int id) { var objeto = DBCore.InstanciaDoBanco().Movimentos .Where(w => w.Codigo.Equals(id)) .FirstOrDefault(); MovimentoView resposta = null; if (objeto != null) { resposta = ConverteParaView(objeto); } return(resposta); }
public ADSResposta Salvar(MovimentoView c) { var db = DBCore.InstanciaDoBanco(); Movimento novo = null; if (!c.Codigo.Equals("0")) { var id = int.Parse(c.Codigo); novo = db.Movimentos.Where(w => w.Codigo.Equals(id)).FirstOrDefault(); novo.Descricao = c.Descricao; novo.Data = DateTime.Parse(c.Data); novo.Valor = c.Valor; novo.CategoriaCodigo = c.CategoriaCodigo; novo.ContaCodigo = c.ContaCodigo; novo.TipoMovimentoCodigo = c.TipoMovimentoCodigo; novo.Efetivado = c.Efetivado ? "S" : "N"; } else { novo = db.Movimentos.Create(); novo.Descricao = c.Descricao; novo.Data = DateTime.Parse(c.Data); novo.Valor = c.Valor; novo.CategoriaCodigo = c.CategoriaCodigo; novo.ContaCodigo = c.ContaCodigo; novo.TipoMovimentoCodigo = c.TipoMovimentoCodigo; novo.Efetivado = c.Efetivado ? "S" : "N"; db.Movimentos.Add(novo); } try { db.SaveChanges(); c.Codigo = novo.Codigo.ToString(); return(new ADSResposta(true, objeto: c)); } catch (Exception ex) { return(new ADSResposta(false, ex.Message, c)); } }
public IActionResult PostMovimento([FromBody] MovimentoView value) { try { if (!ModelState.IsValid) { return(BadRequest()); } else { MovimentoView movimento = business.Incluir(value); var uri = Url.Action("GetMovimentoPorId", new { id = movimento.Id }); return(Created(uri, movimento)); } } catch (Exception ex) { return(StatusCode(500, new { Mensagem = ex.Message.ToString() })); } }
public ADSResposta Excluir(MovimentoView c) { var resposta = new ADSResposta(); using (var db = DBCore.NovaInstanciaDoBanco()) { using (var transacao = db.Database.BeginTransaction()) { try { var id = int.Parse(c.Codigo); var movimento = db.Movimentos.Where(w => w.Codigo.Equals(id)).FirstOrDefault(); if (movimento == null) { resposta.Sucesso = false; resposta.Objeto = c; resposta.Mensagem = "Movimento não encontrado."; } else { db.Movimentos.Remove(movimento); db.SaveChanges(); resposta.Sucesso = true; resposta.Objeto = c; transacao.Commit(); } } catch (Exception ex) { transacao.Rollback(); resposta.Sucesso = false; resposta.Mensagem = ex.Message; } } } return(resposta); }
public ActionResult Create(MovimentoView movimentoView) { _logger.Info("Create [INICIO]|movimentoView: {0}", movimentoView.SerializarXML()); Movimento adicionarMovimentoRequest = _mapper.Map <MovimentoView, Movimento>(movimentoView); bool resultado = _movimentoServico.Adicionar(adicionarMovimentoRequest); if (resultado) { _logger.Info($"Create [FIM]|resultado: {resultado}"); } else { ViewBag.Alerta = "Erro ao cadastrar movimento."; ListarProduto(); _logger.Warn("Create [FIM]|resultado: {0}", resultado); } return(RedirectToAction("Create")); }
public async Task <IHttpActionResult> Excluir([FromBody] JObject jsonData) { MovimentoView objeto = jsonData.SelectToken("Movimento").ToObject <MovimentoView>(); return(Ok((new MovimentoNegocio().Excluir(objeto)))); }
public void Excluir(MovimentoView movimentoView) { repository.Excluir(ObterModel(movimentoView)); }