private void AddStatistic(string title, string progress, float fillPercentage) { if (contentPanelHeigth > 0) { AddDivider(); } GameObject statisticsGroupObject = GameObject.Instantiate(statisticsGroupPrefab); StatisticsGroup statisticsGroup = statisticsGroupObject.GetComponent <StatisticsGroup>(); statisticsGroup.title = title; if (fillPercentage == -1f) { statisticsGroup.progress = progress; statisticsGroup.fillPercentage = fillPercentage; } else { statisticsGroup.progress = progress + " (" + fillPercentage.ToString("n2") + "%)"; statisticsGroup.fillPercentage = fillPercentage; } statisticsGroupObject.transform.SetParent(contentPanel.transform); statisticsGroupObject.transform.localScale = new Vector3(1f, 1f, 1f); RectTransform phRectTransform = contentPanel.GetComponent <RectTransform>(); contentPanelHeigth += statisticsGroupHeight; phRectTransform.sizeDelta = new Vector2(phRectTransform.sizeDelta.x, contentPanelHeigth); }
private void UpdateStatisticsGroup(StatisticsGroup statisticsGroup) { _session.CreateSQLQuery(@" UPDATE StatisticsGroup SET Name=:name WHERE Id=:statisticsGroupId") .SetParameter("name", statisticsGroup.Name) .SetParameter("statisticsGroupId", statisticsGroup.Id) .ExecuteUpdate(); }
public ActionResult Create(int groupId) { var statisticsGroup = new StatisticsGroup { TargetGroupId = groupId }; var model = CreateStatisticsGroupEditModel(statisticsGroup); return(View("Edit", model)); }
private StatisticsGroupEditView CreateStatisticsGroupEditModel(StatisticsGroup statisticsGroup) { var users = _userProvider.GetUsersByGroup(statisticsGroup.TargetGroupId); return(new StatisticsGroupEditView { Group = _groupProvider.GetById(statisticsGroup.TargetGroupId), StatisticsGroup = statisticsGroup, UsersDict = users.ToDictionary(u => u.VkUserId) }); }
public void Save(StatisticsGroup statisticsGroup) { if (!statisticsGroup.Id.HasValue) { AddStatisticsGroup(statisticsGroup); } else { UpdateStatisticsGroup(statisticsGroup); } UpdateStatisticsGroupUsers(statisticsGroup); }
public ActionResult Save(StatisticsGroup input) { if (IsValid(input, out var errorMessage)) { _statisticsProvider.Save(input); return(RedirectToAction("ForGroup", new { groupId = input.TargetGroupId })); } var model = CreateStatisticsGroupEditModel(input); model.ErrorMessage = errorMessage; return(View("Edit", model)); }
private bool IsValid(StatisticsGroup input, out string error) { if (string.IsNullOrEmpty(input.Name)) { error = "Name should not be empty"; return(false); } if (input.SelectedUsers == null || !input.SelectedUsers.Any()) { error = "No selected users"; return(false); } error = null; return(true); }
private void UpdateStatisticsGroupUsers(StatisticsGroup statisticsGroup) { var statisticsGroupId = statisticsGroup.Id.Value; RemoveStatisticsGroupUsers(statisticsGroupId); var insertSql = new StringBuilder(); foreach (var userId in statisticsGroup.SelectedUsers) { insertSql.AppendLine( $"INSERT INTO StatisticsGroupUsers (StatisticsGroupId, UserId) VALUES ({statisticsGroupId},{userId})"); } _session .CreateSQLQuery(insertSql.ToString()) .ExecuteUpdate(); }