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();
        }