示例#1
0
        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);
        }
示例#2
0
        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);
        }