Upload ruck

This commit is contained in:
2024-05-16 22:30:18 -06:00
commit 50dd696a1b
24 changed files with 858 additions and 0 deletions

View File

@ -0,0 +1,9 @@
namespace RecordMyRuck.Models
{
public interface IRuckRepository
{
Ruck? Get(DateTime dateTime);
IEnumerable<Ruck> GetAll();
void CreateRuck(Ruck ruck);
}
}

View File

@ -0,0 +1,11 @@
using Microsoft.EntityFrameworkCore;
namespace RecordMyRuck.Models
{
public class RecordMyRuckDbContext : Microsoft.EntityFrameworkCore.DbContext
{
public RecordMyRuckDbContext(DbContextOptions<RecordMyRuckDbContext> options) : base(options) { }
public DbSet<Ruck> Rucks { get; set; }
}
}

View File

@ -0,0 +1,25 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace RecordMyRuck.Models
{
[PrimaryKey(nameof(DateTime))]
public class Ruck
{
[Required]
[Display(Name = "Date/Time")]
[DataType(DataType.DateTime)]
public DateTime DateTime { get; set; }
[Required]
public string Route { get; set; }
[Required]
[Display(Name = "Weigh (lb)")]
public float WeightPounds { get; set; }
[DataType(DataType.MultilineText)]
public string Notes { get; set; } = "";
}
}

View File

@ -0,0 +1,28 @@
namespace RecordMyRuck.Models
{
public class RuckRepository : IRuckRepository
{
RecordMyRuckDbContext _dbContext;
public RuckRepository(RecordMyRuckDbContext dbContext)
{
_dbContext = dbContext;
}
public void CreateRuck(Ruck ruck)
{
_dbContext.Rucks.Add(ruck);
_dbContext.SaveChanges();
}
public Ruck? Get(DateTime dateTime)
{
return _dbContext.Rucks.FirstOrDefault(r => r.DateTime == dateTime);
}
public IEnumerable<Ruck> GetAll()
{
return _dbContext.Rucks;
}
}
}

View File

@ -0,0 +1,22 @@
using System.ComponentModel.DataAnnotations;
namespace RecordMyRuck.Models
{
public class RuckUpload
{
[Required]
[Display(Name = "Date/Time")]
[DataType(DataType.DateTime)]
public DateTime DateTime { get; set; }
[Required]
public IFormFile Route { get; set; }
[Required]
[Display(Name = "Weigh (lb)")]
public float WeightPounds { get; set; }
[DataType(DataType.MultilineText)]
public string Notes { get; set; } = "";
}
}