public Movimentacao Resgate(Movimentacao operacaoResgate) { var move = new Movimentacao { Id = operacaoResgate.Id, IdFundos = operacaoResgate.IdFundos, Nome = operacaoResgate.Nome, Cpf = operacaoResgate.Cpf, DtMovimentacao = DateTime.Now, tipomovimentacao = operacaoResgate.tipomovimentacao, VlMovimentacao = operacaoResgate.VlMovimentacao }; var fundos = from f in db.Fundos where f.Id == move.IdFundos select f; decimal iim = fundos.FirstOrDefault().IIM; string cnpj = fundos.FirstOrDefault().Cnpj; if (operacaoResgate.VlMovimentacao > iim) { throw new NotImplementedException(); } else { db.Dispose(); resgataMetodo(move.VlMovimentacao, cnpj, iim, move.IdFundos); var resgate = from r in db.Movimentacoes where r.Id == move.Id select r; foreach (Movimentacao m in resgate) { m.VlMovimentacao += move.VlMovimentacao; } } var entity = db.Movimentacoes.Attach(move); entity.State = EntityState.Modified; return(operacaoResgate); }
public Movimentacao Aplica(Movimentacao operacaoAplica) { var move = new Movimentacao { Id = operacaoAplica.Id, IdFundos = operacaoAplica.IdFundos, Nome = operacaoAplica.Nome, Cpf = operacaoAplica.Cpf, DtMovimentacao = DateTime.Now, tipomovimentacao = operacaoAplica.tipomovimentacao, VlMovimentacao = operacaoAplica.VlMovimentacao }; var fundos = from f in db.Fundos where f.Id == operacaoAplica.IdFundos select f; decimal iim = fundos.FirstOrDefault().IIM; string cnpj = fundos.FirstOrDefault().Cnpj; if (operacaoAplica.VlMovimentacao > iim) { throw new NotImplementedException(); } else { db.Dispose(); aplicaMetodo(move.VlMovimentacao, cnpj, iim, move.IdFundos); } db.Add(move); Commit(); return(operacaoAplica); }