private void sourceOfIncomeList_Holding(object sender, HoldingRoutedEventArgs e) { ListView listView = (ListView)sender; sourceOfIncomeFlyoutMenu.ShowAt(listView, e.GetPosition(listView)); sourceOfIncomeElement = ((FrameworkElement)e.OriginalSource).DataContext as SourceOfIncome; }
protected override void OnNavigatedTo(NavigationEventArgs e) { if (e.Parameter != null) { id = (int)e.Parameter; using (PFContext db = new PFContext()) { income = db.Income.FirstOrDefault(i => i.Id == id); } } if (income != null) { Income i; headerBlock.Text = "Редактировать доход"; incomeSum.Text = income.Summa.ToString(); dateIncome.Date = Convert.ToDateTime(income.DateOperation); incomeComment.Text = income.Comment; // ComboBox using (PFContext db = new PFContext()) { incomeCollection = new ObservableCollection <Income>(db.Income.Include(x => x.Purse) .Include(y => y.SourceOfIncome).ToList()); i = incomeCollection.FirstOrDefault(x => x.Id == id); purseSealed = i.Purse; sourceOfIncomeSealed = i.SourceOfIncome; } } else { dateIncome.Date = DateTime.Today; } }
private void BtnOk_Click(object sender, RoutedEventArgs e) { if (nameSourceOfIncome.Text.Length == 0) { errorText.Text = "Введите название"; return; } using (PFContext db = new PFContext()) { if (income != null) { income.Name = nameSourceOfIncome.Text; db.SourceOfIncome.Update(income); } else { SourceOfIncome incomeNew = new SourceOfIncome { Name = nameSourceOfIncome.Text }; db.SourceOfIncome.Add(incomeNew); } db.SaveChanges(); } GoToPreviousPage(); }
private void incomesCategoriesCB_SelectionChanged(object sender, SelectionChangedEventArgs e) { SourceOfIncome incomeCategoriesElement = incomesCategoriesCB.SelectedItem as SourceOfIncome; if (incomeCategoriesElement != null) { isAllIncomesCategories.IsChecked = false; } }
protected override void OnNavigatedTo(NavigationEventArgs e) { if (e.Parameter != null) { id = (int)e.Parameter; using (PFContext db = new PFContext()) { income = db.SourceOfIncome.FirstOrDefault(c => c.Id == id); } } if (income != null) { headerBlock.Text = "Редактировать категорию доходов"; nameSourceOfIncome.Text = income.Name; } }
private void DeleteSourceOfIncomeItem(SourceOfIncome sourceOfIncome) { Purse purseChangeBalance; using (PFContext db = new PFContext()) { foreach (Income i in db.Income) { if (i.SourceOfIncomeId == sourceOfIncome.Id) { db.Income.Remove(i); purseChangeBalance = db.Purse.FirstOrDefault(p => p.Id == i.PurseId); purseChangeBalance.Balance = purseChangeBalance.Balance - i.Summa; db.Purse.Update(purseChangeBalance); } } db.SourceOfIncome.Remove(sourceOfIncome); db.SaveChanges(); sourceOfIncomeList.ItemsSource = db.SourceOfIncome.ToList(); } }
private void buttonAccept_Click(object sender, RoutedEventArgs e) { List <int> listIdForDelete = new List <int>(); #region Validation if (isAllPurse.IsChecked == false && purseListCB.SelectedItem == null) { errorText.Text = "Не выбран счет"; amountSumma.Visibility = Visibility.Collapsed; errorText.Visibility = Visibility.Visible; return; } if (isAllIncomesCategories.IsChecked == false && incomesCategoriesCB.SelectedItem == null) { errorText.Text = "Не выбрана категория"; amountSumma.Visibility = Visibility.Collapsed; errorText.Visibility = Visibility.Visible; return; } if (isAllDate.IsChecked == false) { if (dateStart.Date == null || datefinish.Date == null) { errorText.Text = "Не выбрана дата"; amountSumma.Visibility = Visibility.Collapsed; errorText.Visibility = Visibility.Visible; return; } else { DateTimeOffset startDate = (DateTimeOffset)dateStart.Date; DateTimeOffset finishDate = (DateTimeOffset)datefinish.Date; string dateFormatStart = startDate.Date.ToString("dd.MM.yyyy"); string dateFormatFinish = finishDate.Date.ToString("dd.MM.yyyy"); DateTime sDate = Convert.ToDateTime(dateFormatStart); DateTime fDate = Convert.ToDateTime(dateFormatFinish); if (sDate > fDate) { errorText.Text = "Не корректно выбрана дата"; amountSumma.Visibility = Visibility.Collapsed; errorText.Visibility = Visibility.Visible; return; } } } #endregion using (PFContext db = new PFContext()) { incomesCollection = new ObservableCollection <Income>(db.Income.Include(x => x.SourceOfIncome) .Include(x => x.Purse).Include(x => x.Currency).ToList()); } if (isAllPurse.IsChecked != true) { Purse purseComboBox = purseListCB.SelectedItem as Purse; foreach (Income c in incomesCollection.ToList()) { if (c.PurseId != purseComboBox.Id) { listIdForDelete.Add(c.Id); } } /* Удаление не нужных счетов */ for (int i = 0; i < listIdForDelete.Count; i++) { for (int j = 0; j < incomesCollection.Count; j++) { if (listIdForDelete[i] == incomesCollection[j].Id) { incomesCollection.RemoveAt(j); } } } listIdForDelete.Clear(); } if (isAllIncomesCategories.IsChecked != true) { SourceOfIncome incomeCategoriesComboBox = incomesCategoriesCB.SelectedItem as SourceOfIncome; foreach (Income c in incomesCollection.ToList()) { if (c.SourceOfIncomeId != incomeCategoriesComboBox.Id) { listIdForDelete.Add(c.Id); } } /* Удаление не нужных категорий */ for (int i = 0; i < listIdForDelete.Count; i++) { for (int j = 0; j < incomesCollection.Count; j++) { if (listIdForDelete[i] == incomesCollection[j].Id) { incomesCollection.RemoveAt(j); } } } listIdForDelete.Clear(); } if (isAllDate.IsChecked != true) { DateTimeOffset startDate = (DateTimeOffset)dateStart.Date; DateTimeOffset finishDate = (DateTimeOffset)datefinish.Date; string dateFormatStart = startDate.Date.ToString("dd.MM.yyyy"); string dateFormatFinish = finishDate.Date.ToString("dd.MM.yyyy"); DateTime sDate = Convert.ToDateTime(dateFormatStart); DateTime fDate = Convert.ToDateTime(dateFormatFinish); foreach (Income c in incomesCollection.ToList()) { if (Convert.ToDateTime(c.DateOperation) < sDate || Convert.ToDateTime(c.DateOperation) > fDate) { listIdForDelete.Add(c.Id); } } /* Удаление не нужных дат */ for (int i = 0; i < listIdForDelete.Count; i++) { for (int j = 0; j < incomesCollection.Count; j++) { if (listIdForDelete[i] == incomesCollection[j].Id) { incomesCollection.RemoveAt(j); } } } listIdForDelete.Clear(); } if (!SortIncomeCollection(incomesCollection)) { incomeList.ItemsSource = incomesCollection; } amountSumma.Text = "Сумма доходов: " + GetTotalAmount(incomesCollection).ToString() + " BYN"; ChangeCollectionForDiagramm(incomesCollection); filterFlyoutMenu.Hide(); }
private void BtnOk_Click(object sender, RoutedEventArgs e) { Purse pList = purseListCB.SelectedItem as Purse; SourceOfIncome sList = incomeCategorListCB.SelectedItem as SourceOfIncome; double sum; DateTimeOffset date = (DateTimeOffset)dateIncome.Date; string dateFormat = date.Date.ToString("dd.MM.yyyy"); if (pList == null) { errorText.Text = "Выберите счет"; return; } if (!Double.TryParse(ConvertToStringFormat(incomeSum.Text), out sum)) { errorText.Text = "Некоректная сумма"; return; } if (sum < 0) { errorText.Text = "Некоректная сумма"; return; } if (sList == null) { errorText.Text = "Выберите категорию"; return; } //if (incomeComment.Text.Length == 0) //{ // incomeComment.Text = " "; //} using (PFContext db = new PFContext()) { if (income != null) { int purseID_Old = income.PurseId; double summaIncom_Old = income.Summa; currency = db.Currency.FirstOrDefault(c => c.Id == pList.CurrencyId); if (pList.Id == purseID_Old && summaIncom_Old == sum) // неизменный кошелек и сумма { income.Summa = sum; income.DateOperation = dateFormat; income.PurseId = pList.Id; income.SourceOfIncomeId = sList.Id; income.CurrencyId = pList.CurrencyId; income.Comment = incomeComment.Text; income.Purse = pList; income.SourceOfIncome = sList; income.Currency = currency; } else if (pList.Id == purseID_Old && summaIncom_Old != sum) // изменяется только сумма { Purse purseChangeSumElement = db.Purse.FirstOrDefault(p => p.Id == pList.Id); purseChangeSumElement.Balance = purseChangeSumElement.Balance + (sum - summaIncom_Old); db.Purse.Update(purseChangeSumElement); income.Summa = sum; income.DateOperation = dateFormat; income.PurseId = pList.Id; income.SourceOfIncomeId = sList.Id; income.CurrencyId = pList.CurrencyId; income.Comment = incomeComment.Text; income.Purse = pList; income.SourceOfIncome = sList; income.Currency = currency; } else if (pList.Id != purseID_Old) //изменяется кошелек { Purse purseChangeOld; Purse purseChangeNew; purseChangeOld = db.Purse.FirstOrDefault(p => p.Id == purseID_Old); purseChangeOld.Balance = purseChangeOld.Balance - summaIncom_Old; db.Purse.Update(purseChangeOld); purseChangeNew = db.Purse.FirstOrDefault(p => p.Id == pList.Id); purseChangeNew.Balance = purseChangeNew.Balance + sum; db.Purse.Update(purseChangeNew); income.Summa = sum; income.DateOperation = dateFormat; income.PurseId = pList.Id; income.SourceOfIncomeId = sList.Id; income.CurrencyId = pList.CurrencyId; income.Comment = incomeComment.Text; income.Purse = pList; income.SourceOfIncome = sList; income.Currency = currency; } db.Income.Update(income); } else { currency = db.Currency.FirstOrDefault(c => c.Id == pList.CurrencyId); Income incomeNew = new Income { Summa = sum, DateOperation = dateFormat, PurseId = pList.Id, SourceOfIncomeId = sList.Id, Comment = incomeComment.Text, Purse = pList, SourceOfIncome = sList, CurrencyId = pList.CurrencyId, Currency = currency }; db.Purse.Attach(pList); db.SourceOfIncome.Attach(sList); db.Currency.Attach(currency); /* Update Purse */ purse = db.Purse.FirstOrDefault(p => p.Id == incomeNew.PurseId); purse.Balance = purse.Balance + incomeNew.Summa; db.Purse.Update(purse); db.Income.Add(incomeNew); } db.SaveChanges(); } GoToPreviousPage(); }