Справочник с соблюдением принципов ООП - C#
Формулировка задачи:
Доброго времени суток!
Имеются классы:
В классе UsersContainer два метода для обновления
namespace Spravochnik
{
public class User
{
[DisplayName("Код")]
public int Id { get; set; }
[DisplayName("Фамилия")]
public string Lname { get; set; }
[DisplayName("Имя")]
public string Fname { get; set; }
[DisplayName("Отчество")]
public string Sname { get; set; }
[DisplayName("Адрес")]
public string Adress { get; set; }
[DisplayName("Номер телефона")]
public string Phone { get; set; }
public User(int I, string L, string F, string S, string A, string P)
{
Id = I; Fname = F;Lname = L;Sname = S;Adress = A; Phone = P;
}
}
}namespace Spravochnik
{
public class UsersContainer
{
public List<User> Users { get; set; }
public UsersContainer()
{
Users = new List<User>();
}
public void Add(int I, string L, string F, string S, string A, string P)
{
User user = new User(I, L, F, S, A, P);
Users.Add(user);
}
public void Delete(int I)
{
User finder = Users.Find(x => x.Id == I);
Users.Remove(finder);
}
public void Update(int I, string L, string F, string S, string A, string P)
{
User finder = Users.Find(x => x.Id == I);
finder.Lname = L; finder.Fname = F; finder.Sname = S; finder.Adress = A; finder.Phone = P;
}
public void Upd(User user)
{
User finder = Users.Find(x => x.Id == user.Id);
finder.Lname = user.Lname; finder.Fname = user.Fname; finder.Sname = user.Sname;
finder.Adress = user.Adress; finder.Phone = user.Phone;
}
public List<User> Search(string s)
{
var Searched = from item in Users
where item.Lname.ToLower().Contains(s.ToLower()) ||
item.Fname.ToLower().Contains(s.ToLower()) ||
item.Sname.ToLower().Contains(s.ToLower()) ||
item.Adress.ToLower().Contains(s.ToLower()) ||
item.Phone.ToLower().Contains(s.ToLower())
select item;
return Searched.ToList();
}
}
}Update и Upd. Какой из них лучше оставить? Возможно ли сократить код метода Search? Где правильней всего читать файл данных и записывать в него? В отдельном классе или может читать в конструкторе/записывать в методе? Подскажите пожалуйста. Решение задачи: «Справочник с соблюдением принципов ООП»
textual
Листинг программы
new User(6, "Иван", "Иванович", "Иванов", "8-908-666-66-66", "г. Москва"); // это намёк