Справочник с соблюдением принципов ООП - 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", "г. Москва"); // это намёк
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д