Beispiel #1
0
        //Метод для додавання нового пасажира
        static public void AddNewPasseger(List <Passeger> pass)
        {
            Console.Write("New name: ");
            string name = Console.ReadLine();

            Console.Write("New Sername: ");
            string sername = Console.ReadLine();

            Console.Write("Do you want to describe to news about adding this person(YES - input: true, if NO - input -false: ");
            bool     BDelegAdd = bool.Parse(Console.ReadLine());
            DelegAdd delegAdd  = null;

            if (BDelegAdd == true)
            {
                delegAdd = InfoAddPassegers;
            }
            Console.Write("Do you want to describe to news about deletting this person(YES - input: true, if NO - input -false: ");
            bool     BDelegDel = bool.Parse(Console.ReadLine());
            DelegDel delegDel  = null;

            if (BDelegDel == true)
            {
                delegDel = InfoPopPassegers;
            }
            Passeger.Add(pass, name, sername, delegAdd, delegDel);
            OutPutPassegersInFile(pass);
        }
Beispiel #2
0
 public Discount disc; //об'єкт знижки
 //Конструктор з параметрами
 public Trips(DelegOutPut OutPutEvent, DelegAdd addEvent, DelegDel deleteEvent)
 {
     if (OutPutEvent != null)
     {
         Trips.OutPutEvent += OutPutEvent;
     }
     EventAdd = (addEvent != null) ? addEvent : null;
     EventDel = (deleteEvent != null) ? deleteEvent : null;
 }
Beispiel #3
0
        //Метод для додавання нового водія
        static public void AddNewWorker(List <Workers> workers)
        {
            Console.Write("New name: ");
            string name = Console.ReadLine();

            Console.Write("New Sername: ");
            string sername = Console.ReadLine();

            Console.Write("salaryInOur: ");
            double salary = Convert.ToDouble(Console.ReadLine());

            if (salary <= 0)
            {
                throw new ArgumentNullException("Salary must be more than zero!!!");
            }
            Console.Write("Date of starting: ");
            DateTime timeOfStarting = DateTime.Parse(Console.ReadLine());

            Console.Write("Date of finishing: ");
            DateTime timeOfFinishing = DateTime.Parse(Console.ReadLine());

            Console.Write("Do you want to describe to news about adding this person(YES - input: true, if NO - input -false: ");
            bool     BDelegAdd = bool.Parse(Console.ReadLine());
            DelegAdd delegAdd  = null;

            if (BDelegAdd == true)
            {
                delegAdd = InfoAddWorkers;
            }
            Console.Write("Do you want to describe to news about deletting this person(YES - input: true, if NO - input -false: ");
            bool     BDelegDel = bool.Parse(Console.ReadLine());
            DelegDel delegDel  = null;

            if (BDelegDel == true)
            {
                delegDel = InfoPopWorkers;
            }
            Workers.Add(workers, name, sername, salary, timeOfStarting, timeOfFinishing, delegDel, delegAdd);
            OutPutWorkersInFile(workers);
        }
Beispiel #4
0
        //Додавання нового водія(робітника)
        public static void Add(List <Workers> workers, string name, string sername, double salary, DateTime timeOfStarting, DateTime timeOfFinishing, DelegDel delF, DelegAdd addF)
        {
            int countofList = workers[workers.Count() - 1].key;

            workers.Add(new Workers(addF, delF)
            {
                key = countofList + 1, name = name, sername = sername, salaryInOur = salary, timeStart = timeOfStarting, timeFinish = timeOfFinishing
            });
            Workers.EventAdd?.Invoke();
        }
Beispiel #5
0
 }                           //значення ключа
 //Конструктор з параметрами
 public Workers(DelegAdd eventAdd, DelegDel eventDelete)
 {
     Workers.EventDelete = (eventDelete != null) ? eventDelete : null;
     Workers.EventAdd    = (eventAdd != null) ? eventAdd : null;
 }
Beispiel #6
0
        //Додавання пасажира
        public static void Add(List <Passeger> pass, string name, string sername, DelegAdd addEvent, DelegDel deleteEvent)
        {
            int countofList = pass[pass.Count() - 1].key + 1;

            pass.Add(new Passeger(name, sername, 0, countofList, addEvent, deleteEvent));
            Passeger.EventAdd?.Invoke();
        }
Beispiel #7
0
 //Конструктор
 public Passeger(string name, string sername, int countTrips, int key, DelegAdd addEvent, DelegDel deleteEvent)
 {
     if (name.Length == 0 || name == null || sername.Length == 0 || sername == null)
     {
         throw new ArgumentNullException("String of name has a lenght with is equal to null!");
     }
     if (countTrips < 0)
     {
         throw new ArgumentException("count of trips this passeger must be more or equal zero");
     }
     this.name       = name;
     this.sername    = sername;
     this.countTrips = countTrips;
     this.key        = key;
     EventAdd        = (addEvent != null) ? addEvent : null;
     EventDel        = (deleteEvent != null) ? deleteEvent : null;
 }
