public IActionResult AddTransaction(Models.Transaction transaction, CategoryViewModel cvm)
{
var userId = transaction.UserId;
var findUserTask = _userManager.FindByIdAsync(userId);
Task.WaitAll(findUserTask);
var user = findUserTask.Result;
if (user == null)
{
return RedirectToPage("/Account/Login", new { area = "Identity" });
}
decimal transactionValue = transaction.Value;
transactionValue = decimal.Parse(transactionValue.ToString());
var categories = _categoryService.GetAllCategories();
var transactions = _transactionService.GetAllTransactions();
var transactionCategory = categories.Where(c => c.Id == transaction.CategoryId).First();
//transactionCategory.TotalValue += transaction.Value;
var selectedCurrencyOption = JsonSerializer.Deserialize<Currency>(cvm.CurrencyObjectJson);
transaction.CurrencyCode = selectedCurrencyOption.CurrencyCode;
transaction.CurrencyNativeSymbol = selectedCurrencyOption.NativeSymbol;
_transactionService.AddTransaction(transaction);
_context.SaveChanges();
ChangeUserCategoryValue(user, transactionCategory.Name, transactionValue).Wait();
user = findUserTask.Result;
Currency currencyObject = new Currency
{
CurrencyCode = user.CurrencyCode,
NativeSymbol = user.CurrencyNativeSymbol,
Name = string.Empty
};
string currencyJson = JsonSerializer.Serialize(currencyObject);
UpdateCurrency(currencyJson);
return Redirect("https://localhost:7229");
}
public IActionResult AddTransaction(Models.Transaction transaction, CategoryViewModel cvm)
{
var userId = transaction.UserId;
var findUserTask = _userManager.FindByIdAsync(userId);
Task.WaitAll(findUserTask);
var user = findUserTask.Result;
if (user == null)
{
return RedirectToPage("/Account/Login", new { area = "Identity" });
}
decimal transactionValue = transaction.Value;
transactionValue = decimal.Parse(transactionValue.ToString());
var categories = _categoryService.GetAllCategories();
var transactions = _transactionService.GetAllTransactions();
var transactionCategory = categories.Where(c => c.Id == transaction.CategoryId).First();
//transactionCategory.TotalValue += transaction.Value;
var selectedCurrencyOption = JsonSerializer.Deserialize<Currency>(cvm.CurrencyObjectJson);
transaction.CurrencyCode = selectedCurrencyOption.CurrencyCode;
transaction.CurrencyNativeSymbol = selectedCurrencyOption.NativeSymbol;
_transactionService.AddTransaction(transaction);
_context.SaveChanges();
ChangeUserCategoryValue(user, transactionCategory.Name, transactionValue).Wait();
user = findUserTask.Result;
Currency currencyObject = new Currency
{
CurrencyCode = user.CurrencyCode,
NativeSymbol = user.CurrencyNativeSymbol,
Name = string.Empty
};
string currencyJson = JsonSerializer.Serialize(currencyObject);
UpdateCurrency(currencyJson);
return Redirect("https://localhost:7229");
}