コード例 #1
0
 public ContractorViewModel()
 {
     this.contractorDataService = new ContractorDataService();
     progressService            = DependencyService.Get <IProgressService> ();
     db             = new ContractorDatabase();
     contractorList = new ObservableCollection <Contractor>();
 }
コード例 #2
0
 public ContractorViewModel()
 {
     // this.navigation = navigation;
     this.contractorDataService = new ContractorDataService();
     db             = new ContractorDatabase();
     contractorList = new ObservableCollection <Contractor>();
     // BindContractor();
 }
コード例 #3
0
 /// <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();
 }
コード例 #4
0
 /// <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();
 }
コード例 #5
0
        /// <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;
            }
        }
コード例 #6
0
 private void CreateContractor(Contractor responseFromServer)
 {
     FormSample.ContractorDatabase d = new ContractorDatabase();
     d.SaveItem(responseFromServer);;
 }