public PontuacaoFatura inserirPontuacao(PontuacaoFatura pontuacao) { try { Store context = new Store(); //Retirando milisegundos para evitar problema entre datetime2(app) e datetime(sql) pontuacao.dtVigencia = pontuacao.dtVigencia.AddMilliseconds(-pontuacao.dtVigencia.Millisecond); PontuacaoFatura pontuacaoInserida = context.PontuacaoFatura.Add(pontuacao); context.SaveChanges(); context.Dispose(); return pontuacaoInserida; } catch (Exception ex) { throw; } }
public void pontuarFatura(Fatura fatura) { PontuacaoFatura pontuacao = new PontuacaoFatura(); if (!faturaCadastrada(fatura.id)) { FaturaDAO faturaDAO = new FaturaDAO(); fatura = faturaDAO.obterFatura(fatura.id); if (fatura != null) { gerarPontos(fatura); } else { throw new Exception("Fatura não encontrada"); } } else { throw new Exception("Pontuação já efetuada anteriormente para esta fatura"); } }
//Gera pontos e solicita inserção no BD; public PontuacaoFatura gerarPontos(Fatura fatura) { PontuacaoFatura pontuacaoCalculada = new PontuacaoFatura(); TaxaConversao taxaConversao = tc.obterTaxaConversaoAtual(); if (taxaConversao == null) { throw new Exception("Não há taxa de conversão cadastrada"); } int pontos = Convert.ToInt16(taxaConversao.taxaValor * fatura.valor); pontuacaoCalculada.pontosQtd = pontos; //pontuacaoCalculada. = fatura.valor; pontuacaoCalculada.TaxaConversao = taxaConversao; pontuacaoCalculada.dtInclusao = DateTime.Now; pontuacaoCalculada.dtVigencia = DateTime.Now.AddDays(365); pontuacaoCalculada.cartao_id = fatura.cartaoId; pontuacaoCalculada.fatura_id = fatura.id; return pd.inserirPontuacao(pontuacaoCalculada); }
//Verifica quantos pontos uma fatura gerou public PontuacaoFatura pontosPorFatura(Fatura fatura) { PontuacaoFatura pontuacao = new PontuacaoFatura(); if (faturaCadastrada(fatura.id)) { pontuacao = pd.obterPontuacaoPorFatura(fatura.id); return pontuacao; } else { throw new Exception("Fatura não pontuada"); } }