public async Task DeleteExpenseAsync(TripExpense expense) { var id = expense.Id; Expenses.Remove(expense); await Save(); }
public void TestRoundAmountToNearestCent() { TripExpense tripExp = new TripExpense(); Assert.AreEqual(1.18, tripExp.RoundAmountToNearestCent(1.175)); Assert.AreEqual(0.98, tripExp.RoundAmountToNearestCent(29.95 / 2 - 14)); }
private void AddExpenseButton_Click(object sender, RoutedEventArgs e) { if (MembersListView.SelectedIndex >= 0) { Debug.WriteLine(SelectedTrip.Members[MembersListView.SelectedIndex].ToString()); TripExpense expense = new TripExpense(); expense.Description = ExpenseDescriptionTextBox.Text; string ct = ExpenseCostTextBox.Text.Replace(" ", string.Empty); double cost = 0; if (double.TryParse(ct, out cost) && cost > 0) { expense.Cost = cost; SelectedTrip.Members[MembersListView.SelectedIndex].Expenses.Add(expense); ExpenseDescriptionTextBox.Text = ""; ExpenseCostTextBox.Text = ""; TripDAO.Update(SelectedTrip); ExpensesListView.Items.Refresh(); DrawChart(); } else { ShowErrorDialog("Chi phí là một số lớn hơn không "); } } }
public async Task <IEnumerable <TripExpense> > GetExpensesAsync() { var rootFolder = FileSystem.Current.LocalStorage; var folder = await rootFolder.CreateFolderAsync(Folder, CreationCollisionOption.OpenIfExists); var file = await folder.CreateFileAsync(File, CreationCollisionOption.OpenIfExists); var json = await file.ReadAllTextAsync(); if (!string.IsNullOrWhiteSpace(json)) { Expenses = DeserializeObject <List <TripExpense> >(json); } if (Expenses.Count == 0) { var expense = new TripExpense { Billable = true, Category = "Transportation", Name = "DevWeek 2015 Flight", Price = "1000.00" }; await SaveExpenseAsync(expense); } return(Expenses); }
private void ExecuteUpdateExpense(TripExpense expense) { IsBusy = true; var index = Expenses.IndexOf(expense); Expenses[index] = expense; IsBusy = false; }
public async Task UpdateExpenseAsync(TripExpense expense) { if (!initialized) { await Init(); } await expenseTable.UpdateAsync(expense); }
public void SplitPaymentAverage() { TripExpense tripExp = new TripExpense(); tripExp.MaxPeople = 3; tripExp.TotalExpense = 30.33m; var result = tripExp.CalcuateSplitExpenseAverage(); Assert.AreEqual(result, 10.11m); }
private async Task ExecuteDeleteExpense(TripExpense expense) { IsBusy = true; await dataStore.DeleteExpenseAsync(expense); await dataStore.SyncExpensesAsync(); Expenses.Remove(expense); IsBusy = false; }
public DetailsPage(TripExpense expense) { InitializeComponent(); foreach (var item in DetailViewModel.Categories) { PickerCategory.Items.Add(item); } ViewModel = new DetailViewModel(expense, Navigation); }
public async Task InsertExpenseAsync(TripExpense expense) { if (!initialized) { await Init(); } //expense.Id = (Expenses.Count + 1).ToString(); //Expenses.Add(expense); await expenseTable.InsertAsync(expense); }
public void FinalPaymentCalculation() { TripExpense tripExp = new TripExpense(); decimal value = -0.01m; var result = tripExp.IndividualSplitExpense(value); Assert.AreEqual(result, "0.01"); value = 0.01m; result = tripExp.IndividualSplitExpense(value); Assert.AreEqual(result, "(0.01)"); }
public void TestGetOwedAmountsWithTwoPaying() { TripExpense tripExp = new TripExpense(); tripExp.AddNewExpense(14); tripExp.AddNewExpense(15.95); // total expense is $29.95 and everyone has to pay $14.98 ArrayList owedAmounts = tripExp.GetOwedAmounts(); Assert.AreEqual(0.98, owedAmounts[0]); Assert.AreEqual(-0.98, owedAmounts[1]); }
public async Task <TripExpense> InsertExpenseAsync(TripExpense expense) { if (!initialized) { await Init(); } await expenseTable.InsertAsync(expense); return(expense); }
public void TestGetOwedAmountsWithOnlyOnePaying() { TripExpense tripExp = new TripExpense(); tripExp.AddNewExpense(0); tripExp.AddNewExpense(113); tripExp.AddNewExpense(0); // total expense is $113 and everyone has to pay $37.67 ArrayList owedAmounts = tripExp.GetOwedAmounts(); Assert.AreEqual(37.67, owedAmounts[0]); Assert.AreEqual(-75.33, owedAmounts[1]); Assert.AreEqual(37.67, owedAmounts[2]); }
public void TestGetOwedAmountsWithEveryonePaying() { TripExpense tripExp = new TripExpense(); tripExp.AddNewExpense(51.27); tripExp.AddNewExpense(101.35); tripExp.AddNewExpense(16.01); // total expense is $168.63 and everyone has to pay $56.21 ArrayList owedAmounts = tripExp.GetOwedAmounts(); Assert.AreEqual(4.94, owedAmounts[0]); Assert.AreEqual(-45.14, owedAmounts[1]); Assert.AreEqual(40.2, owedAmounts[2]); }
public void AddIndividualExpenses() { TripExpense tripExp = new TripExpense(); tripExp.MaxPeople = 2; tripExp.AddExpenses(0, 5.03m); tripExp.AddExpenses(0, 3.01m); tripExp.AddExpenses(0, 2.03m); tripExp.AddExpenses(1, 5.00m); tripExp.AddExpenses(1, 5.00m); tripExp.AddExpenses(1, 5.00m); Assert.IsTrue(tripExp.CountExpense() == 6); Assert.IsTrue(tripExp.IndividualExpense(0) == 10.07m); Assert.IsTrue(tripExp.IndividualExpense(1) == 15m); ; }
public void CalculateExpenses_ShouldInvokeReadFile_WhenReadLine() { //Arrange IList <CampingTrip> trips = new List <CampingTrip>(); var fileReader = new Mock <IFilereader>(); fileReader.Setup(x => x.ReadFile(It.IsAny <string>())).Returns(trips); //Act var expenseCalculator = new TripExpense(fileReader.Object); expenseCalculator.CalculateExpenses("anystring"); //Assert fileReader.Verify(m => m.ReadFile(It.IsAny <string>()), Times.Once()); }
public void SaveFriendsTripExpenseEntry(SaveTripExpense saveTripExp) { var saveTripExpense = new TripExpense { TripId = saveTripExp.tripId, FriendId = saveTripExp.friendId, UserId = saveTripExp.UserId, ExpenseOnId = saveTripExp.ExpenseOnId, Descriptions = saveTripExp.Description, Dates = saveTripExp.Dates, Amount = saveTripExp.Amount, Created_On = DateTime.Now, Status = 1 }; _db.TripExpenses.Add(saveTripExpense); _db.SaveChanges(); }
public DetailViewModel(TripExpense expense, INavigation navigation) { this.navigation = navigation; if (expense == null) { isNew = true; expense = new TripExpense() { Name = string.Empty, Category = Categories[2], Price = string.Empty }; } this.expense = expense; name = expense.Name; category = Categories.IndexOf(expense.Category); billable = expense.Billable; price = expense.Price; }
public async Task <TripExpense> SaveExpenseAsync(TripExpense expense) { if (string.IsNullOrWhiteSpace(expense.Id)) { expense.Id = DateTime.Now.ToString(); Expenses.Add(expense); } else { var found = Expenses.FirstOrDefault(e => e.Id == expense.Id); if (found != null) { found.SyncProperties(expense); } } await Save(); return(expense); }
public Task <int> CreateExpense(TripExpense trip) { throw new NotImplementedException(); }
public Task UpdateExpenseAsync(TripExpense expense) { return(expenseTable.UpdateAsync(expense)); }
public Task InsertExpenseAsync(TripExpense expense) { return(expenseTable.InsertAsync(expense)); }
public async Task <TripExpense> UpdateExpenseAsync(TripExpense expense) { return(await SaveExpenseAsync(expense)); }