Publié samedi 17 avril 2010 21:50 par Audrey

[RIA Services] DomainDataSource et Insert / Update / Delete des données

Dans mes précédents articles, il a toujours été question d'afficher / sélectionner / trier des données. Maintenant nous allons voir comment insérer / mettre à jour / supprimer des données. Pour les exemples, j'ai utilisé la table Customers de la base de données Northwind.

Voici le DomainDataSource utilisé pour notre exemple qui charge tous les customers de la table avec la méthode "GetCustomersQuery" :

<riaControls:DomainDataSource AutoLoad="true" Name="customersDomainDataSource" QueryName="GetCustomersQuery" >
   <riaControls:DomainDataSource.DomainContext>
       <my:NorthwindContext />
   </riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>



Insert :

Voici l'interface pour ajouter un nouveau Customer :

Add Customer

Lorsque l'utilisateur clique sur le bouton OK après avoir correctement rempli le formulaire, un nouveau customer est créé grâce à la méthode Add et ensuite il est validé avec la méthode SubmitChanges qui permet de répercuter l'ajout jusque dans la base de données :

private void OKButton_Click(object sender, RoutedEventArgs e)
{
  (customersDomainDataSource.DomainContext as NorthwindContext).Customers.Add(new Customers()
  {
     Address = addressTextBox.Text,
     City = cityTextBox.Text,
     CompanyName = companyNameTextBox.Text,
     ContactName = contactNameTextBox.Text,

     ContactTitle = contactTitleTextBox.Text,
     Country = countryTextBox.Text,
     CustomerID = customerIDTextBox.Text,
     Fax = faxTextBox.Text,
     Phone = phoneTextBox.Text,
     PostalCode = postalCodeTextBox.Text,
     Region = regionTextBox.Text
  });
 
  customersDomainDataSource.DomainContext.SubmitChanges();
}


Update :

Voici l'interface permettant de visualiser les données de notre table Customers, et un formulaire permettant de modifier ses données avec un bouton OK pour valider les modifications, un bouton Ajouter pour afficher l'interface vu ci-dessus, et un bouton Supprimer pour supprimer le customer sélectionné :

Update Delete Customer

Voici le code pour le bouton OK permettant de mettre à jour les données du customer sélectionné et modifiées dans le formulaire. La méthode SubmitChanges valide ces modifications et les appliquent dans la base de données :

private void btn_Ok_Click(object sender, RoutedEventArgs e)
{
   customersDomainDataSource.DomainContext.SubmitChanges();
}



Delete :

En appuyant sur le bouton Supprimer, on souhaite supprimer le customer sélectionné. La méthode Remove permet de le supprimer et la méthode SubmitChanges permet de valider cette modification et de propager cette modification dans la base de données.

private void btn_Supp_Click(object sender, RoutedEventArgs e)
{
   Customers myCustomer = dgCustomers.SelectedItem as Customers;

   (customersDomainDataSource.DomainContext as NorthwindContext).Customers.Remove(
myCustomer);
   customersDomainDataSource.DomainContext.SubmitChanges();
}

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01