private void ToMovieDetailExecute(MovieNet.Movie ListMovie) { SubSwitchView = 3; MovieDetailTitle = ListMovie.Title; MovieDetailDescription = ListMovie.Description; MovieDetailType = ListMovie.Type.Value; MovieDetailUser = ListMovie.User.Login; int NoteAvg = 0; if (ListMovie.Note.Count > 0) { int NoteCount = ListMovie.Note.Count; foreach (MovieNet.Note note in ListMovie.Note) { NoteAvg += note.Value; } NoteAvg = NoteAvg / NoteCount; } if (NoteAvg == 0) { MovieDetailNote = "Aucune note pour ce film"; } else { MovieDetailNote = NoteAvg.ToString(); } MovieDataModelContainer ctx = new MovieDataModelContainer(); Comments = ctx.CommentSet.Where(c => c.Movie.Id.Equals(ListMovie.Id)).ToList(); }
/* * Méthode pour valider le formulaire de film */ void ToValidAddMovieExecute() { MovieDataModelContainer ctx = new MovieDataModelContainer(); Movie movie = new Movie(); movie.Title = TitleAdd; movie.Description = DescriptionAdd; movie.User = ctx.UserSet.Find(UserIdConnected);; movie.Type = ctx.TypeSet.Find(Type); ctx.MovieSet.Add(movie); ctx.SaveChanges(); Movies = ctx.MovieSet.ToList(); SubSwitchView = 0; }
/* * Méthode pour la connexion */ void SignupExecute() { MovieDataModelContainer ctx = new MovieDataModelContainer(); var query = ctx.UserSet.Where(u => u.Login.Equals(LoginUp)); if (query.Any()) { // Le nom d'utilisateur choisi existe déjà, l'inscription n'est pas prise en compte InscriptionStatusName = "Ce nom d'utilisateur existe déjà!"; } else { if (String.IsNullOrEmpty(LoginUp)) { InscriptionStatusName = "Veuillez renseigner un nom d'utilisateur"; } else if (String.IsNullOrEmpty(PasswordUp)) { InscriptionStatusName = "Veuillez renseigner un mot de passe"; } else { // Ajout du nouvel utilisateur User user = new User(); user.Login = LoginUp; user.Password = PasswordUp; ctx.UserSet.Add(user); ctx.SaveChanges(); StatusColor = "Green"; ConnectStatusName = LoginUp + ", votre inscription a bien été prise en compte!"; // TODO Vider les valeur du champs sinon elles sont populate! SwitchView = 0; } } }
/* * Méthode pour la connexion */ void SigninExecute() { MovieDataModelContainer ctx = new MovieDataModelContainer(); var query = ctx.UserSet.Where(u => u.Login.Equals(LoginIn) && u.Password.Equals(PasswordIn)).ToList(); if (query.Any()) { ConnectStatusName = "Connexion réussie !"; StatusColor = "Green"; UserIdConnected = query[0].Id; UserNameConnected = LoginIn; SwitchView = 2; } else { ConnectStatusName = "Erreur d'identifiants"; StatusColor = "Red"; } }
public MainViewModel() { SwitchView = 0; SubSwitchView = 0; StatusColor = ""; ConnectStatusName = ""; InscriptionStatusName = ""; ProfilEditStatusName = ""; AddMovieStatusName = ""; UserIdConnected = 0; UserNameConnected = ""; MovieDataModelContainer ctx = new MovieDataModelContainer(); Movies = ctx.MovieSet.ToList(); Types = ctx.TypeSet.ToList(); Signin = new RelayCommand(SigninExecute, SigninCanExecute); Signup = new RelayCommand(SignupExecute, SignupCanExecute); ProfilEdit = new RelayCommand(ProfilEditExecute, ProfilEditCanExecute); MovieSearch = new RelayCommand(MovieSearchExecute, MovieSearchCanExecute); ToSignin = new RelayCommand(ToSigninExecute, ToSigninCanExecute); ToSignup = new RelayCommand(ToSignupExecute, ToSignupCanExecute); ToProfil = new RelayCommand(ToProfilExecute, ToProfilCanExecute); ToAddMovie = new RelayCommand(ToAddMovieExecute, ToAddMovieCanExecute); ToValidAddMovie = new RelayCommand(ToValidAddMovieExecute, ToValidAddMovieCanExecute); ToMovie = new RelayCommand(ToMovieExecute, ToMovieCanExecute); ToMovieDetail = new RelayCommand <MovieNet.Movie>((s) => ToMovieDetailExecute(s)); ToDisconnect = new RelayCommand(ToDisconnectExecute, ToDisconnectCanExecute); }
/* * Méthode pour effectuer une recherche sur les films */ void MovieSearchExecute() { MovieDataModelContainer ctx = new MovieDataModelContainer(); Movies = ctx.MovieSet.Where(m => m.Title.Contains(MovieTitleSearch)).ToList(); }
/* * Méthode pour modifier le profil de l'utilisateur */ void ProfilEditExecute() { StatusColor = ""; // Si uniquement le login if (String.IsNullOrEmpty(LoginEdit)) { StatusColor = "Red"; ProfilEditStatusName = "Veuillez ajouter un nom d'utilisateur"; } else if (!String.IsNullOrEmpty(LoginEdit) && !String.IsNullOrEmpty(PasswordEdit) && !String.IsNullOrEmpty(PasswordEditConfirm)) { if (PasswordEdit != PasswordEditConfirm) { StatusColor = "Red"; ProfilEditStatusName = "Les deux mots de passe ne correspondent pas"; } else { // Si le login est différent de l'utilisateur connecté, on le modifie if (LoginEdit != UserNameConnected) { MovieDataModelContainer ctx = new MovieDataModelContainer(); var user = ctx.UserSet.Single(x => x.Id == UserIdConnected); user.Login = LoginEdit; user.Password = PasswordEdit; ctx.SaveChanges(); UserNameConnected = LoginEdit; StatusColor = "Green"; ProfilEditStatusName = "Le nom d'utilisateur et le password ont bien été modifiés!"; } // Sinon, on modifie uniquement le mot de passe else { MovieDataModelContainer ctx = new MovieDataModelContainer(); var user = ctx.UserSet.Single(x => x.Id == UserIdConnected); user.Password = PasswordEdit; ctx.SaveChanges(); StatusColor = "Green"; ProfilEditStatusName = "Le password a bien été modifié!"; } } // Modification du nom et du mot de passe, si même pseudo que l'actuel on ne le change pas. } else if (!String.IsNullOrEmpty(LoginEdit)) { if (LoginEdit == UserNameConnected) { StatusColor = "Red"; ProfilEditStatusName = "Ce login est déjà le votre actuellement"; } else { MovieDataModelContainer ctx = new MovieDataModelContainer(); var user = ctx.UserSet.Single(x => x.Id == UserIdConnected); user.Login = LoginEdit; ctx.SaveChanges(); UserNameConnected = LoginEdit; StatusColor = "Green"; ProfilEditStatusName = "Le nom d'utilisateur a bien été modifié!"; } } }