System.InvalidCastException: «Невозможно привести объект типа «System.Int32» к типу «System.String».»C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 System.InvalidCastException: «Невозможно привести объект типа «System.Int32» к типу «System.String».»

Сообщение Anonymous »

Код: Выделить всё

[HttpPost]
[Route("LoginTest")]
public IActionResult Authenticate([FromBody] LoginDTO login)
{
// Fetch user
var user = db.Users.FirstOrDefault(u => u.Username == login.Username && u.Password == login.Password);

if (user == null)
{
return Unauthorized("Invalid username or password.");
}

if (user.UserType == "Client")
{
// code throws error on this line
var client = db.Customers.FirstOrDefault(c => c.UserId == user.UserId);

if (client == null)
{
// Handle case where client is null
return NotFound("Client data not found.");
}

UserCDTO cDTO = new UserCDTO
{
Username = user.Username,
Address = user.Address,
CustomerName = client.CustomerName,
Age = client.Age,
Gender = client.Gender,
ContactInfo = client.ContactInfo,
};

return Ok(cDTO);
}
}

// Entities and DTO
public class UserCDTO
{
//User Inputs
public string? Username { get; set; }
public string? Password { get; set; }
public string? Address { get; set; }
//Customer Inputs
public string? CustomerName { get; set; }
public string? Age { get; set; }
public string? Gender { get; set; }
public string? ContactInfo { get; set; }
}
public partial class Customer
{

public int CustomerId { get; set; }
public int? UserId { get; set; }
public string? CustomerName { get; set; }
public string Age { get; set; } = null!;
public string Gender { get; set; } = null!;
public string? ContactInfo { get; set; }
public virtual ICollection Orders { get; set; } =
new List();
public virtual User? User { get; set; }
}
Этот код управляет аутентификацией пользователя в веб-приложении. Он проверяет, соответствуют ли предоставленные имя пользователя и пароль пользователю в базе данных. Если пользователь является клиентом, он получает его данные и (на этом он останавливается).
В противном случае он возвращает неавторизованное или не найденное сообщение.

Подробнее здесь: https://stackoverflow.com/questions/784 ... nt32-to-ty
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»