public void OnSaveTravelExpense() { // remove travelexpenseitem in case of amount00 and amount07 and amount19 are o for (int i = 0; i < TravelExpense.TravelExpenseItems.Count; i++) { TravelExpenseItem item = travelExpense.TravelExpenseItems.ElementAt(i); if (item.Amount00 == 0 && item.Amount07 == 0 && item.Amount19 == 0) { TravelExpense.TravelExpenseItems.Remove(item); } } TravelExpense.EmployeeForTravelExpensesId = SelectedEmployee.Id; TravelExpense.EmployeeName = SelectedEmployee.FullName; TravelExpense.MonthAndYear = $"{ReportAsOf.ToString("MMMM yyyy")}"; TravelExpense.TravelExpenseItems = expenseItems.ToList(); TravelExpense.ExpenseDate = new DateTime(ReportAsOf.Year, ReportAsOf.Month, 1); if (TravelExpense.Id == 0) { TravelExpense = dbAccess.InsertTravelExpense(TravelExpense); } else { TravelExpense updated = dbAccess.UpdateTravelExpense(TravelExpense); if (updated == null) { NotificationRequest.Raise(new Notification() { Title = "QuantCo Deutschland GmbH", Content = "Fehler beim Ändern der Reisekosten" }); } } }
private void OnAddingNewTaxableIncomeItem(object args) { GridViewAddingNewEventArgs e = args as GridViewAddingNewEventArgs; if (e == null) { return; } TaxableIncomeItem item = new TaxableIncomeItem(); item.TravelExpenseItemId = currentTravelExpenseItem.Id; item.Description = currentTravelExpenseItem.Description; item.MonthAndYear = $"{ReportAsOf.ToString("MMMM yyyy")}"; e.NewObject = item; CanSaveTaxableIncome = false; }
private void OnRowEditEnded() { TravelExpenseItem item = ListOfTravelExpenseItems.CurrentItem as TravelExpenseItem; if (item.IsTaxableIncome) { if (item.TaxableIncomeItems.Count == 0) { item.TaxableIncomeItems.Add(new TaxableIncomeItem() { TravelExpenseItemId = item.Id, Description = item.Description, MonthAndYear = $"{ReportAsOf.ToString("MMMM yyyy")}", EmployeeForTravelExpenseId = SelectedEmployee.Id, TaxableAmount = item.TotalAmount, Status = DBStatus.Added }); } } else { item.TaxableIncomeItems.Clear(); } TravelExpense.TotalReimbursement = 0; foreach (TravelExpenseItem te in expenseItems) { TravelExpense.TotalReimbursement += te.TotalAmount; } if (item.TotalAmount == 0) { return; } if (string.IsNullOrEmpty(item.Description)) { item.Description = selectedTransactionType.TransactionType; } }
public override void OnNavigatedTo(NavigationContext navigationContext) { SelectedEmployeeIndex = -1; Employees = dbAccess.GetAllEmployees(); Employees = Employees.OrderBy(e => e.FullName).ToList(); RaisePropertyChanged("Employees"); TransactionTypes = new ObservableCollection <DatevTransactionType>(dbAccess.GetAllTransactionTypes()); RaisePropertyChanged("TransactionTypes"); TravelExpense t = navigationContext.Parameters["TravelExpense"] as TravelExpense; if (t.Id > 0) { TravelExpense = dbAccess.GetTravelExpenseById(t.Id); if (TravelExpense != null) { expenseItems = new ObservableCollection <TravelExpenseItem>(TravelExpense.TravelExpenseItems); if (expenseItems.Count > 0) { currentTravelExpenseItem = expenseItems.ElementAt(0); CanEditTaxableIncome = currentTravelExpenseItem.IsTaxableIncome; } else { currentTravelExpenseItem = null; } ReportAsOf = TravelExpense.ExpenseDate; SelectedEmployee = Employees.FirstOrDefault(e => e.Id == TravelExpense.EmployeeForTravelExpensesId); SelectedEmployeeIndex = Employees.IndexOf(SelectedEmployee); RaisePropertyChanged("SelectedEmployee"); // check, whether ReceiptFile is still available if (!string.IsNullOrEmpty(TravelExpense.ReportFileName)) { if (File.Exists(Path.Combine(travelExpenseRoot, TravelExpense.ReportFileName))) { ReceiptFileNameFound = true; } else { ReceiptFileNameFound = false; } if (!ReceiptFileNameFound) { NotificationRequest.Raise(new Notification() { Title = "QuantCo Deutschland GmbH", Content = "Die angegebene Datei existiert nicht. Sie wurde entweder gelöscht oder verschoben" }); } } else { ReceiptFileNameFound = false; NotificationRequest.Raise(new Notification() { Title = "QuantCo Deutschland GmbH", Content = "Es wurde keine Beleg-Datei angegeben" }); } } } else { TravelExpense = new TravelExpense(); expenseItems = new ObservableCollection <TravelExpenseItem>(); currentTravelExpenseItem = null; ReceiptFileNameFound = false; ReportAsOf = DateTime.Now.Date; ReportAsOf = ReportAsOf.AddMonths(-1); } ListOfTravelExpenseItems = CollectionViewSource.GetDefaultView(expenseItems); ListOfTravelExpenseItems.CurrentChanged -= ListOfTravelExpenseItems_CurrentChanged; ListOfTravelExpenseItems.CurrentChanged += ListOfTravelExpenseItems_CurrentChanged; // set Filter: do not show deletedItems ListOfTravelExpenseItems.Filter = item => { TravelExpenseItem te = item as TravelExpenseItem; if (te == null) { return(true); } return(te.Status != DBStatus.Removed); }; RaisePropertyChanged("ListOfTravelExpenseItems"); }