/// <summary> /// Проверяет корректность введенных параметров. /// </summary> /// <param name="parameters">Параметры для построения диаграммы, которые нужно проверить на правильность.</param> /// <returns></returns> bool CheckParametersValid(ParametersContainer parameters) { if (parameters == null) { return(false); } if (!parameters.HasTimeLimit && !parameters.HasClientLimit) { CallbackUi.ShowError("Моделирование процесса СМО", "Система не имеет ограничений ни по времени, ни по заявкам."); return(false); } if (parameters.ChannelCount == 0) { CallbackUi.ShowWarning("Моделирование процесса СМО", "Система не имеет мест обслуживания.\nСледовательно, все заявки будут отклонены."); } if (parameters.ChannelCount < 0 || parameters.QueueCapacity < 0) { CallbackUi.ShowError("Эта ошибка никогда не вылезет", "Надо было юзать uint"); return(false); } return(true); }
public static void CompareParameters(ParametersContainer parametersContainer, params Param[] parameters) { var list = parametersContainer.GetParametersList(); Assert.Equal(list.Count, parameters.Length); for (var i = 0; i < parameters.Length; i++) { object expected = parameters[i].Value; if (expected.GetType().IsArray) { var expectedList = ReflectionUtils.CreateListInstance(expected.GetType().GetElementType()); foreach (var item in (Array)expected) { expectedList.Add(item); } expected = expectedList; } var actual = list[i].Item1; Assert.Equal(expected, actual); Assert.Equal(parameters[i].Type, list[i].Item2); } }
public JsonResult GetDistrictENodebsStat(ParametersContainer container, string cityName) { if (container.TownENodebStats == null) { container.ImportTownENodebStats(_townRepository, _eNodebRepository, _regionRepository); } return(Json(container.GetENodebsByDistrict(cityName).Select( x => new { D = x.Key, N = x.Value }), JsonRequestBehavior.AllowGet)); }
public ActionResult CollegeCoverage(int id) { CollegeInfo info = _repository.Get(id); if (info == null) { return(View(new InfrastructureCoverageViewModel(id))); } ParametersContainer.UpdateCollegeInfos(this, info); FileRecordsRepository.UpdateCoverageInfos(ParametersContainer.QueryENodebs, 0.03); return(View(new InfrastructureCoverageViewModel(id, info.Name))); }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { ParametersContainer container = (ParametersContainer)controllerContext.HttpContext.Session[sessionKey]; if (container == null) { container = new ParametersContainer(); controllerContext.HttpContext.Session[sessionKey] = container; } // return the cart return(container); }
public ProcessModeller(ParametersContainer parameters) { Parameters = parameters; channelIdleTimes = new double[Parameters.ChannelCount]; queueIdleTimes = new double[parameters.QueueCapacity]; for (int i = 0; i < Parameters.ChannelCount; i++) { channelIdleTimes[i] = -1; } for (int i = 0; i < Parameters.QueueCapacity; i++) { queueIdleTimes[i] = -1; } }
public void TestList() { ParametersContainer container = new ParametersContainer(); ViewResult viewResult = controller.List(container); IEnumerable <TownENodebStat> stats = viewResult.Model as IEnumerable <TownENodebStat>; Assert.IsNotNull(stats); Assert.AreEqual(stats.Count(), 7); Assert.AreEqual(container.TownENodebStats.Count(), 7); Assert.AreEqual(container.TownENodebStats.ElementAt(0).TotalENodebs, 2); Assert.AreEqual(container.TownENodebStats.ElementAt(1).TotalENodebs, 1); Assert.AreEqual(container.TownENodebStats.ElementAt(2).TotalENodebs, 1); Assert.AreEqual(container.TownENodebStats.ElementAt(3).TotalENodebs, 0); Assert.AreEqual(container.TownENodebStats.ElementAt(4).TotalENodebs, 2); Assert.AreEqual(container.TownENodebStats.ElementAt(5).TotalENodebs, 1); Assert.AreEqual(container.TownENodebStats.ElementAt(6).TotalENodebs, 2); }
public ActionResult CollegeCells(int id) { CollegeInfo info = _repository.Get(id); if (info == null) { return(View(new InfrastructureInfoViewModel(id))); } ParametersContainer.UpdateCollegeInfos(this, info); return(View(new InfrastructureInfoViewModel(id, info.Name) { StartDate = DateTime.Today.AddDays(-7), EndDate = DateTime.Today })); }
public ActionResult Login() { ParametersContainer args = RequestArgs <ParametersContainer>(); if (args == null) { return(FailedResult("参数无效。")); } NormalResult <UserContext> result = _userContextManager.Login(args.GetValue("Account"), args.GetValue("Password")); if (result.Successful) { ShellUserContext userContext = Mapper.Map <ShellUserContext>(result.Data); userContext.User = UserManager.Instance.GetUser(userContext.UserId); SessionContainer.SetUserContext(HttpContext, userContext); return(DataResult(result.Data)); } else { return(FailedResult(result.Message)); } }
public ViewResult List(ParametersContainer container) { container.ImportTownENodebStats(_townRepository, _eNodebRepository, _regionRepository); return(View(container.TownENodebStats)); }
/// <summary> /// Вызывает создание диаграммы по заданным значениям. Результатом является отображение диграммы на главной панели. /// </summary> /// <param name="parameters">Параметры диграммы, заданные пользователем</param> public void MakeDiagram() { ParametersContainer parameters = CallbackUi.GetDiagramParameters(); if (!CheckParametersValid(parameters)) { return; } TimeDiagram timeDiagram; bool useGraphics = true; var timeToCl = (int)parameters.TimeLimit * parameters.ThreadIntencity; int min; if (!parameters.HasTimeLimit) { min = parameters.ClientLimit; } else if (!parameters.HasClientLimit) { min = timeToCl; } else { min = Math.Min(timeToCl, parameters.ClientLimit); } if (min > 200) { useGraphics = CallbackUi.YesNoDialog("Предупреждение", string.Format(@"Временная диаграмма будет содержать около {0} линий. Ее отрисовка может вызвать замедление работы компьютера. Отрисовать диаграмму? (анализ диаграммы возможен при любом выборе)", min)); } ProcessModeller modeller = new ProcessModeller(parameters); InteractiveDiagram intDiag = null; try { timeDiagram = useGraphics ? modeller.CreateDiagram(GraphicsFactory, out intDiag) : modeller.CreateDiagram(); } catch { CallbackUi.ShowError("Создать диаграмму", "При моделировании процесса возникло исключение." /* + ex.StackTrace*/); return; } CallbackUi.InteractiveDiagram = intDiag; analyzeText = MakeReport(parameters, timeDiagram); if (intDiag != null) { CallbackUi.HideText(); intDiag.ViewUpdated += CallbackUi.InvalidateDiagramView; intDiag.GoToEnd(); } else { CallbackUi.ShowText("Отображение диграммы отключено.\nДля ее анализа, используйте Действия - Анализ диаграммы."); } }
static string MakeReport(ParametersContainer diagramParameters, TimeDiagram timeDiagram) { return(diagramParameters.ToString() + "\r\n" + ReportTool.MakeReport(timeDiagram, clientMetrics, GetMetrics(timeDiagram.ChannelCount, timeDiagram.QueueCapacity))); }