Esempio n. 1
0
        public void Add(Journal journal)
        {
            _service.Insert(journal);
            _service.Dispose();

            ReportEvent.Invoke("Добавлен новый номер! Скупитесь, не пожалеете!!!!!!");
        }
Esempio n. 2
0
        public void Pay(Client client, Journal journal)
        {
            var existingClient = new Client {
                Id = client.Id
            };
            var existingJournal = new Journal {
                Id = journal.Id
            };

            _service._context.Clients.Attach(client);
            _service._context.Journals.Attach(journal);

            var order = new Order
            {
                Client      = existingClient,
                Journal     = existingJournal,
                IsDelivered = false
            };

            _service.Insert(order);

            _service.Dispose();

            ReportEvent.Invoke($"Вы оплатили покупку стоимостью {existingJournal.Price} тенге. Ждите доставки");
        }
Esempio n. 3
0
        public void Unsubscribe(Client client)
        {
            _service.Delete(client);
            _service.Dispose();

            ReportEvent.Invoke("Вы отказались от подписки.");
        }
Esempio n. 4
0
        public void Subscribe(Client client, int monthCount)
        {
            _service.Insert(client);
            _service.Dispose();

            ReportEvent.Invoke($"Вы оформили подписку на {monthCount} месяцев(а).");
        }
Esempio n. 5
0
 public void Withdraw(int sum)
 {
     if (sum <= Sum)
     {
         Sum -= sum;
         ReportEvent?.Invoke($"Со счета было снято {sum}");
         return;
     }
     ReportEvent?.Invoke("На счете не хватает средств");
 }
Esempio n. 6
0
 public int WithdrowSum(int sum)
 {
     if (sum <= Sum)
     {
         Sum -= sum;
         ReportEvent?.Invoke($"У вас снято {sum}");
         return(sum);
     }
     ReportEvent?.Invoke($"Недостаточно средств");
     return(-1);
 }
Esempio n. 7
0
        private void OnWorkPerformed(int hours, ActionType actionType, Location location)
        {
            var eventArgs = new ReportHoursEventArgs
            {
                Hours      = hours,
                ActionType = actionType,
                Location   = location
            };

            ReportEvent?.Invoke(this, eventArgs);
        }
Esempio n. 8
0
        public void DoWork()
        {
            var hours = 8;

            for (int i = 0; i <= hours; i++)
            {
                ReportEvent?.Invoke(i, ActionType.Working, new Location("KMW", "Warsaw"));
                Thread.Sleep(500);
            }

            ReportCompletedEvent?.Invoke(this, EventArgs.Empty);
        }
Esempio n. 9
0
        public void Add(T entity)
        {
            var data = GetAll();

            data.Add(entity);

            using (var stream = File.Open("AllProducts.json", FileMode.OpenOrCreate))
            {
                string       json = JsonConvert.SerializeObject(data);
                StreamWriter sw   = new StreamWriter(stream);
                sw.Write(json);
                sw.Close();
                ReportEvent?.Invoke($"Товар добавлен");
            }
        }
Esempio n. 10
0
        public void DoWork()
        {
            var hours = 8;

            for (int i = 0; i <= hours; i++)
            {
                var eventArgs = new ReportHoursEventArgs
                {
                    Hours      = i,
                    ActionType = ActionType.Working,
                    Location   = new Location("KMW", "Warsaw")
                };
                ReportEvent?.Invoke(this, eventArgs);
                Thread.Sleep(500);
            }

            ReportCompletedEvent?.Invoke(this, EventArgs.Empty);
        }
Esempio n. 11
0
    /// <summary>
    /// Is invoked on the end of the day.
    /// Asseses income and proceeds to next day.
    /// </summary>
    void EndDay()
    {
        Day++;
        DayEndedEvent.Invoke();

        var report = new Report();

        report.days      = Day;
        report.money     = InventorySystem.Inventory.Money;
        report.customers = InventorySystem.Inventory.SatisfiedCustomers;

        if (Day % 7 == 0 && Day != 0)
        {
            WeekEndedEvent.Invoke(report);
        }
        else
        {
            GetAllCustomersForNewDay();
        }
    }
