Advertisement
Sephinroth

rw

May 14th, 2020
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.55 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. namespace practice
  7. {
  8.     public class Postquarantine_employment_service
  9. {
  10.     public Postquarantine_employment_service()
  11.     {
  12.        
  13.     }
  14.     public List<Vacancy> vac = new List<Vacancy>();
  15.     public List<Organisation> org = new List<Organisation>();
  16.    
  17.     public void AddOrg(Organisation obj)
  18.     {
  19.         org.Add(obj);
  20.     }
  21.     public void RemoveOrg(string name)
  22.     {
  23.         int del_idx = -1;
  24.        
  25.         foreach (Organisation o in org)
  26.             if (name == o.name)
  27.             {
  28.                 this.RemoveVac(o.name);
  29.                 del_idx = org.IndexOf(o);
  30.                
  31.         }
  32.         if (del_idx != -1)
  33.         {
  34.             org.RemoveAt(del_idx);
  35.            
  36.         }
  37.        
  38.     }
  39.     public void AddVac(Vacancy obj)
  40.         {
  41.             vac.Add(obj);
  42.          
  43.         }
  44.     public void RemoveVac(int ID)
  45.         {
  46.             int del_idx = -1;
  47.             foreach (Vacancy v in vac)
  48.                 if (ID == v.ID) del_idx = vac.IndexOf(v);
  49.             if (del_idx != -1) vac.RemoveAt(del_idx);
  50.         }
  51.     public void RemoveVac(string name)
  52.         {
  53.             int del_idx = -1;
  54.             foreach (Vacancy v in vac)
  55.                 if (name == v.company) del_idx = vac.IndexOf(v);
  56.             if (del_idx != -1)
  57.             {
  58.                 vac.RemoveAt(del_idx);
  59.                 this.RemoveVac(name);
  60.             }
  61.         }
  62.    
  63.     public void GetCompanyVacs (string name)
  64.     {
  65.         foreach (Organisation o in org)
  66.             if (name == o.name)
  67.             {
  68.                 o.GetInfo();
  69.                 foreach (Vacancy v in vac)
  70.                     if (name == v.company) v.GetBriefInfo();
  71.             }
  72.                
  73.     }
  74.     public void SearchBySpec ()
  75.     {
  76.         Console.WriteLine("\n\nПровести поиск по специальности? (y/n)");
  77.         string ans1 = Console.ReadLine();
  78.         switch (ans1) {
  79.             case "y":
  80.                 Console.WriteLine("\nВведите название специальности");
  81.                 string spec = Console.ReadLine();
  82.                 Console.WriteLine("\n\nВакансии по специальности {0}\n", spec);
  83.                 foreach (Vacancy v in vac)
  84.                     if (v.specialization == spec) { Console.WriteLine(); v.GetInfo(); };
  85.                 break;
  86.             default:
  87.                 break;
  88.         }
  89.    
  90.        
  91.        
  92.        
  93.     }
  94.     public void ShowAllVac()
  95.     {
  96.         foreach (Vacancy v in vac)
  97.             v.GetInfo();
  98.     }
  99.     public void Delete()
  100.     {
  101.         Console.WriteLine("\n\nХотите удалить вакансию или организацию? (v/o)");
  102.         string ans1 = Console.ReadLine();
  103.         switch (ans1) {
  104.             case "v":
  105.                 Console.WriteLine("Выберите вакансию (№)");
  106.                 int ans2 = int.Parse(Console.ReadLine());
  107.                 this.RemoveVac(ans2);
  108.                 break;
  109.             case "o":
  110.                 Console.WriteLine("Введите название организации");
  111.                 string ans3 = Console.ReadLine();
  112.                 this.RemoveOrg(ans3);
  113.                 break;
  114.             default:
  115.                 Console.WriteLine("Неверная команда");
  116.                 break;
  117.         }
  118.     }
  119.     public void SearchByCompany()
  120.     {
  121.         Console.WriteLine("\n\nПровести поиск по компаниям? (y/n)");
  122.         string ans1 = Console.ReadLine();
  123.         switch (ans1) {
  124.             case "y":
  125.                 Console.WriteLine("Введите название");
  126.                 string ans2 = Console.ReadLine();
  127.                 Console.WriteLine("\n\nВакансии в компании {0}\n", ans2);
  128.                 this.GetCompanyVacs(ans2);
  129.                 break;
  130.             default:
  131.                 break;
  132.         }
  133.     }
  134. }
  135. public class Vacancy
  136.     {
  137.             public string name;
  138.             public string specialization;
  139.             public double salary;
  140.             public string schedule;
  141.             public string company;
  142.             public int ID;
  143.             public string Name { get {return name;} set { name = value; } }
  144.             public Vacancy (string name, string specialization, double salary, string schedule, string company, int ID)
  145.             {
  146.                 this.name = name;
  147.                 this.specialization = specialization;
  148.                 this.salary = salary;
  149.                 this.schedule = schedule;
  150.                 this.company = company;
  151.                 this.ID = ID;
  152.             }
  153.             public Vacancy () { }
  154.             public string Specialization
  155.             {
  156.                 get { return specialization; }
  157.                 set { specialization = value; }
  158.             }
  159.             public double Salary
  160.             {
  161.                 get { return salary; }
  162.                 set { salary = value; }
  163.             }
  164.             public string Schedule
  165.             {
  166.                 get { return schedule; }
  167.                 set { schedule = value; }
  168.             }
  169.             public void GetBriefInfo()
  170.             {
  171.                 Console.WriteLine("Должность: {0};\nСпециальность: {1};\nЗарплата: {2};\nГрафик: {3}.", name, specialization, salary, schedule);
  172.             }
  173.             public void GetInfo()
  174.             {
  175.                 Console.WriteLine("\n{0}\nКомпания: {1};\nДолжность: {2};\nСпециальность: {3};\nЗарплата: {4};\nГрафик: {5}.", ID, company, name, specialization, salary, schedule);
  176.             }
  177.         }
  178. public class Organisation
  179.     {
  180.         public string name;
  181.         public string Name { get {return name;} set { name = value; } }
  182.         public string address;
  183.         public string field;
  184.         public Organisation (string name, string address, string field)
  185.        {
  186.         this.name = name;
  187.         this. address = address;
  188.         this.field = field;
  189.        }
  190.        public string Address
  191.         {
  192.             get { return address; }
  193.             set { address = value; }
  194.         }
  195.        public string Field
  196.         {
  197.             get { return field; }
  198.             set { field = value; }
  199.         }
  200.        
  201.        public void GetInfo()
  202.         {
  203.             Console.WriteLine("Название: {0};\nАдрес: {1};\nОбласть деятельности: {2};", name, address, field);
  204.         }
  205.  
  206.    
  207.     }
  208. class Program
  209. {
  210.     static void Main(string[] args)
  211.     {
  212.         int cnt = 1;
  213.         Postquarantine_employment_service l = new Postquarantine_employment_service();
  214.        
  215.         Organisation one = new Organisation("Ростелеком", "Саратов", "Связь");
  216.         l.AddOrg(one);
  217.         l.AddVac(new Vacancy("Директор", "Менеджмент", 10000, "пятидневный", "Ростелеком", cnt));
  218.         cnt++;
  219.         Organisation two = new Organisation("Магнит", "Саратов", "Торговля");
  220.         l.AddOrg(two);
  221.         l.AddVac(new Vacancy("Кассир", "Обслуживание", 1000, "пятидневный с неполным рабочим днём", "Магнит", cnt));
  222.         cnt++;
  223.         l.AddVac(new Vacancy("Кассир", "Обслуживание", 2000, "пятидневный", "Магнит", cnt));
  224.         cnt++;
  225.         l.AddVac(new Vacancy("Охранник", "Охрана", 3000, "сменный", "Магнит", cnt));
  226.         cnt++;
  227.         Organisation three = new Organisation("Сбербанк", "Саратов", "Финансы");
  228.         l.AddOrg(three);
  229.         l.AddVac(new Vacancy("Консультант", "Обслуживание", 4000, "пятидневный", "Сбербанк", cnt));
  230.         cnt++;
  231.         Organisation four = new Organisation("Яблонька", "Саратов", "Общественное питание");
  232.         l.AddOrg(four);
  233.         l.AddVac(new Vacancy("Пекарь", "Изготовление продуктов питания", 3500, "сменным", "Яблонька", cnt));
  234.         cnt++;
  235.         l.AddVac(new Vacancy("Продавец", "Обслуживание", 2000, "пятидневный", "Яблонька",cnt));
  236.         cnt++;
  237.         Console.WriteLine("\nСписок доступных вакансий\n");
  238.         l.ShowAllVac();
  239.        
  240.         l.Delete();
  241.        
  242.         l.SearchByCompany();
  243.        
  244.         l.SearchBySpec();
  245.        
  246.         Console.ReadKey();
  247.     }
  248.  
  249. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement