public void TesteIndiceComAdicaoDeSegundoItemIndiceByPercentual() { Indice indice = CreateIndice(); indice.AddItemByVariacaoCota(DateTime.Now.AddDays(1), 1.1); Assert.Equal(110.0, indice.ValorCotaAtual, 2); Assert.Equal(10.0, indice.VariacaoFinanceira, 2); Assert.Equal(1.1, indice.VariacaoCotaPercentual, 2); }
public void TesteCriacaoDeSegundoItemIndiceByPercentual() { Indice indice = CreateIndice(); indice.AddItemByVariacaoCota(DateTime.Now.AddDays(1), 1.1); ItemIndice item = indice.Itens.LastOrDefault(); Assert.Equal(1.1, item.VariacaoCotaPercentual, 2); Assert.Equal(10.0, item.VariacaoFinanceira, 2); Assert.Equal(110.0, item.ValorCota, 2); }
public Indice FromCarteira(Carteira carteira) { if (carteira != null) { Indice indice = new Indice(carteira.Codigo, carteira.Descricao, carteira.ValorCotaInicial, carteira.Itens.FirstOrDefault().DataCota); carteira.Itens.RemoveAt(0); carteira.Itens.ForEach(itemCarteira => indice.AddItemByVariacaoCota(itemCarteira.DataCota, itemCarteira.VariacaoCotaPercentual)); return(indice); } return(null); }
private Indice GetCotizacaoAjustadaPorData(Indice indiceCompleto, DateTime dataInicio, DateTime dataFim) { var itensFiltered = indiceCompleto?.Itens?.Where(item => item.DataCota >= dataInicio.Date && item.DataCota <= dataFim.Date)?.ToList(); if (itensFiltered?.Count > 0) { Indice indiceAjustado = new Indice(indiceCompleto.Codigo, indiceCompleto.Descricao, 1.0, itensFiltered.First().DataCota); itensFiltered.RemoveAt(0); itensFiltered.ForEach(item => indiceAjustado.AddItemByVariacaoCota(item.DataCota, item.VariacaoCotaPercentual)); return(indiceAjustado); } return(null); }
public void Patch([FromBody] ItemIndice itemIndice, string codigo) { Indice indice = repository.GetById(codigo); if (itemIndice.ValorCota >= 0.0) { indice.AddItemByValorCota(itemIndice.DataCota, itemIndice.ValorCota); } else { indice.AddItemByVariacaoCota(itemIndice.DataCota, itemIndice.VariacaoCotaPercentual); } repository.Update(indice); }
public void TesteCriacaoDeItemComDataMenorIgualAoUltimoItem() { Indice indice = CreateIndice(); Assert.Throws <Exception>(() => indice.AddItemByVariacaoCota(DateTime.Now, 1.1)); }