ProjectGrid/Data/DataAccessContext.cs

56 lines
1.2 KiB
C#

using System.Collections.Generic;
using System.Linq;
using Microsoft.EntityFrameworkCore;
using ProjectGrid.Models;
namespace ProjectGrid.Data
{
public class DataAccessContext : DbContext, IUserRepository
{
public DataAccessContext(DbContextOptions<DataAccessContext> options) : base(options) { }
public DbSet<UserData> Users { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<UserData>().ToTable("USER");
}
public IEnumerable<UserModel> GetAll()
{
return Users.Select<UserData, UserModel>(data => data.ToModel());
}
public UserModel Add(UserModel user)
{
// TODO: check if exist
Users.Add(new UserData(user));
SaveChanges();
return user;
}
}
public class UserData
{
public int? Id { get; set; }
public string Name1 { get; set; }
public string Name2 { get; set; }
public string Email { get; set; }
public UserData() { }
public UserData(UserModel model)
{
Name1 = model.firstName;
Name2 = model.lastName;
Email = model.email;
}
public UserModel ToModel()
{
return new UserModel { firstName = Name1, lastName = Name2, email = Email };
}
}
}