created api for user
This commit is contained in:
parent
4bdc422ce8
commit
5b98b00367
@ -8,7 +8,6 @@ namespace presence.data.RemoteData.RemoteDataBase.DAO
|
||||
public class UserDao
|
||||
{
|
||||
public required string FIO {get; set; }
|
||||
public Guid UserGuid { get; set; }
|
||||
public int UserId { get; set; }
|
||||
public required int GroupId {get; set;}
|
||||
public GroupDao Group {get; set;}
|
||||
|
Binary file not shown.
Binary file not shown.
@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("data")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4bdc422ce8c208f21ae34f3d9f1cc61a98a48a3c")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("data")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("data")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
6741393a5fe1cc20988265f6fd0e8bdd33ee4b9cc7b9e110a41e548fdd825a94
|
||||
f31721b3835e5b512a8546f19c261266dec727598bee64acedc7558f74f5abd0
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -7,6 +7,8 @@ namespace domain.Models.ResponseModels
|
||||
{
|
||||
public class UserResponse
|
||||
{
|
||||
|
||||
public required string FIO {get; set; }
|
||||
public int Id {get; set;}
|
||||
public required GroupResponse Group {get; set;}
|
||||
}
|
||||
}
|
@ -8,7 +8,7 @@ namespace presence.domain.Models
|
||||
{
|
||||
public class User{
|
||||
public required string FIO {get; set; }
|
||||
public Guid Guid {get; set;}
|
||||
public int Id {get; set;}
|
||||
public required Group GroupId {get; set;}
|
||||
}
|
||||
}
|
@ -32,7 +32,7 @@ namespace presence.domain.UseCase
|
||||
.Where(x => users.Any(user => user.UserId == x.UserId))
|
||||
.Select(presence => new Presence{
|
||||
User = new User{
|
||||
Guid = presence.UserGuid,
|
||||
Id = presence.UserId,
|
||||
GroupId = new Group{Id = groupId, Name = _groupRepository.GetGroupById(groupId).Name},
|
||||
FIO = users.First(user => user.UserId == presence.UserId).FIO,
|
||||
},
|
||||
@ -50,7 +50,7 @@ namespace presence.domain.UseCase
|
||||
.Where(x => users.Any(user => user.UserId == x.UserId && x.Date == date))
|
||||
.Select(presence => new Presence{
|
||||
User = new User{
|
||||
Guid = presence.UserGuid,
|
||||
Id = presence.UserId,
|
||||
GroupId = new Group{Id = groupId, Name = _groupRepository.GetGroupById(groupId).Name},
|
||||
FIO = users.First(user => user.UserId == presence.UserId).FIO,
|
||||
},
|
||||
@ -74,7 +74,7 @@ namespace presence.domain.UseCase
|
||||
foreach (var user in users)
|
||||
{
|
||||
Presence pres = new Presence{ClassNumber = i, Date = date,
|
||||
User = new User{Guid = user.UserGuid,
|
||||
User = new User{Id = user.UserId,
|
||||
FIO = user.FIO,
|
||||
GroupId = new Group{Id = groupId,
|
||||
Name = _groupRepository.GetGroupById(groupId).Name}}};
|
||||
|
@ -1,3 +1,4 @@
|
||||
using domain.Models.ResponseModels;
|
||||
using presence.data.LocalData.Entity;
|
||||
using presence.data.RemoteData.RemoteDataBase.DAO;
|
||||
using presence.data.Repository;
|
||||
@ -25,14 +26,14 @@ namespace presence.domain.UseCase
|
||||
|
||||
private List<Group> GetAllGroups() => _repositoryGroupImpl.GetAllGroup()
|
||||
.Select(it => new Group { Id = it.Id, Name = it.Name}).ToList();
|
||||
public List<User> GetAllUsers() => _repositoryUserImpl.GetAllUser()
|
||||
public List<UserResponse> GetAllUsers() => _repositoryUserImpl.GetAllUser()
|
||||
.Join(_repositoryGroupImpl.GetAllGroup(),
|
||||
user => user.GroupId,
|
||||
group => group.Id,
|
||||
(user, group) =>
|
||||
new User { FIO = user.FIO,
|
||||
Guid = user.UserGuid,
|
||||
GroupId = new Group{Id = group.Id, Name = group.Name}}
|
||||
new UserResponse { FIO = user.FIO,
|
||||
Id = user.UserId,
|
||||
Group = new GroupResponse{Id = group.Id, Name = group.Name}}
|
||||
).ToList();
|
||||
|
||||
|
||||
@ -48,7 +49,7 @@ namespace presence.domain.UseCase
|
||||
return new User
|
||||
{
|
||||
FIO = _repositoryUserImpl.GetUserById(userId).FIO,
|
||||
Guid = _repositoryUserImpl.GetUserById(userId).UserGuid,
|
||||
Id = _repositoryUserImpl.GetUserById(userId).UserId,
|
||||
GroupId = new Group { Id = _repositoryUserImpl.GetUserById(userId).GroupId, Name = _repositoryGroupImpl.GetGroupById(userId).Name }
|
||||
};
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -13,10 +13,10 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("domain")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4bdc422ce8c208f21ae34f3d9f1cc61a98a48a3c")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("domain")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("domain")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
// Создано классом WriteCodeFragment MSBuild.
|
||||
|
||||
|
@ -1 +1 @@
|
||||
50afef9105125301dd1c05ea9fb1e5f605a3f79c6aca753bbf0156749546e4dd
|
||||
a093ba0bf5d64479b23b12bae8cbb0ec7eeab3342133eaa4fe9b892857454774
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
1b5f775f605de28ca409be1a9c13a6df3b2f5c3132bcb56f78dabcfec73e7ace
|
||||
a9b24df1a9b756a44c00b9ae5110f480b03594c888c3659dbb3f3845f84a2ce4
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -3,7 +3,6 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using presence.data.RemoteData.RemoteDataBase.DAO;
|
||||
using presence.domain.Models;
|
||||
using presence.domain.UseCase;
|
||||
|
||||
|
27
presence_api/Controllers/UserController/UserController.cs
Normal file
27
presence_api/Controllers/UserController/UserController.cs
Normal file
@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using presence.domain.Models;
|
||||
using presence.domain.UseCase;
|
||||
|
||||
namespace presence_api.Controllers.UserController;
|
||||
|
||||
[ApiController]
|
||||
[Route("api/[controller]")]
|
||||
public class UserController: ControllerBase
|
||||
{
|
||||
private readonly UserUseCase _userUseCase;
|
||||
|
||||
public UserController(UserUseCase userUseCase)
|
||||
{
|
||||
_userUseCase = userUseCase;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public ActionResult<IEnumerable<User>> GetAllUser()
|
||||
{
|
||||
return Ok(_userUseCase.GetAllUsers());
|
||||
}
|
||||
}
|
@ -9,6 +9,7 @@ builder.Services.AddEndpointsApiExplorer();
|
||||
builder.Services.AddSwaggerGen();
|
||||
|
||||
builder.Services.ConfigureGroup();
|
||||
builder.Services.ConfigureUser();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
|
@ -15,5 +15,12 @@ namespace presence_api.ServiceExtensions
|
||||
.AddScoped<IGroupRepository, SQLGroupRepositoryImpl>()
|
||||
.AddScoped<GroupUseCase>();
|
||||
}
|
||||
|
||||
public static void ConfigureUser(this IServiceCollection services)
|
||||
{
|
||||
services
|
||||
.AddScoped<IUserRepository, SQLUserRepositoryImpl>()
|
||||
.AddScoped<UserUseCase>();
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("presence_api")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4bdc422ce8c208f21ae34f3d9f1cc61a98a48a3c")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("presence_api")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("presence_api")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
1f62ae9533a734c74ec1f7ca641bc5e1622b77bd7c65110c6691cbb61403c74b
|
||||
d346aa73c391eb0ef182af766d6332e886a863e9a1d1a8b4618c0041ef8db1f6
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
4152a8bc96237f2bf065859d8e800c5b4c5df2743d3a00d9b60e07b905443a33
|
||||
6c572403d26fc1fb9b48c0e23b3616f42e8d5076d149940e6b0f5e2bd64da14b
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -26,7 +26,7 @@ namespace presence.ui
|
||||
StringBuilder userOutput = new StringBuilder();
|
||||
foreach (var user in _userUseCase.GetAllUsers())
|
||||
{
|
||||
userOutput.AppendLine($"{user.Guid}\t{user.FIO}\t{user.GroupId}");
|
||||
userOutput.AppendLine($"{user.Id}\t{user.FIO}\t{user.Group}");
|
||||
}
|
||||
Console.WriteLine(userOutput);
|
||||
}
|
||||
@ -34,7 +34,7 @@ namespace presence.ui
|
||||
public void GetUserById(int userId) {
|
||||
StringBuilder userOutput = new StringBuilder();
|
||||
var user = _userUseCase.GetUserById(userId);
|
||||
userOutput.AppendLine($"{user.Guid}\t{user.FIO}\t{user.GroupId}");
|
||||
userOutput.AppendLine($"{user.Id}\t{user.FIO}\t{user.GroupId}");
|
||||
Console.WriteLine(userOutput);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user