Esempio n. 1
0
        public async Task <IActionResult> AddPodcast(int id, PodcastEditList model)
        {
            if (ModelState.IsValid)
            {
                string uniqueFileName = null;
                if (model.Audio != null)
                {
                    string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "music/1");
                    uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Audio.FileName;
                    string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                    model.Audio.CopyTo(new FileStream(filePath, FileMode.Create));
                }
                string  path    = "/music/1/" + uniqueFileName;
                Podcast podcast = new Podcast
                {
                    AuthorID      = id,
                    Name          = model.Name,
                    Description   = model.Description,
                    Audio         = path,
                    RecordingDate = model.RecordingDate
                };

                db.Add(podcast);
                await db.SaveChangesAsync();

                var authorName = db.Authors.Where(p => p.Id == podcast.AuthorID).ToList()[0].Name;
                return(RedirectToAction("PodcastsShow", new { name = authorName }));
            }
            return(View(model));
        }
Esempio n. 2
0
        public async Task <IActionResult> PodcastEdit(int id, PodcastEditList model)
        {
            if (ModelState.IsValid)
            {
                string uniqueFileName = null;
                string path           = null;
                if (model.Audio != null)
                {
                    string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "music/1");
                    uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Audio.FileName;
                    path           = "/music/1/" + uniqueFileName;
                    string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                    model.Audio.CopyTo(new FileStream(filePath, FileMode.Create));
                }
                else
                {
                    path = GetAudioPath(id);
                }

                Podcast podcast = new Podcast
                {
                    Id            = id,
                    AuthorID      = model.AuthorID,
                    Name          = model.Name,
                    Description   = model.Description,
                    Audio         = path,
                    RecordingDate = model.RecordingDate
                };

                try
                {
                    db.Update(podcast);
                    await db.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PodcastExists(podcast.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                var authorName = db.Authors.Where(p => p.Id == podcast.AuthorID).ToList()[0].Name;
                return(RedirectToAction("PodcastsShow", new { name = authorName }));
            }
            return(View(model));
        }
Esempio n. 3
0
        public async Task <IActionResult> PodcastEdit(int id, string authorId)
        {
            ViewData["Id"]         = id;
            ViewData["AuthorName"] = authorId;
            var podcast = await db.Podcasts.FindAsync(id);

            if (podcast == null)
            {
                return(NotFound());
            }

            PodcastEditList model = new PodcastEditList
            {
                RecordingDate = podcast.RecordingDate,
                Name          = podcast.Name,
                AuthorID      = podcast.AuthorID,
                Description   = podcast.Description
            };

            return(View(model));
        }