2023-03-15 18:07:52 +00:00
|
|
|
/*
|
|
|
|
* Lesson 2 Task 4: get two collections with cars and their owners and ask car number, then return its owner's name and address
|
|
|
|
* Author: Stanislav Mykhailenko
|
|
|
|
* License: Unlicense
|
|
|
|
*/
|
|
|
|
|
|
|
|
List<Owner> owners = new List<Owner>()
|
|
|
|
{
|
|
|
|
new Owner(1, "Tom", "Street 1"),
|
|
|
|
new Owner(2, "Bob", "Street 2"),
|
|
|
|
new Owner(3, "Sam", "Street 3"),
|
|
|
|
};
|
|
|
|
|
|
|
|
List<Car> cars = new List<Car>()
|
|
|
|
{
|
|
|
|
new Car("123ABC", 1),
|
|
|
|
new Car("456DEF", 2),
|
|
|
|
new Car("789GHI", 3),
|
|
|
|
};
|
|
|
|
|
|
|
|
string? number;
|
|
|
|
|
2023-03-19 12:23:47 +00:00
|
|
|
while (true)
|
2023-03-15 18:07:52 +00:00
|
|
|
{
|
2023-03-19 12:23:47 +00:00
|
|
|
Console.Write("Enter number: ");
|
|
|
|
number = Console.ReadLine();
|
|
|
|
if (number != null)
|
|
|
|
break;
|
|
|
|
}
|
2023-03-15 18:07:52 +00:00
|
|
|
|
2023-03-19 11:15:54 +00:00
|
|
|
var selected = owners.FirstOrDefault(owner => cars.Any(car => car.Number == number && car.OwnerId == owner.Id));
|
2023-03-15 18:07:52 +00:00
|
|
|
|
|
|
|
Console.WriteLine(selected);
|
|
|
|
|
|
|
|
class Owner
|
|
|
|
{
|
2023-03-19 12:23:47 +00:00
|
|
|
public int Id { get;}
|
|
|
|
public string Name { get;}
|
|
|
|
public string Address { get;}
|
2023-03-15 18:07:52 +00:00
|
|
|
|
2023-03-19 12:23:47 +00:00
|
|
|
public override string ToString()
|
|
|
|
{
|
|
|
|
return "Name: " + Name + ", Address: " + Address;
|
|
|
|
}
|
2023-03-15 18:07:52 +00:00
|
|
|
|
2023-03-19 12:23:47 +00:00
|
|
|
public Owner(int id, string name, string address)
|
|
|
|
{
|
|
|
|
Id = id;
|
|
|
|
Name = name;
|
|
|
|
Address = address;
|
|
|
|
}
|
2023-03-15 18:07:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
class Car
|
|
|
|
{
|
2023-03-19 12:23:47 +00:00
|
|
|
public string Number { get;}
|
|
|
|
public int OwnerId { get;}
|
2023-03-15 18:07:52 +00:00
|
|
|
|
2023-03-19 12:23:47 +00:00
|
|
|
public Car(string number, int ownerId)
|
|
|
|
{
|
|
|
|
Number = number;
|
|
|
|
OwnerId = ownerId;
|
|
|
|
}
|
2023-03-15 18:07:52 +00:00
|
|
|
}
|