private void btnDelete_Click(object sender, RoutedEventArgs e) { try { Payment payment = (Payment)lstPayments.SelectedItem; MessageBoxResult result = MessageBox.Show( string.Format(Localization.Language.ConfirmDeletetingPaymentX, payment.DisplayName), Localization.Language.ConfirmDeleteting, MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No); if (result == MessageBoxResult.Yes) { if (payment.Id != Guid.Empty) { if (PaymentsEntering.DeletePayment(payment) > 0) { payment.Status = Status.Deleted; ((ObservableCollection <Payment>)lstPayments.DataContext).Remove(payment); } } else // When not yet saved will be deleted ie. Id = Guid.Empty { ((ObservableCollection <Payment>)lstPayments.DataContext).Remove(payment); } lbMessages.Content = Localization.Language.PaymentIsDeleted; } } catch (Exception ex) { lbMessages.Content = ex.Message; } }
private void btnSave_Click(object sender, RoutedEventArgs e) { if (spPayment.DataContext == null) { lbMessages.Content = Localization.Language.CannotSavePaymentNotSelectedMessage; return; } Payment payment = (Payment)spPayment.DataContext; if (payment == null) { return; } try { if (HasDetailsErrors(payment)) { return; // Check for field values } // Check that Payment with the same name is not in the collection already Payment found = ((ObservableCollection <Payment>)lstPayments.DataContext).FirstOrDefault(p => p.DisplayName == payment.DisplayName && p.Id != payment.Id); if (found != null) { MessageBox.Show(Localization.Language.SameNamePaymentListedAlready); throw new Exception(Localization.Language.SameNamePaymentListedAlready); } if (cboCategory.SelectedValue != null) { payment.CategoryId = (Guid)cboCategory.SelectedValue; } if (cboSubCategory.SelectedValue != null) { payment.SubCategoryId = (Guid)cboSubCategory.SelectedValue; } PaymentsEntering.LoggedUser = LoggedUser; if (payment.Id != Guid.Empty) { PaymentsEntering.UpdatePayment(payment); lbMessages.Content = string.Format(Localization.Language.PaymentsXDetailsAreUpdated, payment.DisplayName); } else { PaymentsEntering.CreatePayment(payment); ((ObservableCollection <Payment>)lstPayments.DataContext).Add(payment); lstPayments.SelectedIndex = lstPayments.Items.IndexOf(payment); lstPayments.ScrollIntoView(lstPayments.SelectedItem); lbMessages.Content = string.Format(Localization.Language.NewPaymentXIsSaved, payment.DisplayName); } } catch (Exception ex) { lbMessages.Content = string.Format(Localization.Language.CannotSaveBecauseX, ex.Message); } }
private void btnRefresh_Click(object sender, RoutedEventArgs e) { string message = ""; try { PaymentsEntering.RefreshPayments(LoggedUser); lstPayments.DataContext = PaymentsEntering.PaymentList; message = string.Format(Localization.Language.PaymentListUpdatedAtX, DateTime.Now); } catch (Exception ex) { message = ex.Message; MessageBox.Show(ex.Message); } finally { lbMessages.Content = message; } }
private void btnGet_Click(object sender, RoutedEventArgs e) { //var options = new SearchOptions //{ // StartDate = dtpDate1.SelectedDate, // EndDate = dtpDate2.SelectedDate, // CategoryId = (Guid?)cboCategory.SelectedValue, // SubCategoryId = (Guid?)cboSubCategory.SelectedValue, // UserId = LoggedUser.Id //}; PaymentsEntering.RefreshPayments(LoggedUser); localData = PaymentsEntering.PaymentList; // View for filttering view = CollectionViewSource.GetDefaultView(localData); CollectionView view2 = new ListCollectionView(localData); // Filter payments according selected period, category and subcategory view.Filter = Filtering; view2.Filter = Filtering; dgReports.DataContext = localData; lbMessages.Content = string.Format(Localization.Language.DataRetrievedDetailsMessage, ((DateTime)dtpDate1.SelectedDate).ToShortDateString(), ((DateTime)dtpDate2.SelectedDate).ToShortDateString(), cboCategory.Text, cboSubCategory.Text ); double sum = 0; foreach (var item in view2) { sum += ((Payment)item).Amount; } lbRows.Content = string.Format(Localization.Language.RowsCountX, view2.Count); lbTotal.Content = string.Format(Localization.Language.RowsSumX, string.Format("{0:C}", sum)); }