public async Task <IActionResult> GetUserExpensesAndIncomes(int CategoryId) { var user = await _userManager.GetUserAsync(HttpContext.User); var userId = user.Id; List <Expense> listaGastos = _db.Expenses.Where(x => x.UserId == userId && x.CreationDate > DateTime.Now.AddDays(-30) && x.ExpenseCategoryId == CategoryId).ToList(); List <Income> listaEntradasDinero = _db.Incomes.Include(x => x.IncomeSource).Where(x => x.IncomeSource.UserId == userId && x.CreationDate > DateTime.Now.AddDays(-30)).ToList(); Profile profile = await _db.Profiles.Where(x => x.UserId == userId).FirstOrDefaultAsync(); FeseabilityItem item = new FeseabilityItem() { TotalExpense = 0, TotalIncomes = 0, Age = profile.Age, SalaryPerMonth = Convert.ToInt32(profile.Salary), StateId = profile.StateId }; foreach (Expense expense in listaGastos) { item.TotalExpense += Convert.ToInt32(expense.Total); } foreach (Income income in listaEntradasDinero) { item.TotalIncomes += Convert.ToInt32(income.Total); } return(Json(item)); }
//Factibilidad de gastos public async Task <IActionResult> ExpensesFeseability() { var csvLocation = Path.Combine(Request.GetDisplayUrl().Replace("Finance/ExpensesFeseability", "") + "TensorModels/factibilityExpenseDataSet.csv"); List <FeseabilityItem> csvItems = new List <FeseabilityItem>(); List <ExpenseCategory> expenseCategories = _db.ExpenseCategories.ToList(); SelectList expenseCategoriesSelectList = new SelectList(expenseCategories, "Id", "Name"); ViewBag.ExpenseCategoryId = expenseCategoriesSelectList; using (var reader = new StreamReader("wwwroot/TensorModels/factibilityExpenseDataSetFixed.csv")) { var cont = 0; while (!reader.EndOfStream) { FeseabilityItem item = new FeseabilityItem(); var line = reader.ReadLine(); var values = line.Split(','); if (cont != 0) { item.CategoryId = Convert.ToInt32(values[0]); item.TotalExpense = Convert.ToInt32(values[1]); item.SalaryPerMonth = Convert.ToInt32(values[2]); item.Age = Convert.ToInt32(values[3]); item.StateId = Convert.ToInt32(values[4]); item.TotalIncomes = Convert.ToInt32(values[5]); item.Factibility = Convert.ToInt32(values[6]); csvItems.Add(item); } cont++; } } ViewBag.TrainingItems = csvItems; var user = await _userManager.GetUserAsync(HttpContext.User); var userId = user.Id; ViewBag.tsUrl = Path.Combine(Request.GetDisplayUrl().Replace("Finance/ExpensesFeseability", "") + "TensorModels/model."); return(View()); }