public async Task <IActionResult> Index(string code, string info = null, string warning = null, string error = null, bool?notAssinged = null)
        {
            var model = await uow.GetExamByCode(code, true);

            ViewBag.InfoTimeout = 10000;
            if (error != null || notAssinged != null)
            {
                ViewBag.NotAssigned  = notAssinged;
                ViewBag.Error        = error;
                ViewBag.NotAvailable = true;
                return(View(model));
            }
            var(message, isUserAssigned, examResult) = await uow.CheckExam(model);

            model.ExamApproacheResult = examResult;
            if (model.ExamApproacheResult != null)
            {
                ViewBag.Info = message;
            }
            else
            {
                ViewBag.Warning      = warning ?? message;
                ViewBag.NotAssigned  = !isUserAssigned;
                ViewBag.Info         = info;
                ViewBag.Error        = error;
                ViewBag.NotAvailable = ViewBag.Warning != null;
                ViewBag.IsActive     = await uow.IsActive(model);
            }
            return(View(model));
        }