public ContractorViewModel() { this.contractorDataService = new ContractorDataService(); progressService = DependencyService.Get <IProgressService> (); db = new ContractorDatabase(); contractorList = new ObservableCollection <Contractor>(); }
public ContractorViewModel() { // this.navigation = navigation; this.contractorDataService = new ContractorDataService(); db = new ContractorDatabase(); contractorList = new ObservableCollection <Contractor>(); // BindContractor(); }
/// <summary> /// Обработчик события загрузки главной страницы; загружает контрагентов /// из базы данных и вызывает метод отрисовки AddContractorPanel() /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Page_Loaded(object sender, RoutedEventArgs e) { lastClickedContractor = null; ContractorDatabase.Initialize(); contractors = ContractorDatabase.Load(); placeHolder = new BitmapImage(new Uri("ms-appx:///Assets/placeHolder.jpg")); rowIndex = 0; foreach (Contractor c in contractors) { AddContractorPanel(c); } ResizePageContent(); }
/// <summary> /// Обработчик события нажатия на кнопку сохранения информации о контрагенте /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void saveButton_Click(object sender, RoutedEventArgs e) { if (contractorName.Text == string.Empty) { contractorName.Focus(FocusState.Programmatic); return; } if (contractorPhone.Text.Length < 11) { contractorPhone.Focus(FocusState.Programmatic); return; } else if (contractorPhone.Text[0] == '8') { StringBuilder builder = new StringBuilder(contractorPhone.Text); builder[0] = '7'; contractorPhone.Text = builder.ToString(); } contractorPhone.Text = "+" + contractorPhone.Text; if (contractor != null) { contractor.Name = contractorName.Text; contractor.Email = contractorEmail.Text; contractor.PhoneNumber = contractorPhone.Text; contractor.Photo = contractorImage.Source == placeHolder ? null : contractorImage.Source as BitmapImage; contractor.Photo.UriSource = new Uri(Path.Combine(ApplicationData.Current.LocalFolder.Path, "tmpImage")); ContractorDatabase.UpdateContractor(contractor); } else { contractor = new Contractor { Name = contractorName.Text, PhoneNumber = contractorPhone.Text, Email = contractorEmail.Text, Photo = contractorImage.Source == placeHolder ? null : contractorImage.Source as BitmapImage }; if (contractor.Photo != null) { contractor.Photo.UriSource = new Uri(Path.Combine(ApplicationData.Current.LocalFolder.Path, "tmpImage")); } ContractorDatabase.AddContractor(contractor); } Frame.GoBack(); }
/// <summary> /// Обработчик события нажатия на кнопку удаления контрагента; /// удаляет визуальное представление выбранного контрагента и его запись из базы данных /// с предварительным вызовом диалогового окна подтверждения /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void deleteContractorButton_Click(object sender, RoutedEventArgs e) { ContentDialog dialog = new ContentDialog() { Title = "Подтверждение действия", Content = "Вы действительно хотите удалить выбранного контрагента?", PrimaryButtonText = "ОК", SecondaryButtonText = "Отмена" }; ContentDialogResult result = await dialog.ShowAsync(); if (result == ContentDialogResult.Primary) { Contractor contractorToDelete = contractors.Find((c) => c.ID == (int)contractorInfo.Tag); RelativePanel panelToDelete = contractorsList.Children.First( (c) => (int)(c as RelativePanel).Tag == contractorToDelete.ID) as RelativePanel; contractorsList.Children.Remove(panelToDelete); contractorsList.RowDefinitions[Grid.GetRow(panelToDelete)].Height = new GridLength(0); ContractorDatabase.RemoveContractor(contractorToDelete.ID); contractors.Remove(contractorToDelete); lastClickedContractor = null; contractorInfo.Visibility = Visibility.Collapsed; } }
private void CreateContractor(Contractor responseFromServer) { FormSample.ContractorDatabase d = new ContractorDatabase(); d.SaveItem(responseFromServer);; }