public ActionResult Add(AddExpenseViewModel model) { try { if (ModelState.IsValid) { // save expense info var expense = new Expense(); expense.Date = DateTime.ParseExact(model.Date, "dd/MM/yyyy", CultureInfo.InvariantCulture); expense.Name = model.Name; expense.Amount = model.Amount; expense.Description = model.Description; db.Expenses.Add(expense); db.SaveChanges(); // write action log string actionLogData = "expense_id=" + expense.ExpenseId + ", name=" + expense.Name + ", amount=" + expense.Amount; ActionLog.WriteLog(ActionLog.ADD_EXPENSE_INFO, actionLogData, User.Identity.Name, Request.ServerVariables["REMOTE_ADDR"]); return(RedirectToAction("Index")); } ModelState.AddModelError("", "Thông tin chi phí không hợp lệ."); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } return(View(model)); }
public IActionResult SubmitExpenses(AddExpenseViewModel model) { if (model.Expenses == null || model.Expenses.Count() == 0) { return(this.Json("No item found")); } else { foreach (var item in model.Expenses) { if (String.IsNullOrEmpty(item.Address)) { item.Address = "Current Location"; } if (String.IsNullOrEmpty(item.Description)) { item.Description = String.Empty; } } try { ExpensesContext.AddNewExpenses(model.Expenses.Select(x => AutoMapperFactory.ExpenseViewModel_UIExpense.CreateMapper().Map <UIExpense>(x)).Cast <Expense>().ToList(), GetUserInfo()); } catch (Exception ex) { return(this.Json("Failed to add new expense item." + Environment.NewLine + ex.Message)); } ModelState.Clear(); return(this.Json("Pass")); } }
public Result <int> Add(AddExpenseViewModel model) { var category = _db.ExpenseCategories.Find(model.CategoryId); if (category is null) { return(Result.NotValid("Kategoria nie istnieje.")); } if (category.UserId != _currentUser.Id) { return(Result.NotValid("Ta kategoria nie należy do Ciebie.")); } var expense = new Expense { Name = model.Name, Value = decimal.Parse(model.Value), DateTime = model.DateTime ?? DateTime.UtcNow, UserId = _currentUser.Id, CategoryId = category.Id }; _db.Expenses.Add(expense); _db.SaveChanges(); return(Result.Ok(expense.Id)); }
public IActionResult AddExpense(AddExpenseViewModel model) { if (!Request.Method.Equals("GET") && !Request.Form["submit"].Equals("SubmitExpenses")) { ModelState.Clear(); } if (ModelState.IsValid) { if (Request.Method.Equals("GET")) { if (model.Expenses == null) { model = GetInitialCntlrAddExpenseItem(); } return(View(model)); } else { return(SubmitExpenses(model)); } } else { if (model.ExpenseCategs == null) { model.ExpenseCategs = LoadUserExpenseCategs(GetUserInfo()); } return(View(model)); } }
public IActionResult Add(AddExpenseViewModel addExpenseViewModel) { if (ModelState.IsValid) { ExpenseCategory newCategory = context.ExpenseCategories.Single(c => c.ID == addExpenseViewModel.ExpenseCategoryID); // Add the new cheese to my existing cheeses Expense newExpense = new Expense { Date = addExpenseViewModel.Date, Reference = addExpenseViewModel.Reference, Owner = addExpenseViewModel.Owner, Description = addExpenseViewModel.Description, Amount = addExpenseViewModel.Amount, ExpenseCategory = newCategory }; context.Expenses.Add(newExpense); context.SaveChanges(); return(Redirect("/Expense")); } return(View(addExpenseViewModel)); }
public AddExpense() { BindingContext = new AddExpenseViewModel(); InitializeComponent(); //Binding context should be set at the initial constructor to ensure that the binding elements are bound once the Add Expense page is initialized //Otherwise, the binding won't happen until the event is triggered; it won't look for the binding objects until the save button is clicked }
public ActionResult CreateExpense(AddExpenseViewModel viewModel) { var studentProfile = db.UserProfiles.Local.SingleOrDefault(u => u.UserName == User.Identity.Name) ?? db.UserProfiles.SingleOrDefault(u => u.UserName == User.Identity.Name); Expense expense = db.Expenses.SingleOrDefault(e => e.ExpenseAccountNumber == viewModel.ExpenseAccountNumber); if (expense != null && ModelState.IsValid) { if (expense.bIsActive == true) { StudentExpense studentExpense = new StudentExpense { bIsRecurring = false, //Currently false by default, student user must set up recurring payment on different page. bMissedPayment = false, CurrentAmountOwed = 0, ExpenseAccountNumber = viewModel.ExpenseAccountNumber, Name = viewModel.Name, ExpenseID = expense.ExpenseID, Company = expense.Company, StudentID = studentProfile.UserId }; db.StudentExpenses.Add(studentExpense); db.SaveChanges(); return(RedirectToAction("ViewExpenses")); } } return(View()); //TODO: Add redirect or error message for if there is an error or if account number does not exist. }
public IActionResult Add() { IList <ExpenseCategory> expenseCategories = context.ExpenseCategories.ToList(); AddExpenseViewModel addExpenseViewModel = new AddExpenseViewModel(context.ExpenseCategories.ToList(), null); return(View(addExpenseViewModel)); }
public AddExpensePage() { InitializeComponent(); DataContext = new AddExpenseViewModel(); dataManager = new DataManager(); }
private AddExpenseViewModel GetInitialCntlrAddExpenseItem() { AddExpenseViewModel model = new AddExpenseViewModel(); model.Expenses = new List <ExpenseViewModel>(); model.ExpenseCategs = LoadUserExpenseCategs(GetUserInfo()); return(model); }
public void Execute(object parameter) { var window = (Window)parameter; var viewModel = new AddExpenseViewModel(UserId); viewModel.UserName = UserName; AddExpense addExpense = new AddExpense(viewModel); window.Close(); addExpense.Show(); }
public void Should_Be_Expense_When_Type_Selected_Is_Expense() { ViewModel = new AddExpenseViewModel(null, new List <Account> { new Account("Test") }) { Date = DateTime.Now, WithdrawAccount = new Account("Test"), }; Assert.IsInstanceOfType(ViewModel.Create(), typeof(Expense)); }
public AddExpense() { InitializeComponent(); var uploadContenxt = new AddExpenseViewModel(); BindingContext = uploadContenxt; Date.MinimumDate = new DateTime(DateTime.Now.Year, 1, 1); Date.Date = DateTime.Today; Date.MaximumDate = DateTime.UtcNow; foreach (var category in uploadContenxt.Categories.Select(c => c.Name)) { CategoryPicker.Items.Add(category); } }
public IActionResult AddNewItem(AddExpenseViewModel model) { if (model.Expenses == null) { model = GetInitialCntlrAddExpenseItem(); } else { model.ExpenseCategs = LoadUserExpenseCategs(GetUserInfo()); model.Expenses.Add(GetInitialUIExpenseItem()); } ModelState.Clear(); return(View(model)); }
public IActionResult RemoveItem(AddExpenseViewModel model, int index) { if (model.Expenses == null) { model = GetInitialCntlrAddExpenseItem(); } else { model.ExpenseCategs = LoadUserExpenseCategs(GetUserInfo()); model.Expenses.RemoveAt(index); } ModelState.Clear(); return(View(model)); }
public void Execute(object parameter) { var window = (Window)parameter; var viewModel = new AddExpenseViewModel(ExpenseTrackerManagerViewModel.UserId); viewModel.UserName = ExpenseTrackerManagerViewModel.UserName; viewModel.Amount = ExpenseTrackerManagerViewModel.ExpenseDetails.Amount; viewModel.ExpenseDate = DateTime.Parse(ExpenseTrackerManagerViewModel.ExpenseDetails.ExpenseDate); viewModel.Item = ExpenseTrackerManagerViewModel.ExpenseDetails.Item; viewModel.UserId = ExpenseTrackerManagerViewModel.ExpenseDetails.UserId; viewModel.CategoryId = ExpenseTrackerManagerViewModel.ExpenseDetails.CategoryId; viewModel.ExpenseTrackerId = ExpenseTrackerManagerViewModel.ExpenseDetails.ExpenseTrackerId; AddExpense addExpense = new AddExpense(viewModel); window.Close(); addExpense.Show(); }
public EditExpenseWindow(int logedInUserId, Expense expense) { InitializeComponent(); _mViewModel = new AddExpenseViewModel(logedInUserId); this.DataContext = _mViewModel; // set view model datas _mViewModel.ExpenseName = expense.ExpenseName; _mViewModel.ExpenseDescription = expense.ExpenseDescription; _mViewModel.ExpenseAmount = expense.Amount.ToString(); _mViewModel.ReceiptUrl = expense.ExpenseBillImageUrl; if (expense.ExpenseBillImageUrl != "") { _mViewModel.ReceiptUrlPreview = expense.ExpenseBillImageUrl; } }
public IActionResult AddExpense(AddExpenseViewModel addExpenseViewModel) { if (ModelState.IsValid) { Expense newExpense = new Expense { Name = addExpenseViewModel.Name, Amount = addExpenseViewModel.Amount, Type = addExpenseViewModel.Type //Balance = addExpenseViewModel.Balance, //Percent = addExpenseViewModel.Percent }; context.Expenses.Add(newExpense); context.SaveChanges(); return(Redirect("/Expense/Index")); } return(View(addExpenseViewModel)); }
public async Task <IActionResult> Edit(AddExpenseViewModel addExpenseViewModel) { var expense = context.Expenses.SingleOrDefault((l) => l.ID == addExpenseViewModel.ID); if (expense == null) { return(NotFound()); } var newExpenseCategories = context.ExpenseCategories; var viewModel = new AddExpenseViewModel(newExpenseCategories, expense); var existingExpenseCategory = context.ExpenseCategories.SingleOrDefault(c => c.ID == expense.ExpenseCategoryID); if (existingExpenseCategory != null) { viewModel.ExpenseCategory = existingExpenseCategory; viewModel.ExpenseCategoryID = existingExpenseCategory.ID; } return(View(viewModel)); }
async void OnSaveButton_Clicked(object sender, EventArgs e) { AddExpenseViewModel.Add(ExpenseDescription.Text, expAmount, AddExpDate.Date, (ExpenseCategory)SelectCategory.SelectedItem); await Navigation.PopAsync(); }
public AddExpenseCommand(AddExpenseViewModel addExpenseViewModel) { this.AddExpenseViewModel = addExpenseViewModel; }
/* [HttpGet] * public IActionResult Expense() * { * List<Expense> expenses = ExpenseData.GetAll(); * * return View(expenses); * } */ public IActionResult AddExpense() { AddExpenseViewModel addExpenseViewModel = new AddExpenseViewModel(); return(View(addExpenseViewModel)); }
public IActionResult Add(AddExpenseViewModel model) { _ = _expenseStore.Add(model); return(RedirectToAction(nameof(Search))); }
public AddExpense(AddExpenseViewModel viewModel) { this.DataContext = viewModel; InitializeComponent(); }
public AddExpenseCancelCommand(AddExpenseViewModel addExpenseViewModel) { AddExpenseViewModel = addExpenseViewModel; }
public AddExpenseWindow(int logedInUserId) { InitializeComponent(); _mViewModel = new AddExpenseViewModel(logedInUserId); this.DataContext = _mViewModel; }