public async Task <IActionResult> EditExpense(ExpensesViewModel model) { if (ModelState.IsValid) { var path = model.Photo; if (model.Photo != null) { path = await _userImage.UploadImageAsync(model.PhotoFile, "Drawable"); } var expenseEntity = await _converterHelper.ToExpenseEntity(model, path, false); _context.Update(expenseEntity); try { await _context.SaveChangesAsync(); return(RedirectToAction($"{nameof(Details)}/{model.Travelid}")); } catch (Exception ex) { ModelState.AddModelError(string.Empty, ex.InnerException.Message); } } return(View(model)); }
public void DeleteExpenseById() { int userId = 1; int expenseId = 2; var expense = new ExpensesViewModel { Title = "mock Expenses", Price = 20 }; var expenseDTO = new ExpensesDTO { Title = "mock Expenses", Price = 20 }; var mockRepo = new Mock <IExpensesService>(); mockRepo.Setup(repo => repo.DeleteExpenseByIdAsync(expenseId, userId)) .ReturnsAsync(true); var mockMapper = new Mock <IMapper>(); var mockExceptionREpo = new Mock <IExceptionHandler>(); var controller = new ExpensesController(mockRepo.Object, mockExceptionREpo.Object, mockMapper.Object); // Act var okResult = controller.DeleteExpenseById(expenseId, userId).Result; // Assert Assert.IsType <OkObjectResult>(okResult); }
/// <summary> /// Loads the expense information on the page /// </summary> /// <param name="expenseID"></param> public void loadExpense(int expenseID) { expense = ExpensesViewModel.getExpense(expenseID); if (expense != null) { // Supllier details textBox_Company.Text = expense.companyName; textBox_ContactDetails.Text = expense.contactDetails.ToString(); textBox_Description.Text = expense.description; textBox_Category.Text = expense.category; // Receipt details txtBox_expenseNumber.Text = expense.idExpense.ToString(); txtBox_expenseNumber.IsReadOnly = true; txtBox_expenseDate.Text = expense.createdDate.ToString("d"); txtBox_issuedBy.Text = expense.issuedBy; txtBox_cost.Text = expense.cost.ToString("C"); txtBox_vat.Text = expense.VAT.ToString("C"); txtBox_totalCost.Text = expense.totalCost.ToString("C"); txtBox_invoiceNumber.Text = expense.invoiceNo.ToString(); // Receipt payments expensePaymentsGrid.ItemsSource = expense.payments; } else { MessageBox.Show("Receipt with ID = " + expenseID + ", does not exist"); } }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.view_expenses); viewModel = ServiceContainer.Resolve <ExpensesViewModel>(); viewModel.IsBusyChanged = (busy) => { if (busy) { AndHUD.Shared.Show(this, "Loading..."); } else { AndHUD.Shared.Dismiss(this); } }; ListAdapter = new ExpenseAdapter(this, viewModel); ListView.ItemLongClick += async(sender, args) => { await viewModel.ExecuteDeleteExpenseCommand(viewModel.Expenses[args.Position]); RunOnUiThread(() => ((ExpenseAdapter)ListAdapter).NotifyDataSetChanged()); }; }
protected async override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.view_expenses); progressBar = FindViewById <ProgressBar>(Resource.Id.progressBar); viewModel = ServiceContainer.Resolve <ExpensesViewModel>(); viewModel.IsBusyChanged = (busy) => { progressBar.Visibility = busy ? ViewStates.Visible : ViewStates.Gone; }; ListAdapter = new ExpenseAdapter(this, viewModel); ListView.ItemLongClick += async(sender, args) => { await viewModel.ExecuteDeleteExpenseCommand(viewModel.Expenses[args.Position]); RunOnUiThread(() => ((ExpenseAdapter)ListAdapter).NotifyDataSetChanged()); }; if (!viewModel.IsSynced) { await Authenticate(); await viewModel.ExecuteSyncExpensesCommand(); RunOnUiThread(() => ((ExpenseAdapter)ListAdapter).NotifyDataSetChanged()); } }
public async Task <IActionResult> PutExpense(int id, ExpensesViewModel expenseRequest) { Expense expense = _mapper.Map <Expense>(expenseRequest); if (id != expense.Id) { return(BadRequest()); } _context.Entry(expense).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ExpenseExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public MainViewModel() { showAcountsUserWindow = new DelegateCommand(() => CurrentUserWindow = new AccountsViewModel()); showBillsUserWindow = new DelegateCommand(() => CurrentUserWindow = new BillsViewModel()); showExpensesUserWindow = new DelegateCommand(() => CurrentUserWindow = new ExpensesViewModel()); //CurrentUserWindow = new LibraryViewModel(); }
public void GetExpenses() { var client = new HttpClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Token", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjQ4MDZhYWVmLTJmNjctNGY3Yy0yYjdiLTA4ZDdiNTE3MGEzMyIsIm5iZiI6MTU4MjEwMTQ4NywiZXhwIjoxNTgyMTA0MTg3LCJpYXQiOjE1ODIxMDE0ODd9.m-zrNriR1RqSF6pchSBbQ_noiIaNeVSfmixUgyrFqik"); var expense = new ExpensesViewModel { Title = "mock Expenses", Price = 20 }; var expenseDTO = new ExpensesDTO { Title = "mock Expenses", Price = 20 }; int userId = 1; var mockMapper = new Mock <IMapper>(); mockMapper.Setup(repo => repo.Map(expense, expenseDTO)) .Returns(expenseDTO); mockMapper.Setup(repo => repo.Map(expenseDTO, expense)) .Returns(expense); List <ExpensesDTO> expensesList = new List <ExpensesDTO>(); var mockRepo = new Mock <IExpensesService>(); mockRepo.Setup(repo => repo.GetExpensesAsync(userId)) .ReturnsAsync(expensesList); var mockExceptionREpo = new Mock <IExceptionHandler>(); var controller = new ExpensesController(mockRepo.Object, mockExceptionREpo.Object, mockMapper.Object); // Act var okResult = controller.GetExpenses(userId).Result; // Assert Assert.IsType <OkObjectResult>(okResult); }
//---------------------Add Edit------------------------------- public ActionResult AddEdit(int Id) { AllDropDowns(); //initialize the viewModel responsible for the Editing //To get the record that is to be edited ExpensesViewModel Model = new ExpensesViewModel(); if (Id > 0) { tb_Expenses Expenses = db.tb_Expenses.SingleOrDefault(x => x.Id == Id && x.tb_Status.Status == true); Model.Id = Expenses.Id; Model.Date = Expenses.Date; Model.Exp_SN = Expenses.Exp_SN; Model.Description = Expenses.Description; Model.Inv_No = Expenses.Inv_No; Model.Amount = Expenses.Amount; Model.BranchId = Expenses.BranchId; Model.StatusId = Expenses.StatusId; } //returning resultclass (string viewName, Object Model) // return View(); return(PartialView("AddEditViewPartialView", Model)); }
public ExpensesPage() { InitializeComponent(); // get certain viewModel which described in Resource block and used directly in xaml file. // IT MUST BE AFTER INITIALIZE COMPONENT. OTHERWISE Resources is empty. _viewModel = Resources["viewModel"] as ExpensesViewModel; }
public ExpenseListPage() { InitializeComponent(); this.BindingContext = viewModel = new ExpensesViewModel(); AddItem.Command = new Command(() => { var detailPage = new DetailsPage(null); Navigation.PushAsync(detailPage); }); ExpenseList.ItemTapped += (sender, args) => { if (ExpenseList.SelectedItem == null) { return; } var detailPage = new DetailsPage(args.Item as TripExpense); Navigation.PushAsync(detailPage); ExpenseList.SelectedItem = null; }; }
public ExpensesViewModel GetExpenseByIdEdit(int id) { var expense = Db.Expenses1.Find(id); var returnModel = new ExpensesViewModel { Id = expense.Id, BookingId = expense.BookingId, RoomId = expense.RoomId, BuildingName = expense.Room.Building.BuildingName, FloorNumber = expense.Room.FloorNumber, RoomNumber = expense.Room.RoomNumber, CustomerName = expense.Booking.Customer.Name, ExpenseTypeId = expense.ExpenseTypeId, ExpenseTypeType = expense.ExpenseType.Type, ExpenseTypeDescription = expense.ExpenseType.Description, ExpenseTypeAmmount = expense.ExpenseType.Ammount, BookingsList = GetActiveBookings(), ExpenseList = _expenseTypeServices.GetExpenseTypesList(), }; return(returnModel); }
public async Task <IActionResult> Create() { var accessToken = await HttpContext.GetTokenAsync("access_token"); var content = await _expensesCategoryRepository.GetExpCategory ("https://localhost:44382/ExpensesCategory/Get", accessToken); var expensesViewModel = new ExpensesViewModel(); if (content == "Unauthorized") { return(RedirectToAction("Logout", "Home")); } else { var expensesCategories = _expensesCategoryRepository. DeseralizeExpCategories(content); expensesViewModel.Categories = from NameOfCategory in expensesCategories select new SelectListItem { Text = NameOfCategory.Name, Value = NameOfCategory.Name.ToString() }; return(View(expensesViewModel)); } }
public ActionResult Refund(int expenseId) { var repo = new iBudgetRepository(Properties.Settings.Default.constr); var vm = new ExpensesViewModel(); return(View()); }
public ExpenseListPage() { InitializeComponent(); this.BindingContext = viewModel = new ExpensesViewModel(); ToolbarItems.Add(new ToolbarItem { Name = "refresh", Icon = "refresh.png", Command = viewModel.LoadExpenses }); ExpenseList.ItemTapped += (sender, args) => { if (ExpenseList.SelectedItem == null) { return; } var detailPage = new DetailsPage(args.Item as TripExpense); Navigation.PushAsync(detailPage); ExpenseList.SelectedItem = null; }; ButtonNewExpense.Clicked += async(sender, args) => { var detailPage = new DetailsPage(null); await Navigation.PushAsync(detailPage); }; }
public void load() { expViewModel = new ExpensesViewModel(); companyComboBox.ItemsSource = expViewModel.expensesCompaniesList; categoryComboBox.ItemsSource = expViewModel.expensesCategoriesList; }
/// <summary> /// Loads the expense information on the page /// </summary> /// <param name="expenseID"></param> public void loadExpense(int expenseID) { oldExpense = ExpensesViewModel.getExpense(expenseID); if (oldExpense != null) { // Supllier details textBox_Company.Text = oldExpense.companyName; textBox_ContactDetails.Text = oldExpense.contactDetails.ToString(); textBox_Description.Text = oldExpense.description; textBox_Category.Text = oldExpense.category; // Payment details textBox_expenseID.Text = oldExpense.idExpense.ToString(); expenseDate.Text = oldExpense.createdDate.ToString("d"); issuedBy.Text = oldExpense.issuedBy; checkBox_Paid.IsChecked = oldExpense.isPaid; txtBox_cost.Text = oldExpense.cost.ToString("C"); txtBox_VAT.Text = oldExpense.VAT.ToString(); txtBox_totalCost.Text = oldExpense.totalCost.ToString("C"); txtBox_invoiceNumber.Text = oldExpense.invoiceNo == 0 ? "" : oldExpense.invoiceNo.ToString(); // Receipt payments if (oldExpense.isPaid == true) { foreach (var p in oldExpense.payments) { expensesDataGrid.Items.Add(p); } } } else { MessageBox.Show("Receipt with ID = " + expenseID + ", does not exist"); } }
public IActionResult Index() { ExpensesViewModel expensesViewModel = new ExpensesViewModel(); expensesViewModel = priceManager.CalculateExpense(expensesViewModel); return(View(expensesViewModel)); }
/// <summary> /// ctor(). /// </summary> public ExpensesView() { InitializeComponent(); BindingContext = _viewModel = new ExpensesViewModel(); InitilizeChart(); }
public ActionResult ViewExpenses() { var repo = new iBudgetRepository(Properties.Settings.Default.constr); var vm = new ExpensesViewModel(); vm.expenses = repo.GetAllExpenses(); return(View(vm)); }
// Constructor public ExpensesPage() { InitializeComponent(); // Set the data context of the LongListSelector control to the sample data viewModel = ServiceContainer.Resolve <ExpensesViewModel>(); DataContext = viewModel; }
public async Task <ActionResult <ExpensesViewModel> > PostExpense(ExpensesViewModel expenseRequest) { Expense expense = _mapper.Map <Expense>(expenseRequest); _context.Expense.Add(expense); await _context.SaveChangesAsync(); return(CreatedAtAction("GetExpense", new { id = expense.Id }, expense)); }
public ExpensesViewModel CalculateExpense(ExpensesViewModel expensesViewModel) { expensesViewModel.animals = fileManager.GetAnimals("Animals.csv", expensesViewModel.animals); expensesViewModel.prices = fileManager.GetPrices("price.txt", new Dictionary <string, double>()); expensesViewModel.zoo = fileManager.FileReader(expensesViewModel.zoo, "Zoo.xml"); if (expensesViewModel.zoo.Giraffes.Giraffe.Count() > 0) { foreach (var item in expensesViewModel.zoo.Giraffes.Giraffe) { expensesViewModel.zoo.Giraffes.Giraffe.FirstOrDefault(x => x.Name == item.Name).Price = CalculateInvidualExpense(item, "Giraffe", expensesViewModel.animals, expensesViewModel.prices); expensesViewModel.price += expensesViewModel.zoo.Giraffes.Giraffe.FirstOrDefault(x => x.Name == item.Name).Price; } } if (expensesViewModel.zoo.Lions.Lion.Count() > 0) { foreach (var item in expensesViewModel.zoo.Lions.Lion) { expensesViewModel.zoo.Lions.Lion.FirstOrDefault(x => x.Name == item.Name).Price = CalculateInvidualExpense(item, "Lion", expensesViewModel.animals, expensesViewModel.prices); expensesViewModel.price += expensesViewModel.zoo.Lions.Lion.FirstOrDefault(x => x.Name == item.Name).Price; } } if (expensesViewModel.zoo.Zebras.Zebra.Count() > 0) { foreach (var item in expensesViewModel.zoo.Zebras.Zebra) { expensesViewModel.zoo.Zebras.Zebra.FirstOrDefault(x => x.Name == item.Name).Price = CalculateInvidualExpense(item, "Zebra", expensesViewModel.animals, expensesViewModel.prices); expensesViewModel.price += expensesViewModel.zoo.Zebras.Zebra.FirstOrDefault(x => x.Name == item.Name).Price; } } if (expensesViewModel.zoo.Tigers.Tiger.Count() > 0) { foreach (var item in expensesViewModel.zoo.Tigers.Tiger) { expensesViewModel.zoo.Tigers.Tiger.FirstOrDefault(x => x.Name == item.Name).Price = CalculateInvidualExpense(item, "Tiger", expensesViewModel.animals, expensesViewModel.prices); expensesViewModel.price += expensesViewModel.zoo.Tigers.Tiger.FirstOrDefault(x => x.Name == item.Name).Price; } } if (expensesViewModel.zoo.Piranhas.Piranha.Count() > 0) { foreach (var item in expensesViewModel.zoo.Piranhas.Piranha) { expensesViewModel.zoo.Piranhas.Piranha.FirstOrDefault(x => x.Name == item.Name).Price = CalculateInvidualExpense(item, "Piranha", expensesViewModel.animals, expensesViewModel.prices); expensesViewModel.price += expensesViewModel.zoo.Piranhas.Piranha.FirstOrDefault(x => x.Name == item.Name).Price; } } if (expensesViewModel.zoo.Wolves.Wolf.Count() > 0) { foreach (var item in expensesViewModel.zoo.Wolves.Wolf) { expensesViewModel.zoo.Wolves.Wolf.FirstOrDefault(x => x.Name == item.Name).Price = CalculateInvidualExpense(item, "Wolf", expensesViewModel.animals, expensesViewModel.prices); expensesViewModel.price += expensesViewModel.zoo.Wolves.Wolf.FirstOrDefault(x => x.Name == item.Name).Price; } } return(expensesViewModel); }
public async Task <IEnumerable <ExpensesViewModel> > GetExpenses(UserProfile user, int?shopId, DateTime from, DateTime to) { var list = new List <ExpensesViewModel>(); IEnumerable <Expense> expenses = null; var avl = _shopsChecker.CheckAvailability(user, shopId); if (!avl.isCorrectShop) { return(new List <ExpensesViewModel>()); } ; if (!avl.hasShop && avl.isAdmin) { expenses = await _expRepo.GetExpensesAsync(user.business_id.Value, null, from, to); } else if (!avl.hasShop && !avl.isAdmin) { return(new List <ExpensesViewModel>()); } else if (avl.hasShop) { expenses = await _expRepo.GetExpensesAsync(user.business_id.Value, shopId.Value, from, to); } if (expenses == null || !expenses.Any()) { return(new List <ExpensesViewModel>()); } ; foreach (var group in expenses) { var expensesViewModel = new ExpensesViewModel { id = group.id, reportDate = group.report_date, totalSum = group.sum, shopId = group.shop_id }; var dict = new List <ExpensesValueViewModel>(); foreach (var ed in group.ExpensesDetails) { dict.Add(new ExpensesValueViewModel { id = ed.expenses_type_id, key = ed.ExpensesType.type, value = ed.sum }); } expensesViewModel.expenses = dict; list.Add(expensesViewModel); } return(list); }
//[ValidateAntiForgeryToken] public IActionResult Create(ExpensesViewModel item) { if (ModelState.IsValid) { _ctx.Expenses.Add(item.Expense); _ctx.SaveChanges(); return(RedirectToAction("Index")); } return(View(item)); }
public ExpensesViewModel GetExpenseByIdCreate() { var returnModel = new ExpensesViewModel { BookingsList = GetActiveBookings(), ExpenseList = _expenseTypeServices.GetExpenseTypesList(), }; return(returnModel); }
protected async override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.view_expenses); var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); //Toolbar will now take on default actionbar characteristics SetSupportActionBar(toolbar); refresher = FindViewById <SwipeRefreshLayout>(Resource.Id.refresher); refresher.SetProgressBackgroundColorSchemeResource(Resource.Color.pop); refresher.Refresh += async delegate { if (viewModel.IsBusy) { return; } await viewModel.ExecuteLoadExpensesCommand(); RunOnUiThread(listAdapter.NotifyDataSetChanged); }; viewModel = ServiceContainer.Resolve <ExpensesViewModel>(); viewModel.IsBusyChanged = (busy) => { refresher.Refreshing = busy; }; listView = FindViewById <ListView>(Resource.Id.list); listAdapter = new ExpenseAdapter(this, viewModel); listView.Adapter = listAdapter; listView.ItemLongClick += async(sender, args) => { await viewModel.ExecuteDeleteExpenseCommand(viewModel.Expenses[args.Position]); RunOnUiThread(listAdapter.NotifyDataSetChanged); }; listView.ItemClick += OnListViewItemClick; var typed_value = new TypedValue(); Theme.ResolveAttribute(Resource.Attribute.actionBarSize, typed_value, true); refresher.SetProgressViewOffset(false, 0, Resources.GetDimensionPixelSize(typed_value.ResourceId)); await Authenticate(); await viewModel.ExecuteLoadExpensesCommand(); RunOnUiThread(listAdapter.NotifyDataSetChanged); }
private void createChart2() { var today = DateTime.Today; var month = new DateTime(today.Year, today.Month, 1); var lastMonth = month.AddMonths(-4); var invoices = new double[4]; var receipts = new double[4]; var expenses = new double[4]; Labels2 = new string[4]; for (var i = 0; i < 4; i++) { receipts[i] = ReceiptViewModel.getTotalReceiptsMonthYear(lastMonth.Month, lastMonth.Year) + InvoiceViewModel.getPaidInvoicesbyMonthYear(lastMonth.Month, lastMonth.Year);; invoices[i] = InvoiceViewModel.getTotalSalesMonthYear(lastMonth.Month, lastMonth.Year); expenses[i] = ExpensesViewModel.getTotalExpensesMonthYear(lastMonth.Month, lastMonth.Year); Labels2[i] = lastMonth.Month.ToString(); lastMonth = lastMonth.AddMonths(1); } var totalReceipt = new ChartValues <double>(); totalReceipt.AddRange(receipts); var total = new ChartValues <double>(); total.AddRange(invoices); var totalExpenses = new ChartValues <double>(); totalExpenses.AddRange(expenses); SeriesCollection2 = new SeriesCollection { new ColumnSeries { Title = "Sales", Values = total }, new ColumnSeries { Title = "Receipts", Values = totalReceipt }, new ColumnSeries { Title = "Expenses", Values = totalExpenses } }; Formatter = value => value.ToString("N"); DataContext = this; }
/// <summary> /// Loads the latest expense ID as well as the current date /// </summary> public void load() { if (refreshDataDB) { textBox_expenseID.Text = (ExpensesViewModel.returnLatestExpenseID() + 1).ToString(); expenseDate.SelectedDate = DateTime.Today; //set current date PaymentDate.SelectedDate = DateTime.Today; //set current date } refreshDataDB = false; }
/// <summary> /// After validating creates the expense and switches to viewing it /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Btn_Complete_Click(object sender, RoutedEventArgs e) { if (checkCompanyForm() & checkDetailsForm()) { var expense = createExpensesObject(); ExpensesViewModel.insertExpens(expense); MessageBox.Show("Expense with ID " + expense.idExpense + " was created."); expensesMain.viewExpense(expense.idExpense); Btn_clearAll_Click(null, null); } }