From 9a7920f0e7a10d14513b2e293730bf4c90e0a320 Mon Sep 17 00:00:00 2001 From: Piotr Kus Date: Fri, 31 Jan 2025 10:08:53 +0100 Subject: [PATCH] * Added EdiUser Entity and DTO * Added LoginService to handle login and user creation * Extended DbContext * Extended Mapper --- SytelineSaAppEfDataModel/Dtos/EdiUserDto.cs | 9 +++++++ SytelineSaAppEfDataModel/Entities/EdiUser.cs | 9 +++++++ SytelineSaAppEfDataModel/MappingProfile.cs | 1 + .../Services/ILoginService.cs | 10 +++++++ .../Services/LoginService.cs | 26 +++++++++++++++++++ .../SytelineSaAppDbContext.cs | 26 ++++++++++++++++++- 6 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 SytelineSaAppEfDataModel/Dtos/EdiUserDto.cs create mode 100644 SytelineSaAppEfDataModel/Entities/EdiUser.cs create mode 100644 SytelineSaAppEfDataModel/Services/ILoginService.cs create mode 100644 SytelineSaAppEfDataModel/Services/LoginService.cs diff --git a/SytelineSaAppEfDataModel/Dtos/EdiUserDto.cs b/SytelineSaAppEfDataModel/Dtos/EdiUserDto.cs new file mode 100644 index 0000000..b270818 --- /dev/null +++ b/SytelineSaAppEfDataModel/Dtos/EdiUserDto.cs @@ -0,0 +1,9 @@ +namespace SytelineSaAppEfDataModel.Dtos; + +public class EdiUserDto +{ + public int ID { get; set; } + public string Login { get; set; } + public string Password { get; set; } + public DateTime CreatedDate { get; set; } +} \ No newline at end of file diff --git a/SytelineSaAppEfDataModel/Entities/EdiUser.cs b/SytelineSaAppEfDataModel/Entities/EdiUser.cs new file mode 100644 index 0000000..5398db9 --- /dev/null +++ b/SytelineSaAppEfDataModel/Entities/EdiUser.cs @@ -0,0 +1,9 @@ +namespace SytelineSaAppEfDataModel.Entities; + +public class EdiUser +{ + public int ID { get; set; } + public string Login { get; set; } + public string Password { get; set; } + public DateTime CreatedDate { get; set; } +} \ No newline at end of file diff --git a/SytelineSaAppEfDataModel/MappingProfile.cs b/SytelineSaAppEfDataModel/MappingProfile.cs index f68242e..872a09d 100644 --- a/SytelineSaAppEfDataModel/MappingProfile.cs +++ b/SytelineSaAppEfDataModel/MappingProfile.cs @@ -23,6 +23,7 @@ namespace SytelineSaAppEfDataModel CreateMap().ReverseMap(); CreateMap().ReverseMap(); CreateMap().ReverseMap(); + CreateMap().ReverseMap(); } } } diff --git a/SytelineSaAppEfDataModel/Services/ILoginService.cs b/SytelineSaAppEfDataModel/Services/ILoginService.cs new file mode 100644 index 0000000..72ab279 --- /dev/null +++ b/SytelineSaAppEfDataModel/Services/ILoginService.cs @@ -0,0 +1,10 @@ +using SytelineSaAppEfDataModel.Dtos; + +namespace SytelineSaAppEfDataModel.Services; + +public interface ILoginService +{ + Task CreateUser(string userName, string password); + Task Login(string username, string password); + +} \ No newline at end of file diff --git a/SytelineSaAppEfDataModel/Services/LoginService.cs b/SytelineSaAppEfDataModel/Services/LoginService.cs new file mode 100644 index 0000000..8d7340c --- /dev/null +++ b/SytelineSaAppEfDataModel/Services/LoginService.cs @@ -0,0 +1,26 @@ +using AutoMapper; +using SytelineSaAppEfDataModel.Entities; + +namespace SytelineSaAppEfDataModel.Services; + +public class LoginService(SytelineSaAppDbContext context, IMapper mapper) : ILoginService +{ + public async EdiUserd CreateUser(string userName, string password) + { + EdiUser user = new EdiUser() + { + Login = userName, + Password = password, + }; + + context.EdiUsers.Add(user); + await context.SaveChangesAsync(); + + return + } + + public bool Login(string userName, string password) + { + + } +} \ No newline at end of file diff --git a/SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs b/SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs index 695de46..a8dd03c 100644 --- a/SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs +++ b/SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs @@ -16,8 +16,8 @@ namespace SytelineSaAppEfDataModel public DbSet CustomerOrders { get; set; } public DbSet CustomerOrderLines { get; set; } public DbSet CustomerOrderLineItems { get; set; } - public DbSet UserNames { get; set; } + public DbSet EdiUsers { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { @@ -668,6 +668,30 @@ namespace SytelineSaAppEfDataModel entity.Property(e => e.Uf_ZPL_EmpNum).HasColumnName("uf_ZPL_emp_num").HasMaxLength(7).IsRequired(false); entity.Property(e => e.Uf_PLT_EmpNum).HasColumnName("uf_PLT_emp_num").HasMaxLength(14).IsRequired(false); }); + + modelBuilder.Entity(entity => + { + entity.ToTable("edi_users"); + + entity.HasKey(e => e.ID); + entity.Property(e => e.ID).ValueGeneratedOnAdd(); + + entity.Property(e => e.Login) + .HasColumnName("Login") + .HasMaxLength(255) + .IsRequired(); + + entity.Property(e => e.Password) + .HasColumnName("Password") + .HasMaxLength(300) + .HasDefaultValueSql("'287C0C4DB105827AC41D11555D199265966ECF1FC527B37B6740FF6491427E54EA80'"); + + entity.Property(e => e.CreatedDate) + .HasColumnName("CreatedDate") + .HasDefaultValueSql("getdate()"); + + entity.HasIndex(e => e.Login).IsUnique(); + }); } } }