コード例 #1
0
        public static UtilisateurLight getUtilisateur(int id)
        {
            MusiqueStreamingBackend db          = new MusiqueStreamingBackend();
            UtilisateurLight        utilisateur = Utilitaire.JsonConstruction.buildUtilisateurLight(db.Utilisateurs.Find(id));

            return(utilisateur);
        }
コード例 #2
0
        public static List <MusiqueLight> searchMusique(string query)
        {
            MusiqueStreamingBackend db            = new MusiqueStreamingBackend();
            List <MusiqueLight>     musiqueRetour = new List <MusiqueLight>();
            //les musiques correspondant au searchquery par le nom
            List <Musique> musiqueSearched = new List <Musique>();
            //les musiques des album correspondant au searchquery par le nom
            List <Musique> musiqueSearchedByAlbum = new List <Musique>();
            //Liste des album correspondant au searchquery par le nom
            List <Album> AlbumSearch = new List <Album>();

            musiqueSearched = db.Musiques.Where(s => s.NomMusique == query).ToList();

            AlbumSearch = db.Album.Where(s => s.nomAlbum == query).ToList();

            foreach (Album album in AlbumSearch)
            {
                foreach (Musique mumu in album.Musiques)
                {
                    musiqueSearchedByAlbum.Add(mumu);
                }
            }
            //on elemine les doublons avec union
            musiqueSearched = musiqueSearched.Union(musiqueSearchedByAlbum).ToList();

            ///on simplifie les musiques
            foreach (Musique mumu in musiqueSearched)
            {
                musiqueRetour.Add(Utilitaire.JsonConstruction.buildMusiqueLight(mumu));
            }

            return(musiqueRetour);
        }
コード例 #3
0
        public static void uploadImg(int userId)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            var httpRequest            = HttpContext.Current.Request;

            if (httpRequest.Files.Count > 0)
            {
                var docfiles = new List <string>();
                foreach (string file in httpRequest.Files)
                {
                    var postedFile = httpRequest.Files[file];
                    var url        = "Fichier/UtilisateurPhotoProfil/";
                    //permet de donner un nom unique et random au fichier
                    Guid   g          = Guid.NewGuid();
                    string GuidString = Convert.ToBase64String(g.ToByteArray());
                    GuidString = GuidString.Replace("=", "");
                    GuidString = GuidString.Replace("+", "");
                    GuidString = GuidString.Replace(@"\", "");
                    GuidString = GuidString.Replace(@"/", "");



                    var filePath = HttpContext.Current.Server.MapPath("~/" + url + GuidString + ".jpg");
                    postedFile.SaveAs(filePath);
                    docfiles.Add(filePath);

                    ////on associe l'image a l'utlisateur creer
                    var user = db.Utilisateurs.Where(s => s.id == userId).FirstOrDefault();
                    user.photoProfil = url + GuidString + ".jpg";
                    db.SaveChanges();
                }
            }
        }
コード例 #4
0
        public static CategorieLight GetCategorie(int id)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            var categorie = Utilitaire.JsonConstruction.buildCategorieLight(db.Categories.Find(id));

            return(categorie);
        }
コード例 #5
0
        public static MusiqueLight getMusique(int id)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            var musique = Utilitaire.JsonConstruction.buildMusiqueLight(db.Musiques.Find(id));

            return(musique);
        }
コード例 #6
0
        public static List <AlbumLight> getFeaturedAlbum()
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();

            List <Album>      albumsChoisi = new List <Album>();
            List <AlbumLight> retour       = new List <AlbumLight>();

            int i = 0;

            do
            {
                var idDeLalbum = new Random().Next(1, db.Album.Count());
                //on trouve un album
                var featuredAlbum = db.Album.Where(x => x.id == idDeLalbum).FirstOrDefault();

                //on verifie si on a pas mis lalbum dans le retour
                if (albumsChoisi.Where(s => s.id == featuredAlbum.id).FirstOrDefault() == null)
                {
                    //albumsChoisi.Add(featuredAlbum);
                    retour.Add(Utilitaire.JsonConstruction.buildAlbumLight(featuredAlbum));
                    i++;
                }
            } while (i < 3);

            return(retour);
        }
コード例 #7
0
        public static UtilisateurLight getUtilisateurByAlbumId(int id)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            var utilisateur            = Utilitaire.JsonConstruction.buildUtilisateurLight(db.Album.Where(s => s.fkUtilisateurId == id).FirstOrDefault().Utilisateur);

            return(utilisateur);
        }
コード例 #8
0
        public static void PostCategorie(Categorie categorie)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();

            db.Categories.Add(categorie);
            db.SaveChanges();
            var ii = db.Categories.ToList();
        }
