39 lines
1.6 KiB
C#
39 lines
1.6 KiB
C#
using LinqToDB;
|
|
using MediaManager.database;
|
|
using MediaManager.database.Tables;
|
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
|
|
|
namespace MediaManager.Pages;
|
|
|
|
public class AddMovie : PageModel {
|
|
public User AuthorizedUser;
|
|
|
|
public void OnGet() {
|
|
using var db = new Database.DbConn();
|
|
AuthorizedUser = db.Users.FirstOrDefault(p => p.Username == AuthUtil.GetRemoteUser(HttpContext, db))!;
|
|
}
|
|
|
|
public void OnPost() {
|
|
using var db = new Database.DbConn();
|
|
AuthorizedUser = db.Users.FirstOrDefault(p => p.Username == AuthUtil.GetRemoteUser(HttpContext, db))!;
|
|
|
|
if (!Request.Form.ContainsKey("title") || !Request.Form.ContainsKey("year") || !Request.Form.ContainsKey("watchcount"))
|
|
return;
|
|
|
|
var movie = new Movie { UserId = AuthorizedUser.UserId, Title = Request.Form["title"], Year = int.Parse(Request.Form["year"]), WatchCount = int.Parse(Request.Form["watchcount"]) };
|
|
|
|
if (Request.Form.ContainsKey("rating") && !string.IsNullOrEmpty(Request.Form["rating"]))
|
|
movie.Rating = int.Parse(Request.Form["rating"]);
|
|
if (Request.Form.ContainsKey("rewatchability") && !string.IsNullOrEmpty(Request.Form["rewatchability"]))
|
|
movie.Rewatchability = int.Parse(Request.Form["rewatchability"]);
|
|
if (Request.Form.ContainsKey("lastwatch") && !string.IsNullOrEmpty(Request.Form["lastwatch"]))
|
|
movie.LastSeen = DateTime.Parse(Request.Form["lastwatch"]);
|
|
if (Request.Form.ContainsKey("comment") && !string.IsNullOrEmpty(Request.Form["comment"]))
|
|
movie.Comment = Request.Form["comment"];
|
|
|
|
db.InsertWithIdentity(movie);
|
|
|
|
Response.Redirect(Request.Form["another"] == "true" ? "/AddMovie" : "/Movies");
|
|
}
|
|
}
|