public CalculateRealStateFundsResult CalculateRealStateFunds(CalculateRealStateFundsParam param) { var result = new CalculateRealStateFundsResult(); var actualYear = DateTime.Now.Year; var initialDate = new DateTime((actualYear - 10), 1, 1); var finalDate = new DateTime(actualYear, 12, 31); var stockRepository = new StockRepository(); var filter = new GetAllStocksFilter(10, "12"); var stocks = stockRepository.GetAllStocks(filter); foreach (var stock in stocks) { var getFilter = new GetStockNegotiationFilter(stock.Code, initialDate, finalDate); var stockNegotiations = stockRepository.GetStockNegotiation(getFilter); var realStateFundsStatistics = new RealStateFundsStatistics(stock, stockNegotiations); result.Statistics.Add(realStateFundsStatistics.MapToResult()); } return(result); }
private static void GenerateSheet(CalculateRealStateFundsResult result, string file) { var path = Path.Combine(Environment.CurrentDirectory, file); using (StreamWriter sw = new StreamWriter(path)) { sw.AutoFlush = true; sw.WriteLine("Code;CountInNegotiation;FirstNegotiationDate;LastNegotiationDate;MaxLastValue;MinLastValue;LastValue"); foreach (var item in result.Statistics) { var line = $"{item.Code};" + $"{item.CountInNegotiation.ToString()};" + $"{item.FirstNegotiationDate.ToString("dd/MM/yyyy")};" + $"{item.LastNegotiationDate.ToString("dd/MM/yyyy")};" + $"{item.MaxLastValue.ToString("C")};" + $"{item.MinLastValue.ToString("C")};" + $"{item.LastValue.ToString("C")}"; sw.WriteLine(line); } sw.Close(); } Console.WriteLine($"Arquivo {file} gerado com {result.Statistics.Count} linhas"); }