コード例 #9
0
        //enleve toute les musique de cet album
        public static void deleteAlbumMusic(int id, MusiqueStreamingBackend db)//recoit le id de l'album
        {
            var AlbumSongs = db.Musiques.Where(s => s.fkAlbumId == id);

            foreach (var x in AlbumSongs)
            {
                db.Musiques.Remove(x);
            }
        }
コード例 #10
0
        public static void deleteAlbumUtilisateur(int id, MusiqueStreamingBackend db)//recoit le id du user
        {
            var UsersAlbum = db.Album.Where(s => s.fkUtilisateurId == id).ToList();

            foreach (var x in UsersAlbum)
            {
                db.Album.Remove(x);
                Utilitaire.MusiqueUtilitaire.deleteAlbumMusic(x.id, db);
            }
        }
コード例 #11
0
        public static List <string> allCategorieName()
        {
            MusiqueStreamingBackend db             = new MusiqueStreamingBackend();
            List <string>           categorieNames = new List <string>();
            List <Categorie>        categories     = db.Categories.ToList();

            foreach (var x in categories)
            {
                categorieNames.Add(x.Nom);
            }
            return(categorieNames);
        }
コード例 #12
0
        /// <summary>
        /// /////retourne des object json light pour sauter les complication de entity framework
        /// </summary>
        public static AlbumLight getAlbum(int id)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            Album album = db.Album.Find(id);

            if (album == null)
            {
                return(null);
            }
            var retour = Utilitaire.JsonConstruction.buildAlbumLight(album);

            return(retour);
        }
コード例 #13
0
        public static Musique putMusique(int id, MusiqueUpdate musique)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            var musiqueUpdated         = db.Musiques.Where(s => s.id == id).FirstOrDefault();

            if (musiqueUpdated == null)
            {
                return(musiqueUpdated);
            }
            musiqueUpdated.musicPath  = musique.musicPath;
            musiqueUpdated.NomMusique = musique.nomMusique;
            db.SaveChanges();
            return(musiqueUpdated);
        }
コード例 #14
0
        public static Musique deleteMusique(int id)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            Musique musique            = db.Musiques.Find(id);

            if (musique == null)
            {
                return(musique);
            }

            db.Musiques.Remove(musique);
            db.SaveChanges();
            return(musique);
        }
コード例 #15
0
        public static Utilisateur Connection(Connection connection)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            var utilisateur            = db.Utilisateurs.Where(s => s.Email == connection.Email).FirstOrDefault();

            if (utilisateur != null)
            {
                if (utilisateur.Password == connection.Password)
                {
                    return(utilisateur);
                }
            }
            return(null);
        }
コード例 #16
0
        public static Categorie PutCategorie(int id, CategorieUpdate categorie)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();

            var categorieUpdated = db.Categories.Where(s => s.id == id).FirstOrDefault();

            if (categorieUpdated != null)
            {
                categorieUpdated.Nom = categorie.nom;
                db.SaveChanges();
            }


            return(categorieUpdated);
        }
コード例 #17
0
        public static Album putAlbum(int id, AlbumUpdate album)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            var albumToUpdate          = db.Album.Where(s => s.id == id).FirstOrDefault();

            if (albumToUpdate == null)
            {
                return(albumToUpdate);
            }
            albumToUpdate.nomAlbum     = album.nomAlbum;
            albumToUpdate.albumImgPath = album.albumImgPath;

            db.SaveChanges();

            return(albumToUpdate);
        }
コード例 #18
0
        public static Album  deleteAlbum(int id)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            Album album = db.Album.Find(id);

            if (album == null)
            {
                return(album);
            }

            db.Album.Remove(album);

            Utilitaire.MusiqueUtilitaire.deleteAlbumMusic(id, db);
            db.SaveChanges();

            return(album);
        }
コード例 #19
0
        public static Utilisateur deleteUtilisateur(int id)
        {
            MusiqueStreamingBackend db          = new MusiqueStreamingBackend();
            Utilisateur             utilisateur = db.Utilisateurs.Find(id);

            if (utilisateur == null)
            {
                return(utilisateur);
            }

            db.Utilisateurs.Remove(utilisateur);
            Utilitaire.AlbumUtilitaire.deleteAlbumUtilisateur(id, db);

            db.SaveChanges();

            return(utilisateur);
        }
コード例 #20
0
        public static Utilisateur putUtilisateur(int id, UtilisateurUpdate utilisateur)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();

            var user = db.Utilisateurs.Where(s => s.id == id).FirstOrDefault();

            if (user == null)
            {
                return(user);
            }
            user.Email       = utilisateur.email;
            user.Password    = utilisateur.password;
            user.photoProfil = utilisateur.photoProfil;

            db.SaveChanges();
            return(user);
        }
