コード例 #1
0
        public ActionResult UpdateTrial([DataSourceRequest] DataSourceRequest request, Trial trial)
        {
            if (trial != null && ModelState.IsValid)
            {
                DataProvider.Update(trial);
            }

            return Json(new[] { trial }.ToDataSourceResult(request, ModelState));
        }
コード例 #2
0
        public ActionResult Edit(string id, int? versionId, TrialTab? tab)
        {
            ViewBag.Tab = tab;

            Trial trial;
            if (string.IsNullOrEmpty(id))
            {
                ViewBag.IsNew = true;
                trial = new Trial { Version = 1 };
                //ViewBag.Versions = new[] { new { Id = 1, Name = "1 (Новая)" } };
                ViewBag.Title = "Создание исследования";
            }
            else
            {
                trial = DataProvider.GetItem(new TrialDataFilter { Code = id });
                trial.Version = versionId.HasValue ? versionId.Value : 1;
                if (trial == null)
                    throw new ApplicationException("Исследование с кодом '" + id + "' не найдено");
                ViewBag.IsNew = false;
                //ViewBag.Versions = DataProvider.GetList(new TrialVersionDataFilter()).Select(v => new { Id = v.Id, Name = string.Format("{0} ({1})", v.Id, v.VersionStatus) });
                ViewBag.Versions = new[] { new { Id = 1, Name = "1 (Новая)" } };
                ViewBag.Title = "Описание исследования";
            }

            switch (tab)
            {
                case TrialTab.Main:
                case null:
                    ViewBag.Statuses = EnumExtensions.GetDictionary(typeof(TrialStatus)).Where(x => x.Key >= (int)trial.Status);

                    var users = DataProvider.GetList(new UserDataFilter());
                    ViewBag.Users = users;
                    ViewBag.AdministratorLogin_Data = new SelectList(users, "Login", "FullName");
                    ViewBag.Hospitals = DataProvider.GetList(new HospitalDataFilter());
                    break;
                case TrialTab.Visits:
                    ViewBag.Procedures = DataProvider.GetList(new ProcedureDataFilter());
                    ViewBag.Visits = DataProvider
                        .GetList(new TrialVisitDataFilter { TrialCode = trial.Code, TrialVersion = trial.Version  })
                        .OrderBy(v => v.Days);
                    ViewBag.ProcedureGroups = DataProvider.GetList(new ProcedureGroupDataFilter());
                    break;
                case TrialTab.Roles:
                    ViewBag.Procedures = DataProvider.GetList(new ProcedureDataFilter());
                    ViewBag.TrialCenters = DataProvider.GetList(new TrialCenterDataFilter { TrialCode = id });
                    ViewBag.Roles = DataProvider.GetList(new RoleDataFilter());
                    break;
            }

            return View(trial);
        }