Esempio n. 1
0
        public async Task <ActionResult> Upload(MusicUploadViewModel model)
        {
            string storageUrl = "musicproject-9f3c5.appspot.com";
            string message    = "Save failed";

            string date = DateTime.Now.ToString("yyyyMMddHHmmssffff");

            try
            {
                var stream1 = model.ImageBase.InputStream;
                var task1   = new FirebaseStorage(storageUrl)
                              .Child("MusicProject")
                              .Child("Images")
                              .Child(date + model.ImageBase.FileName)
                              .PutAsync(stream1);
                task1.Progress.ProgressChanged += (s, e) => ProgressHub.SendMessage("Uploading Image ... (" + Math.Round((e.Position * 1.0 / e.Length * 100), 0) + "%)");

                var stream2 = model.MusicBase.InputStream;
                var task2   = new FirebaseStorage(storageUrl)
                              .Child("MusicProject")
                              .Child("Musics")
                              .Child(date + model.MusicBase.FileName)
                              .PutAsync(stream2);
                task2.Progress.ProgressChanged += (s, e) => ProgressHub.SendMessage("Uploading Music ... (" + Math.Round((e.Position * 1.0 / e.Length * 100), 0) + "%)");

                MusicEntities en = new MusicEntities();

                var  name      = System.Web.HttpContext.Current.User.Identity.Name;
                var  login     = en.Logins.FirstOrDefault(a => a.Username.Equals(name));
                User userLogin = null;
                if (login != null)
                {
                    userLogin = login.User;
                }

                string imageUrl = await task1;
                string musicUrl = await task2;

                var music = new MusicWebApp.Models.Music
                {
                    Name       = model.Name,
                    AlbumId    = model.AlbumId,
                    Image      = imageUrl,
                    Link       = musicUrl,
                    SingerId   = model.SingerId,
                    UserId     = userLogin.Id,
                    GenresId   = model.GenresId,
                    Pending    = false,
                    UploadDate = DateTime.Now,
                    C_View     = 0,
                };

                en.Musics.Add(music);
                en.SaveChanges();
                message = "Save successful";
            }
            catch (Exception ex)
            {
                return(Json(new { succress = false, message = ex.Message }));
            }

            return(Json(new { success = true, message = message }));
        }
 public MusicRepository()
 {
     Entities = new MusicEntities();
 }
Esempio n. 3
0
        public static void UpdateView(int mode, int id)
        {
            MusicEntities en = new MusicEntities();

            if (mode == (int)EnumProject.MUSIC)
            {
                var music = en.Musics.FirstOrDefault(a => a.Id == id);
                if (music != null)
                {
                    var ses  = "MusicView_Id-" + id;
                    var view = Session[ses] as View;
                    if (view == null || view.hasViewed == false)
                    {
                        if (music.C_View == null)
                        {
                            music.C_View = 0;
                        }
                        music.C_View += 1;
                        en.SaveChanges();
                        Session[ses] = new View {
                            hasViewed = true
                        };
                    }
                }
            }
            else if (mode == (int)EnumProject.ALBUM)
            {
                var album = en.Albums.FirstOrDefault(a => a.Id == id);
                if (album != null)
                {
                    var ses  = "AlbumView_Id-" + id;
                    var view = Session[ses] as View;
                    if (view == null || view.hasViewed == false)
                    {
                        if (album.C_View == null)
                        {
                            album.C_View = 0;
                        }
                        album.C_View += 1;
                        en.SaveChanges();
                        Session[ses] = new View {
                            hasViewed = true
                        };
                    }
                }
            }
            else if (mode == (int)EnumProject.SINGER)
            {
                var singer = en.Singers.FirstOrDefault(a => a.Id == id);
                if (singer != null)
                {
                    var ses  = "SingerView_Id-" + id;
                    var view = Session[ses] as View;
                    if (view == null || view.hasViewed == false)
                    {
                        if (singer.C_View == null)
                        {
                            singer.C_View = 0;
                        }
                        singer.C_View += 1;
                        en.SaveChanges();
                        Session[ses] = new View {
                            hasViewed = true
                        };
                    }
                }
            }
        }