From 92bda00b054276e09f0f80b01af91bc3fedbd5b6 Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 20 May 2017 19:23:42 -0400 Subject: Contests index page --- Project-Unite/Models/ContestModels.cs | 70 ++++++++++++++++++++++++++++++++++ Project-Unite/Models/IdentityModels.cs | 2 + 2 files changed, 72 insertions(+) create mode 100644 Project-Unite/Models/ContestModels.cs (limited to 'Project-Unite/Models') diff --git a/Project-Unite/Models/ContestModels.cs b/Project-Unite/Models/ContestModels.cs new file mode 100644 index 0000000..80533c1 --- /dev/null +++ b/Project-Unite/Models/ContestModels.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace Project_Unite.Models +{ + public class Contest + { + public string Id { get; set; } + public string Name { get; set; } + public string Description { get; set; } + public DateTime StartedAt { get; set; } + public DateTime EndsAt { get; set; } + public string VideoId { get; set; } + public long CodepointReward1st { get; set; } + public long CodepointReward2nd { get; set; } + public long CodepointReward3rd { get; set; } + + + public bool IsEnded + { + get + { + return DateTime.Now >= EndsAt; + } + } + + public ContestEntry[] Entries + { + get + { + var db = new ApplicationDbContext(); + return db.ContestEntries.Where(x => x.ContestId == this.Id).ToArray(); + } + } + + } + + public class ContestEntry + { + public string Id { get; set; } + public string AuthorId { get; set; } + public string ContestId { get; set; } + public string Name { get; set; } + public string Description { get; set; } + public string VideoId { get; set; } + public string DownloadURL { get; set; } + public DateTime PostedAt { get; set; } + public bool Disqualified { get; set; } + + public Like[] Downvotes + { + get + { + var db = new ApplicationDbContext(); + return db.Likes.Where(x => x.Topic == this.Id && x.IsDislike).ToArray(); + } + } + + public Like[] Upvotes + { + get + { + var db = new ApplicationDbContext(); + return db.Likes.Where(x => x.Topic == this.Id && !x.IsDislike).ToArray(); + } + } + } +} \ No newline at end of file diff --git a/Project-Unite/Models/IdentityModels.cs b/Project-Unite/Models/IdentityModels.cs index 68c21fe..8959a8e 100644 --- a/Project-Unite/Models/IdentityModels.cs +++ b/Project-Unite/Models/IdentityModels.cs @@ -244,6 +244,8 @@ namespace Project_Unite.Models return new ApplicationDbContext(); } + public DbSet Contests { get; set; } + public DbSet ContestEntries { get; set; } public DbSet Bugs { get; set; } public DbSet BugTags { get; set; } public DbSet BlogPosts { get; set; } -- cgit v1.2.3