コード例 #21
0
        public static Album postAlbum()
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            /////////comment faire pour se passer des chiffres pour ne pas a avoir predire la place des elements????????
            var   data          = HttpContext.Current.Request.Form[0];
            var   userInfo      = HttpContext.Current.Request.Form[1];
            var   categorieName = HttpContext.Current.Request.Form[2];
            Album album         = JsonConvert.DeserializeObject <Album>(data);
            int   utilisateurId = Convert.ToInt32(userInfo);

            var utilisateur = db.Utilisateurs.Where(s => s.id == utilisateurId).FirstOrDefault();
            var categorie   = db.Categories.Where(s => s.Nom == categorieName).FirstOrDefault();

            utilisateur.albums.Add(album);
            categorie.Albums.Add(album);
            db.Album.Add(album);
            db.SaveChanges();
            return(album);
        }
コード例 #22
0
        public static List <Musique> postMusique()
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            var            data        = HttpContext.Current.Request.Form[0];
            var            albumInfo   = HttpContext.Current.Request.Form[1];
            int            albumId     = Convert.ToInt32(albumInfo);
            List <Musique> musiques    = JsonConvert.DeserializeObject <List <Musique> >(data);
            var            album       = db.Album.Where(s => s.id == albumId).FirstOrDefault();


            foreach (var musique in musiques)
            {
                album.Musiques.Add(musique);
                musique.Categorie = album.Categorie;
                db.Musiques.Add(musique);
            }
            db.SaveChanges();
            return(musiques);
        }
コード例 #23
0
        public static List <CategorieLight> GetFeaturedCategorie()
        {
            List <Categorie>        categorieChoisi       = new List <Categorie>();
            List <CategorieLight>   categorieLightsChoisi = new List <CategorieLight>();
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            int i = 0;

            do
            {
                var idDeLaCategorie   = new Random().Next(1, db.Categories.Count() - 1);
                var featuredCategorie = db.Categories.Where(x => x.id == idDeLaCategorie).FirstOrDefault();

                if (categorieChoisi.Where(s => s.id == featuredCategorie.id).FirstOrDefault() == null)
                {
                    categorieChoisi.Add(featuredCategorie);
                    categorieLightsChoisi.Add(Utilitaire.JsonConstruction.buildCategorieLight(featuredCategorie));
                    i++;
                }
            } while (i < 2);
            return(categorieLightsChoisi);
        }
コード例 #24
0
        public static Categorie DeleteCategorie(int id)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            Categorie categorie        = db.Categories.Find(id);

            if (categorie != null)
            {
                db.Categories.Remove(categorie);
                var albumCategorie = db.Album.Where(s => s.fkCategorieId == id);

                foreach (var x in albumCategorie)
                {
                    Utilitaire.AlbumUtilitaire.deleteAlbum(x.id);
                }
                ;


                db.SaveChanges();
            }


            return(categorie);
        }
コード例 #25
0
        public static Utilisateur postUtilisateur()
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            var         data           = HttpContext.Current.Request.Form[0];
            Inscription inscription    = JsonConvert.DeserializeObject <Inscription>(data);
            var         user           = db.Utilisateurs.Where(s => s.Email == inscription.Email).FirstOrDefault();

            if (user != null)
            {
                return(null);
            }

            user = new Utilisateur
            {
                Email       = inscription.Email,
                Password    = inscription.Password,
                photoProfil = inscription.PhotoProfil
            };

            db.Utilisateurs.Add(user);
            db.SaveChanges();
            return(user);
        }
コード例 #26
0
        public static void uploadAudio(List <Musique> musiques)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            int compteur    = 0;//permet de savoir ou on est rendu dans musiques
            var httpRequest = HttpContext.Current.Request;

            if (httpRequest.Files.Count > 0)
            {
                var docfiles = new List <string>();
                foreach (string file in httpRequest.Files)
                {
                    var postedFile = httpRequest.Files[file];
                    var url        = "Fichier/Musique/";
                    //permet de donner un nom unique et random au fichier
                    Guid   g          = Guid.NewGuid();
                    string GuidString = Convert.ToBase64String(g.ToByteArray());
                    GuidString = GuidString.Replace("=", "");
                    GuidString = GuidString.Replace("+", "");
                    GuidString = GuidString.Replace(@"\", "");
                    GuidString = GuidString.Replace(@"/", "");



                    var filePath = HttpContext.Current.Server.MapPath("~/" + url + GuidString + ".mp3");
                    postedFile.SaveAs(filePath);
                    docfiles.Add(filePath);

                    ////on associe le son a la musique creer
                    var musiqueId = musiques[compteur].id;
                    var musique   = db.Musiques.Where(s => s.id == musiqueId).FirstOrDefault();
                    musique.musicPath = url + GuidString + ".mp3";

                    db.SaveChanges();
                    compteur = compteur + 1;
                }
            }
        }