// GET: Transport/Details/5
        public IActionResult Details(int?id)
        {
            log.Info(nameof(Details));

            if (id == null)
            {
                log.Warn(nameof(TransportsController.Details) + " id is null");

                return(NotFound());
            }
            try
            {
                var transport = transportService.Get((Int32)id);

                if (transport == null)
                {
                    log.Warn(nameof(TransportsController.Details) + " transport is null");

                    return(NotFound());
                }
                else
                {
                    return(View(transport));
                }
            }
            catch (Exception e)
            {
                log.Error(e);

                return(NotFound());
            }
        }
Example #2
0
        public async Task RetreiveEmployee()
        {
            Console.Write("Enter the ID of employee: ");
            int id = int.Parse(Console.ReadLine());

            // Retreive Employee.
            Employee employee = await _transportService.Get(id);

            PrintEmployee(employee);
        }
        private void CalcTasksStarter(CancellationToken token)
        {
            var threadId = Thread.CurrentThread.ManagedThreadId;

            //Запускаем расчёт c 1
            ProcessStarterCalculationsAsync(threadId, 1).GetAwaiter().GetResult();
            Debug.WriteLine($"Starter {threadId} запущен");

            while (true)
            {
                if (token.IsCancellationRequested)
                {
                    _transportService.Close(threadId);
                    return;
                }

                //Проверяем очередь
                var valueMq = _transportService.Get(threadId);
                if (valueMq != null)
                {
                    //Запускаем расчёт
                    ProcessStarterCalculationsAsync(threadId, valueMq.Value).GetAwaiter();

                    Debug.WriteLine($"Starter {threadId} вычисляет.");
                }
                else
                {
                    Debug.WriteLine($"Starter {threadId} ждёт");
                }

                //Для наглядности
                // ReSharper disable once ConditionIsAlwaysTrueOrFalse
                if (SleepTime > 0)
                {
                    Thread.Sleep(SleepTime);
                }
            }
        }