# DemoNormal\Demo.DI\Demo.DI.csproj
| <Project Sdk="Microsoft.NET.Sdk"> |
| <PropertyGroup> |
| <OutputType>Exe</OutputType> |
| <TargetFramework>net8.0</TargetFramework> |
| <ImplicitUsings>enable</ImplicitUsings> |
| <Nullable>enable</Nullable> |
| </PropertyGroup> |
| <ItemGroup> |
| <ProjectReference Include="..\Demo.Entity\Demo.Entity.csproj" /> |
| <ProjectReference Include="..\Demo.Service\Demo.Service.csproj" /> |
| </ItemGroup> |
| </Project> |
DemoNormal\Demo.DI\Program.cs
| |
| using Demo.Entity; |
| using Demo.Service; |
| |
| |
| var user = new User() { Id = 1, Name = "admin", RoleName = "管理员" }; |
| |
| |
| var userService = new UserService(); |
| |
| userService.AddUser(user); |
| |
| Console.WriteLine("新增成功!"); |
| |
| |
| |
| userService.UpdateUserRoleName(1, "客服"); |
| Console.WriteLine("更新成功!"); |
DemoNormal\Demo.Entity\Demo.Entity.csproj
| |
| <Project Sdk="Microsoft.NET.Sdk"> |
| |
| <PropertyGroup> |
| <TargetFramework>net8.0</TargetFramework> |
| <ImplicitUsings>enable</ImplicitUsings> |
| <Nullable>enable</Nullable> |
| </PropertyGroup> |
| |
| </Project> |
| |
DemoNormal\Demo.Entity\User.cs
| |
| namespace Demo.Entity |
| { |
| |
| |
| |
| public class User |
| { |
| |
| |
| |
| public long Id { get; set; } |
| |
| |
| |
| |
| public string Name { get; set; } |
| |
| |
| |
| |
| public string RoleName { get; set; } |
| } |
| } |
| |
DemoNormal\Demo.Entity\UserChangeLog.cs
| |
| namespace Demo.Entity |
| { |
| |
| |
| |
| public class UserChangeLog |
| { |
| |
| |
| |
| public long Id { get; set; } |
| |
| |
| |
| |
| public long UserId { get; set; } |
| |
| |
| |
| |
| public string OldRoleName { get; set; } |
| |
| |
| |
| |
| public string NewRoleName { get; set; } |
| } |
| } |
| |
DemoNormal\Demo.Repository\Demo.Repository.csproj
| |
| <Project Sdk="Microsoft.NET.Sdk"> |
| |
| <PropertyGroup> |
| <TargetFramework>net8.0</TargetFramework> |
| <ImplicitUsings>enable</ImplicitUsings> |
| <Nullable>enable</Nullable> |
| </PropertyGroup> |
| |
| <ItemGroup> |
| <ProjectReference Include="..\Demo.Entity\Demo.Entity.csproj" /> |
| </ItemGroup> |
| |
| </Project> |
| |
DemoNormal\Demo.Repository\UserChangeLogRepository.cs
| |
| using Demo.Entity; |
| |
| namespace Demo.Repository |
| { |
| |
| |
| |
| public class UserChangeLogRepository |
| { |
| |
| |
| |
| public UserChangeLogRepository() |
| { |
| |
| } |
| |
| |
| |
| |
| |
| |
| public UserChangeLog AddUserChangeLog(UserChangeLog userChangeLog) |
| { |
| return userChangeLog; |
| } |
| } |
| } |
| |
DemoNormal\Demo.Repository\UserRepository.cs
| |
| using Demo.Entity; |
| |
| namespace Demo.Repository |
| { |
| |
| |
| |
| public class UserRepository |
| { |
| |
| |
| |
| public UserRepository() |
| { |
| |
| } |
| |
| |
| |
| |
| |
| |
| public User AddUser(User user) |
| { |
| return user; |
| } |
| |
| |
| |
| |
| |
| |
| |
| public User GetUser(long Id) |
| { |
| return new User() { Id = 1, Name = "admin", RoleName = "管理员" }; |
| } |
| |
| |
| |
| |
| |
| |
| public User UpdateUserRoleName(long userId, string newRoleName) |
| { |
| return new User() { Id = userId, Name = "admin", RoleName = newRoleName }; |
| } |
| |
| } |
| } |
| |
DemoNormal\Demo.Service\Demo.Service.csproj
| |
| <Project Sdk="Microsoft.NET.Sdk"> |
| |
| <PropertyGroup> |
| <TargetFramework>net8.0</TargetFramework> |
| <ImplicitUsings>enable</ImplicitUsings> |
| <Nullable>enable</Nullable> |
| </PropertyGroup> |
| |
| <ItemGroup> |
| <ProjectReference Include="..\Demo.Entity\Demo.Entity.csproj" /> |
| <ProjectReference Include="..\Demo.Repository\Demo.Repository.csproj" /> |
| </ItemGroup> |
| |
| </Project> |
| |
DemoNormal\Demo.Service\UserChangeLogService.cs
| |
| using Demo.Entity; |
| using Demo.Repository; |
| |
| namespace Demo.Service |
| { |
| |
| |
| |
| public class UserChangeLogService |
| { |
| |
| |
| |
| private UserChangeLogRepository _userChangeLogRepository; |
| |
| |
| |
| |
| private UserRepository _userRepository; |
| |
| |
| |
| |
| public UserChangeLogService() |
| { |
| _userRepository = new UserRepository(); |
| _userChangeLogRepository = new UserChangeLogRepository(); |
| } |
| |
| |
| |
| |
| |
| |
| |
| public UserChangeLog AddUserChangeLog(long userId, string newRoleName) |
| { |
| |
| var user = _userRepository.GetUser(userId); |
| |
| |
| var userChangeLog = new UserChangeLog() |
| { |
| UserId = userId, |
| OldRoleName = user.RoleName, |
| NewRoleName = newRoleName |
| }; |
| |
| |
| return _userChangeLogRepository.AddUserChangeLog(userChangeLog); |
| } |
| } |
| } |
| |
DemoNormal\Demo.Service\UserService.cs
| |
| using Demo.Entity; |
| using Demo.Repository; |
| |
| namespace Demo.Service |
| { |
| |
| |
| |
| public class UserService |
| { |
| |
| |
| |
| private UserRepository _userRepository; |
| |
| |
| |
| |
| private UserChangeLogService _userChangeLogService; |
| |
| |
| |
| |
| public UserService() |
| { |
| _userRepository = new UserRepository(); |
| _userChangeLogService = new UserChangeLogService(); |
| } |
| |
| |
| |
| |
| |
| |
| |
| public User AddUser(User user) |
| { |
| |
| if (user == null) |
| { |
| throw new ArgumentNullException("用户对象不可为空!"); |
| } |
| if (string.IsNullOrEmpty(user.Name)) |
| { |
| throw new ArgumentNullException("用户名不可为空!"); |
| } |
| |
| |
| |
| |
| return _userRepository.AddUser(user); |
| } |
| |
| |
| |
| |
| |
| |
| public void UpdateUserRoleName(long userId, string newRoleName) |
| { |
| |
| _userRepository.UpdateUserRoleName(userId, newRoleName); |
| |
| |
| _userChangeLogService.AddUserChangeLog(userId, newRoleName); |
| } |
| } |
| } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2022-09-01 unplugin-auto-import自动导入TS2304警告问题
2022-09-01 # vue组件设计的思路