Esempio n. 12
0
        public void Deliver(Client client, Journal journal)
        {
            var existingClient = new Client {
                Id = client.Id
            };
            var existingJournal = new Journal {
                Id = journal.Id
            };

            var existingOrder = (from o in _service._context.Orders
                                 join cl in _service._context.Clients on o.Client.Id equals cl.Id
                                 join j in _service._context.Journals on o.Journal.Id equals j.Id
                                 where cl.TelephoneNumber == existingClient.TelephoneNumber && j.Name == existingJournal.Name && o.IsDelivered == false
                                 select o).First();

            ;           existingOrder.IsDelivered = true;

            _service.Update(existingOrder);
            _service.Dispose();

            ReportEvent.Invoke("Ваша покупка была доставлена! Покупайте еще!");
        }
        private async void StartThreads(object sender, TickEventArgs e)                                               //async metod som anropas på varje tick
        {
            if (e.Date.TimeOfDay == TimeSpan.Parse("17:00:00"))                                                       //kollar om kl är 17, då är dagen över
            {
                e.IsPaused = true;                                                                                    //simuleringen pausas
                Date       = e.Date;                                                                                  //date sätts till datumet simuleringen är på

                var   checkOutTask = CheckOutHamstersForTheDay();                                                     //skapar en task som skickar hem hamstrarna för dagen
                await checkOutTask;                                                                                   //awaitar tasken

                PrintEvent?.Invoke(this, new PrintEventArgs(Print(), e.Date));                                        //invokar ett event som skriver ut vad som hänt detta tick
                ReportEvent?.Invoke(this, new ReportEventArgs(HDCon.Hamsters.ToList(), HDCon.ActivityLogs.ToList())); //invokar ett event som genererar och skriver ut rapport för dagen

                var logs = HDCon.ActivityLogs;
                HDCon.ActivityLogs.RemoveRange(logs);                                   //tömmer logs i databasen
                HDCon.SaveChanges();                                                    //sparar ändringar

                e.Date     = e.Date.AddHours(13.9);                                     //lägger till 13.9h på simuleringen för att starta en ny dag
                e.IsPaused = false;                                                     //startar simuleringen igen
            }
            else if (e.Date.Hour >= 7 & e.Date.TimeOfDay <= TimeSpan.Parse("17:00:00")) //om kl är mellan 07.00 och 17.00
            {
                Date = e.Date;                                                          //date sätts till datumet simuleringen är på

                if (e.Date.TimeOfDay == TimeSpan.Parse("07:00:00"))                     //om kl är 07.00
                {
                    var   addToCageTask = AddHamstersToCages();                         //skapar en task för att checka in hamstrarna för dagen, behöver endast göras en gång per dag
                    await addToCageTask;                                                //awaitar tasken
                }


                var retrieveFromExerciseTask = RetreiveHamstersFromExtersiceArea(); //skapar en task som plockar ut hamstrar från träningsområdet
                var addToExerciseTask        = AddHamstersToExerciseArea();         //skapar en task som lägger till hamstrar till träningsområdet

                await retrieveFromExerciseTask;                                     //awaitar tasken
                await addToExerciseTask;                                            //awaitar tasken
                PrintEvent?.Invoke(this, new PrintEventArgs(Print(), e.Date));      //invokar ett event som skriver ut vad som hänt detta tick
            }
        }
Esempio n. 14
0
 public void AddSum(int sum)
 {
     Sum += sum;
     ReportEvent?.Invoke($"Вам начисленно {sum}");/*Мы можем писать или не писать Invoke это синтаксический сахар*/
 }
Esempio n. 15
0
 private void OnReportEvent(SamplesReportEventArgs e)
 {
     ReportEvent?.Invoke(this, e);
 }
Esempio n. 16
0
 public void Add(int sum)
 {
     Sum += sum;
     ReportEvent?.Invoke($"На счет добавлено {sum}");
 }
Esempio n. 17
0
 public void AddSum(int sum)
 {
     Sum += sum;
     ReportEvent?.Invoke($"Вам начислено {sum}");
 }
Esempio n. 18
0
 private void Report(string message, LogLevel severity)
 //transmit server messages to host
 {
     Helpers.Report.log(DeviceToReport.Service, severity, message);
     ReportEvent?.Invoke(this, new ChatServiceEventArgs(message));
 }