Beispiel #8
0
 //Конструктор з параметрами
 public Trips(Passeger passeger, int key_of_Passeger, double kilometrs, double priceForOneKilometr, double waitTime, double waitPrice, DelegOutPut OutPutEvent, DelegAdd addEvent, DelegDel deleteEvent)
 {
     if (kilometrs <= 0)
     {
         throw new ArgumentNullException("Hours must be more than zero!!!");
     }
     if (priceForOneKilometr <= 0)
     {
         throw new ArgumentException("Price for one kilometr must be more than zero!");
     }
     if (waitTime < 0)
     {
         throw new ArgumentNullException("wait TIME should be more or equal zero");
     }
     if (waitTime > 0 && waitPrice <= 0)
     {
         throw new ArithmeticException("Waitng price must be more than zero, when waiting time > 0");
     }
     this.kilometrs           = kilometrs;
     this.waitTime            = waitTime;
     this.priceForOneKilometr = priceForOneKilometr;
     this.waitPrice           = waitPrice;
     this.waitTime            = waitTime;
     this.key_of_passeger     = key_of_Passeger;
     passeger.countTrips     += 1;
     peo              = passeger;
     namePassenger    = peo.Name();
     sernamePassenger = peo.SerName();
     disc             = new Discount(peo.countTrips);
     if (OutPutEvent != null)
     {
         Trips.OutPutEvent += OutPutEvent;
     }
     EventAdd += (addEvent != null) ? addEvent : null;
     EventDel += (deleteEvent != null) ? deleteEvent : null;
 }
Beispiel #9
0
        //Додавання поїздки
        static public void Add(List <Passeger> passegers, List <Trips> NTrip, string name, string sername, int key, double Long, double PriceForOneKilometr, double waiting_time, double waiting_price, DelegOutPut OutPutEvent, DelegAdd addEvent, DelegDel deleteEvent)
        {
            bool flag = false;

            foreach (var val in passegers)
            {
                if (val.Name() == name && val.SerName() == sername && val.key == key)
                {
                    flag = true;
                    break;
                }
            }
            if (flag == false)
            {
                throw new ArgumentException("Did not find this person in list of Passegers. We recomendet to you add this person in list of passegers");
            }
            flag = false;
            foreach (var val in NTrip)
            {
                if (val.key_of_passeger == key)
                {
                    throw new ArgumentException("This person yet to drive ");
                }
            }
            flag = false;
            foreach (var Value in passegers)
            {
                if (Value.Name() == name && Value.SerName() == sername && Value.key == key)
                {
                    NTrip.Add(new Trips(Value, key, Long, PriceForOneKilometr, waiting_time, waiting_price, Trips.OutPutEvent, addEvent, deleteEvent));
                    if (OutPutEvent != null)
                    {
                        Trips.OutPutEvent = OutPutEvent;
                        Trips.OutPutEvent?.Invoke(NTrip);
                    }
                    flag = true;
                    break;
                }
            }
            if (flag == false)
            {
                throw new ArgumentException("Warning: This passeger did not find. You can to try this: add new passeger.");
            }
            Trips.EventAdd?.Invoke();
        }
Beispiel #10
0
        //Метод для додавання нової поїздки
        static public void AddTrip(List <Trips> NTrip, List <Passeger> passegers)
        {
            DelegOutPut OutPutToFile = OutPutListOfTripsInTheFile;

            Console.Write("Key = ");
            int key = Convert.ToInt32(Console.ReadLine());

            Console.Write("Name: ");
            string name = Console.ReadLine();

            Console.Write("Sername: ");
            string sername = Console.ReadLine();

            Console.Write("Long:");
            double Long = Convert.ToDouble(Console.ReadLine());

            if (Long <= 0)
            {
                throw new ArgumentNullException("Long must be more than zero!!!");
            }
            Console.Write("Price for one kilimert: ");
            double PriceForOneKilometr = Convert.ToDouble(Console.ReadLine());

            if (PriceForOneKilometr <= 0)
            {
                throw new ArithmeticException("Price for a one kilometrs should be more than 0!");
            }
            Console.Write("Waiting time: ");
            double waiting_time = Convert.ToDouble(Console.ReadLine());

            if (waiting_time < 0)
            {
                throw new ArgumentException("Waiting time must be >= 0");
            }
            Console.Write("Waiting price: ");
            double waiting_price = Convert.ToDouble(Console.ReadLine());

            if (waiting_price < 0)
            {
                throw new ArgumentException("Price for a waiting should be more than zero or is equal with zero!!!");
            }
            Console.Write("Do you want to describe to news about adding this trip(YES - input: true, if NO - input -false: ");
            bool     BDelegAdd = bool.Parse(Console.ReadLine());
            DelegAdd delegAdd  = null;

            if (BDelegAdd == true)
            {
                delegAdd = InfoAddTrips;
            }
            Console.Write("Do you want to describe to news about deletting this trip(YES - input: true, if NO - input -false: ");
            bool     BDelegDel = bool.Parse(Console.ReadLine());
            DelegDel delegDel  = null;

            if (BDelegDel == true)
            {
                delegDel = InfoPopTrips;
            }
            Trips.Add(passegers, NTrip, name, sername, key, Long, PriceForOneKilometr, waiting_time, waiting_price, OutPutToFile, delegAdd, delegDel);
            OutPutListOfTripsInTheFile(NTrip);
            OutPutPassegersInFile(passegers);
        }