public bool Create(string username, string title, string author, string youTubeId, string description) { using (MeTubeDbContext db = new MeTubeDbContext()) { Tube tube = new Tube { Title = title, Author = author, YouTubeVideo = youTubeId, Description = description }; User user = db.Users.FirstOrDefault(u => u.Username == username); db.Tubes.Add(tube); if (user != null) { user.Tubes.Add(tube); db.SaveChanges(); return(true); } return(false); } }
public IActionResult Register(RegisterModel model) { if (this.User.IsAuthenticated) { return(this.RedirectToAction(LoggedInHomePage)); } if (!this.IsValidModel(model)) { this.ShowErrorInfo("Your form is incorrect!"); return(this.View()); } var user = new User() { Username = model.Username, Email = model.Email, Password = model.Password, }; using (var db = new MeTubeDbContext()) { db.Users.Add(user); db.SaveChanges(); } this.SignIn(user.Id, user.Username); return(this.RedirectToAction(LoggedInHomePage)); }
public static void Main() { var server = new WebServer(8000, new ControllerRouter(), new ResourceRouter()); var db = new MeTubeDbContext(); MvcEngine.Run(server, db); }
public IActionResult Login(LoginModel model) { if (this.User.IsAuthenticated) { return(this.RedirectToAction(LoggedInHomePage)); } if (!this.IsValidModel(model)) { this.ShowErrorInfo("Your form is incorrect!"); return(this.View()); } User user; using (var db = new MeTubeDbContext()) { user = db.Users .FirstOrDefault(u => u.Username == model.Username); } if (user.Password != model.Password) { this.ShowErrorInfo("Your login details are incorrect!"); return(this.View()); } this.SignIn(user.Id, user.Username); return(this.RedirectToAction(LoggedInHomePage)); }
public static void Main(string[] args) { var server = new WebServer(1337, new ControllerRouter(), new ResourceRouter()); var dbContext = new MeTubeDbContext(); MvcEngine.Run(server, dbContext); }
public static void Main(string[] args) { WebServer server = new WebServer(8000, new ControllerRouter(), new ResourceRouter()); MeTubeDbContext context = new MeTubeDbContext(); MvcEngine.Run(server, context); }
public Tube TubeExist(int id) { using (MeTubeDbContext db = new MeTubeDbContext()) { Tube tube = db.Tubes.Find(id); return(tube); } }
public void IncrementTubeViews(int id) { using (MeTubeDbContext db = new MeTubeDbContext()) { Tube tube = db.Tubes.Find(id); tube.Views++; db.SaveChanges(); } }
public static void Main() { using (var db = new MeTubeDbContext()) { db.Database.Migrate(); } var server = new HttpServer(1337, new ControllerRouter(), new ResourceRouter()); MvcEngine.Run(server); }
public bool UserExist(string username, string password) { using (MeTubeDbContext db = new MeTubeDbContext()) { if (db.Users.Any(u => u.Username == username && u.Password == PasswordUtilities.GetPasswordHash(password))) { return(true); } return(false); } }
public List <AllTubeViewModel> All() { using (MeTubeDbContext db = new MeTubeDbContext()) { return(db.Tubes .Select(t => new AllTubeViewModel { Title = t.Title, Author = t.Author, YouTubeId = t.YouTubeVideo }) .ToList()); } }
public IActionResult Profile() { if (!this.User.IsAuthenticated) { return(this.RedirectToAction(LoggedOutHomePage)); } User user; IList <ProfileTubesViewModel> tubes; using (var db = new MeTubeDbContext()) { user = db.Users .FirstOrDefault(u => u.Username == this.User.Name); tubes = db.Tubes .Where(t => t.UploaderId == user.Id) .Select(t => new ProfileTubesViewModel { Id = t.Id, Title = t.Title, Author = t.Author, }) .ToList(); } var tubesResult = new StringBuilder(); for (int i = 0; i < tubes.Count; i++) { var tube = tubes[i]; tubesResult.AppendLine( $@"<tr> <td>{i+1}</td> <td>{tube.Title}</td> <td>{tube.Author}</td> <td><a href=""/tubes/details?id={tube.Id}"">Details</a></td> </tr>" ); } this.ViewData["username"] = user.Username; this.ViewData["email"] = user.Email; this.ViewData["tubes"] = tubesResult.ToString(); return(this.View()); }
static void Main(string[] args) { int port = 8000; var context = new MeTubeDbContext(); context.Database.Migrate(); Console.WriteLine("Database Ready!"); var server = new WebServer(port, new ControllerRouter(), new ResourceRouter()); MvcEngine.Run(server, context); }
public List <ProfileTubeModel> ProfileTubes(int userId) { using (MeTubeDbContext db = new MeTubeDbContext()) { return(db.Tubes .Where(t => t.UserId == userId) .Select(t => new ProfileTubeModel { Id = t.Id, Title = t.Title, Author = t.Author, YouTubeId = t.YouTubeVideo }) .ToList()); } }
public IActionResult Home() { if (!this.User.IsAuthenticated) { return(this.RedirectToAction(LoggedOutHomePage)); } IList <IndexTubesViewModel> tubes; using (var db = new MeTubeDbContext()) { tubes = db.Tubes .Select(t => new IndexTubesViewModel { Title = t.Title, Author = t.Author, YoutubeId = t.YoutubeId }) .ToList(); } var tubesResult = new StringBuilder(); foreach (var tube in tubes) { tubesResult.Append( $@"<div class=""col-md-4""> <img class=""img-fluid img-thumbnail"" src=""https://img.youtube.com/vi/{tube.YoutubeId}/hqdefault.jpg"" alt=""{tube.Title}"" /> <p class=""text-center""> {tube.Title}<br /> {tube.Author} </p> </div>" ); } this.ViewData["username"] = this.User.Name; this.ViewData["tubes"] = tubesResult.ToString(); return(this.View()); }
public bool Create(string username, string password, string email) { using (MeTubeDbContext db = new MeTubeDbContext()) { if (db.Users.Any(u => u.Username == username && u.Email == email)) { return(false); } User user = new User { Username = username, Email = email, Password = PasswordUtilities.GetPasswordHash(password) }; db.Users.Add(user); db.SaveChanges(); return(true); } }
public IActionResult Upload(TubeUploadModel model) { if (!this.User.IsAuthenticated) { return(this.RedirectToAction(LoggedOutHomePage)); } if (!this.IsValidModel(model)) { this.ShowErrorInfo("Your form is incorrect!"); return(this.View()); } var youtubeId = GetYoutubeId(model.YoutubeLink); if (string.IsNullOrEmpty(youtubeId)) { this.ShowErrorInfo("Invalid Youtube Link!"); return(this.View()); } var tube = new Tube() { Title = model.Title, Author = model.Author, YoutubeId = youtubeId, Description = model.Description, UploaderId = this.User.Id }; using (var db = new MeTubeDbContext()) { db.Tubes.Add(tube); db.SaveChanges(); } return(this.RedirectToAction(LoggedInHomePage)); }
public IActionResult Details(int id) { if (!this.User.IsAuthenticated) { return(this.RedirectToAction(LoggedOutHomePage)); } TubeDetailsViewModel tubeDetails; using (var db = new MeTubeDbContext()) { var tube = db.Tubes.Find(id); if (tube == null) { return(this.RedirectToAction(LoggedInHomePage)); } tube.Views++; db.SaveChanges(); tubeDetails = new TubeDetailsViewModel { Title = tube.Title, Author = tube.Author, Description = tube.Description, YoutubeId = tube.YoutubeId, Views = tube.Views }; } this.ViewData["title"] = tubeDetails.Title; this.ViewData["author"] = tubeDetails.Author; this.ViewData["description"] = tubeDetails.Description; this.ViewData["youtubeId"] = tubeDetails.YoutubeId; this.ViewData["views"] = $"{tubeDetails.Views} View{(tubeDetails.Views == 1 ? "" : "s")}"; return(this.View()); }
public BaseController() { this.Context = new MeTubeDbContext(); }
protected BaseController() { DbContext = new MeTubeDbContext(); }
protected BaseController() { this.Db = new MeTubeDbContext(); }
public TubesService() { this.db = new MeTubeDbContext(); }
public DataService() { this.db = new MeTubeDbContext(); }