MVCPostall/Postall/Controllers/VideosController.cs
2025-03-04 19:06:01 -03:00

75 lines
2.9 KiB
C#

using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Postall.Models;
using System.Security.Claims;
using System.Threading.Tasks;
using System.Collections.Generic;
using Postall.Models;
namespace Postall.Controllers
{
[Authorize]
public class VideosController : Controller
{
// Simulação de dados para exemplo - em produção, estes dados viriam de uma API ou banco de dados
private List<VideoViewModel> GetSampleVideos()
{
return new List<VideoViewModel>
{
new VideoViewModel
{
Id = "video1",
Title = "Como usar o PostAll - Tutorial",
Description = "Aprenda a usar todas as funcionalidades do PostAll para gerenciar suas redes sociais.",
ThumbnailUrl = "https://i.ytimg.com/vi/sample1/maxresdefault.jpg",
PublishedAt = DateTime.Now.AddDays(-2)
},
new VideoViewModel
{
Id = "video2",
Title = "Estratégias de Marketing Digital para 2024",
Description = "Conheça as melhores estratégias para alavancar seu negócio nas redes sociais em 2024.",
ThumbnailUrl = "https://i.ytimg.com/vi/sample2/maxresdefault.jpg",
PublishedAt = DateTime.Now.AddDays(-5)
},
new VideoViewModel
{
Id = "video3",
Title = "Análise de Métricas nas Redes Sociais",
Description = "Aprenda a interpretar as métricas das suas redes sociais e tomar decisões baseadas em dados.",
ThumbnailUrl = "https://i.ytimg.com/vi/sample3/maxresdefault.jpg",
PublishedAt = DateTime.Now.AddDays(-7)
}
};
}
public IActionResult Index()
{
var userVideos = GetSampleVideos();
return View(userVideos);
}
[HttpGet]
public IActionResult GetChannelVideos()
{
// Em um cenário real, você buscaria os vídeos da API do YouTube
var channelVideos = GetSampleVideos().OrderByDescending(v => v.PublishedAt).Take(10).ToList();
return PartialView("_ChannelVideosPartial", channelVideos);
}
[HttpPost]
public IActionResult AddVideos(string[] selectedVideos)
{
if (selectedVideos == null || selectedVideos.Length == 0)
{
return RedirectToAction("Index");
}
// Em um cenário real, você salvaria esses IDs no banco de dados
// Aqui apenas redirecionamos de volta para o Index
TempData["Message"] = $"{selectedVideos.Length} vídeo(s) adicionado(s) com sucesso!";
return RedirectToAction("Index");
}
}
}