Added 'User already exists' check in .Register()

This commit is contained in:
KharchenkoVladimir 2021-10-25 12:04:34 +05:00
parent 6b2c4a359b
commit 2ce110ea8f
2 changed files with 9 additions and 3 deletions

View File

@ -84,9 +84,14 @@ namespace AsbCloudInfrastructure.Services
if (userDto.Position?.Length > 255) if (userDto.Position?.Length > 255)
return -5; return -5;
var user = db.Users.FirstOrDefault(u => u.Login == userDto.Login);
if(user is not null)
return -6;
var salt = GenerateSalt(); var salt = GenerateSalt();
var user = new User var newUser = new User
{ {
IdCompany = userDto.IdCompany, IdCompany = userDto.IdCompany,
IdRole = 2, // simple user IdRole = 2, // simple user
@ -102,14 +107,14 @@ namespace AsbCloudInfrastructure.Services
PasswordHash = salt + ComputeHash(salt, userDto.Password), PasswordHash = salt + ComputeHash(salt, userDto.Password),
}; };
db.Users.Add(user); db.Users.Add(newUser);
try try
{ {
db.SaveChanges(); db.SaveChanges();
} }
catch //(Exception ex) catch //(Exception ex)
{ {
return -6; return -7;
} }
return 0; return 0;

View File

@ -70,6 +70,7 @@ namespace AsbCloudWebApi.Controllers
-3 => BadRequest("Email не должен быть длиннее 255 знаков."), -3 => BadRequest("Email не должен быть длиннее 255 знаков."),
-4 => BadRequest("Телефон не должен быть длиннее 50 знаков."), -4 => BadRequest("Телефон не должен быть длиннее 50 знаков."),
-5 => BadRequest("Название должности не должно быть длиннее 255 символов."), -5 => BadRequest("Название должности не должно быть длиннее 255 символов."),
-6 => BadRequest("Пользователь с таким логином уже зарегистрирован."),
_ => BadRequest(), _ => BadRequest(),
}; };
} }