• 20 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 29/06/2017

Limitez l'exposition du modèle via un service WCF

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Téléchargez le fichier d'audiodescription : Partie 4, Chapitre 3
Vous trouverez sous la vidéo les codes source du cours.

Code Source

IFichesClientsService.cs

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace FichesClientWCFService
{
    [ServiceContract]
    public interface IFichesClientService
    {
        [OperationContract]
        ObservableCollection<FicheClient> GetFiches();
    }

    [DataContract]
    public class FicheClient : INotifyPropertyChanged
    {
        string nom;

        string prenom;

        string sexe;

        int age;

        public event PropertyChangedEventHandler PropertyChanged;

        [DataMember]
        public string Nom
        {
            get
            {
                return nom;
            }

            set
            {
                if (nom != value)
                {
                    nom = value;
                    NotifyPropertyChanged();
                }
            }
        }

        [DataMember]
        public string Prenom
        {
            get
            {
                return prenom;
            }

            set
            {
                if (prenom != value)
                {
                    prenom = value;
                    NotifyPropertyChanged();
                }
            }
        }

        [DataMember]
        public string Sexe
        {
            get
            {
                return sexe;
            }

            set
            {
                if (sexe != value)
                {
                    sexe = value;
                    NotifyPropertyChanged();
                }
            }
        }

        [DataMember]
        public int Age
        {
            get
            {
                return age;
            }

            set
            {
                if (age != value)
                {
                    age = value;
                    NotifyPropertyChanged();
                }
            }
        }

        public void NotifyPropertyChanged([CallerMemberName] string str="")
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(str));
        }
    }   
}

FichesClientsService.svc.cs

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace FichesClientWCFService
{
    public class FichesClientsService : IFichesClientService
    {
        public ObservableCollection<FicheClient> GetFiches()
        {
            ObservableCollection<FicheClient> collec = null;

            using (var entities = new FichesClientsEntities())
            {
                collec = new ObservableCollection<FicheClient>(entities.Clients.Select(
                    client => new FicheClient()
                    {
                        Nom = client.Nom,
                        Prenom = client.Prenom,
                        Age = client.Age.Value,
                        Sexe = client.Sexe
                    }
                    ));
            }

            return collec;
        }
    }
}
Exemple de certificat de réussite
Exemple de certificat de réussite