protected override async Task OnInitializedAsync() { // var id = EmployeeId; // ExpnsesID = 0; ExpnsesID = "5"; Console.WriteLine(ExpnsesID); if (string.IsNullOrEmpty(ExpnsesID)) //consider as new expense, getting ready to fetch post method { //add some defaults expense = new ExpenseTracker.Data.Expense { Id = 1, CurrencyId = 1, ExpenseCategoryId = 1, ExpenseTitle = "shoe", ExpensesAmount = 105.5, Signature = "DK", PaymentType = _defaultPaymentType, PaymentMethod = _defaultPaymentMethod, updateDate = DateTime.Now, ExpenseDate = DateTime.Now }; } else //consider as existing expense, getting ready to fetch put method { expense = await SrvExp.GetExpensesAsync(int.Parse(ExpnsesID)); } Categories = (await SrvCategoties.GetCategoriesAsync(true)).ToList(); Currencies = (await SrvCurrencies.GetCurrencyAsync(true)).ToList(); SelectedCategoryId = expense.ExpenseCategoryId.ToString(); SelectedCurrencyId = expense.CurrencyId.ToString(); //SelectedDetails = expense.ExpenseDetail.Detail; SelectedPaymentMethod = ((int)expense.PaymentMethod).ToString(); SelectedPaymentType = ((int)expense.PaymentType).ToString(); EnteredAmt = expense.ExpensesAmount.ToString(); //foreach (int value in Enum.GetValues(typeof(ExpenseTracker.Data.PaymentType))) //{ // Console.WriteLine(((ExpenseTracker.Data.PaymentType)value).ToString()); //} //foreach (string value in Enum.GetNames(typeof(ExpenseTracker.Data.PaymentType))) //{ // Console.WriteLine(value); //} }
protected async Task HandleValidSubmit() { //await EmployeeDataService.AddEmployee(Employee); expense.ExpenseCategoryId = int.Parse(SelectedCategoryId); expense.CurrencyId = int.Parse(SelectedCurrencyId); expense.ExpensesAmount = double.Parse(EnteredAmt); expense.PaymentMethod = (ExpenseTracker.Data.PaymentMethod)Enum.Parse(typeof(ExpenseTracker.Data.PaymentMethod), SelectedPaymentMethod); expense.PaymentType = (ExpenseTracker.Data.PaymentType)Enum.Parse(typeof(ExpenseTracker.Data.PaymentType), SelectedPaymentType); ExpnsesID = ""; if (string.IsNullOrEmpty(ExpnsesID)) { //expense.Id = -1; //await SrvExp.NewExpensesAsync(expense); ExpenseTracker.Data.Expense new_expense = new ExpenseTracker.Data.Expense(); new_expense.ExpenseTitle = expense.ExpenseTitle; new_expense.ExpensesAmount = expense.ExpensesAmount; new_expense.ExpenseDate = expense.ExpenseDate; new_expense.Signature = expense.Signature; new_expense.PaymentType = expense.PaymentType; new_expense.PaymentMethod = expense.PaymentMethod; new_expense.ExpenseCategoryId = expense.ExpenseCategoryId; new_expense.CurrencyId = expense.CurrencyId; new_expense.ExpenseDate = todaysDate.Date; if (!string.IsNullOrEmpty(SelectedDetails)) //dExpense.ExpenseDetail = new Domain.ExpenseDetail { Detail = newExpense.ExpenseDetail }; { ExpenseTracker.Data.ExpenseDetail expDetails = new ExpenseTracker.Data.ExpenseDetail { Detail = "Some details from code directly." }; new_expense.ExpenseDetail = expDetails; } await SrvExp.NewExpensesAsync(new_expense); } else { await SrvExp.EditExpensesAsync(expense, int.Parse(ExpnsesID)); } ShowDialog = false; await CloseEventCallback.InvokeAsync(true); StateHasChanged(); }