📄 pointsystem.aspx.cs
字号:
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
// Copyright (c) Telligent Systems Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using System;
using System.Web.UI.WebControls;
using CommunityServer.Components;
using CommunityServer.ControlPanel.Controls;
using CommunityServer.ControlPanel.UI;
using CommunityServer.Controls;
using CommunityServer.Points;
using ResourceControl = CommunityServer.ControlPanel.Controls.ResourceControl;
using ResourceLinkButton = CommunityServer.ControlPanel.Controls.ResourceLinkButton;
using StatusMessage = CommunityServer.ControlPanel.Controls.StatusMessage;
namespace CommunityServer.ControlPanel.Settings
{
/// <summary>
/// Summary description for PointSystem.
/// </summary>
public class PointSystem : BaseToolsPage
{
#region Members
protected YesNoRadioButtonList EnablePointSystem;
protected DisplayLevelDropDownList PointsPostDisplayLevel;
protected DisplayLevelDropDownList PointsUserDisplayLevel;
protected TextBox PointsPostFactor;
protected TextBox PointsReplyFactor;
protected TextBox PointsReplierFactor;
protected TextBox PointsRatingFactor;
protected TextBox PointsDownloadFactor;
protected TextBox PointsDownloaderFactor;
protected TextBox PointsFavoritePostFactor;
protected TextBox PointsFavoriteUserFactor;
protected TextBox PointsRaterFactor;
protected RequiredFieldValidator PointsPostFactorValidator;
protected RequiredFieldValidator PointsReplyFactorValidator;
protected RequiredFieldValidator PointsReplierFactorValidator;
protected RequiredFieldValidator PointsRatingFactorValidator;
protected RequiredFieldValidator PointsDownloadFactorValidator;
protected RequiredFieldValidator PointsDownloaderFactorValidator;
protected RequiredFieldValidator PointsFavoritePostFactorValidator;
protected RequiredFieldValidator PointsFavoriteUserFactorValidator;
protected RequiredFieldValidator PointsRaterFactorValidator;
protected Button CalculateButton;
protected StatusMessage LicenseMessage;
protected StatusMessage Status;
protected ControlPanelSelectedNavigation SelectedNavigation1;
protected ResourceControl RegionTitle;
protected MPContent DescriptionRegion;
protected MPContent TaskRegion;
protected MPContainer MPContainer;
protected ResourceLinkButton SaveButton;
#endregion
override protected void OnInit(EventArgs e)
{
this.CalculateButton.Click += new EventHandler(CalculateButton_Click);
this.SaveButton.Click += new EventHandler(SaveButton_Click);
this.Load += new EventHandler(this.Page_Load);
base.OnInit(e);
}
private void Page_Load(object sender, EventArgs e)
{
// Validate License for Points Add-On
if (!Telligent.Registration.CommunityServer.IsStandard)
{
LicenseMessage.Success = false;
LicenseMessage.IsLicenseMessage = true;
LicenseMessage.ResourceName = "Admin_SiteSettings_Points_RequireLicense";
LicenseMessage.Visible = true;
}
if ( !Page.IsPostBack )
{
this.Bind();
}
}
protected void Bind()
{
SiteSettings settings = CSContext.Current.SiteSettings;
Status.Visible = false;
this.SaveButton.Text = ResourceManager.GetString( "Save" );
this.CalculateButton.Text = ResourceManager.GetString( "Calculate" );
EnablePointSystem.SelectedValue = settings.EnablePointSystem;
PointsPostDisplayLevel.SelectedValue = settings.PointsPostDisplayLevel;
PointsUserDisplayLevel.SelectedValue = settings.PointsUserDisplayLevel;
PointsPostFactor.Text = settings.PointsPostFactor.ToString();
PointsReplyFactor.Text = settings.PointsReplyFactor.ToString();
PointsReplierFactor.Text = settings.PointsReplierFactor.ToString();
PointsRatingFactor.Text = settings.PointsRatingFactor.ToString();
PointsDownloadFactor.Text = settings.PointsDownloadFactor.ToString();
PointsDownloaderFactor.Text = settings.PointsDownloaderFactor.ToString();
PointsFavoritePostFactor.Text = settings.PointsFavoritePostFactor.ToString();
PointsFavoriteUserFactor.Text = settings.PointsFavoriteUserFactor.ToString();
PointsRaterFactor.Text = settings.PointsRaterFactor.ToString();
}
private void CalculateButton_Click(object sender, EventArgs e)
{
if (PointsHelper.CalculateAllPoints())
{
Status.Success = true;
Status.ResourceName = "Admin_SiteSettings_Points_Calculate_Success";
}
else
{
Status.Success = false;
Status.ResourceName = "Admin_SiteSettings_Points_Calculate_Failure";
}
Status.Visible = true;
}
private void SaveButton_Click(object sender, EventArgs e)
{
SiteSettings settings = CSContext.Current.SiteSettings;
SaveSettings( settings );
if(Page.IsValid)
{
Status.Success = true;
Status.ResourceName = "Admin_SiteSettings_StatusSuccess";
DataBind();
}
else
{
Status.Success = false;
Status.ResourceName = "Admin_SiteSettings_StatusFailed";
}
Status.Visible = true;
}
private void InitializeComponent()
{
}
protected virtual void SaveSettings( SiteSettings settings )
{
settings.EnablePointSystem = EnablePointSystem.SelectedValue;
settings.PointsPostDisplayLevel = PointsPostDisplayLevel.SelectedValue;
settings.PointsUserDisplayLevel = PointsUserDisplayLevel.SelectedValue;
try
{
settings.PointsPostFactor = Int32.Parse(PointsPostFactor.Text);
if (settings.PointsPostFactor < 0)
PointsPostFactorValidator.IsValid = false;
}
catch { PointsPostFactorValidator.IsValid = false; }
try
{
settings.PointsReplyFactor = Int32.Parse(PointsReplyFactor.Text);
if (settings.PointsReplyFactor < 0)
PointsReplyFactorValidator.IsValid = false;
}
catch { PointsReplyFactorValidator.IsValid = false; }
try
{
settings.PointsReplierFactor = Int32.Parse(PointsReplierFactor.Text);
if (settings.PointsReplierFactor < 0)
PointsReplierFactorValidator.IsValid = false;
}
catch { PointsReplierFactorValidator.IsValid = false; }
try
{
settings.PointsRatingFactor = Int32.Parse(PointsRatingFactor.Text);
if (settings.PointsRatingFactor < 0)
PointsRatingFactorValidator.IsValid = false;
}
catch { PointsRatingFactorValidator.IsValid = false; }
try
{
settings.PointsDownloadFactor = Int32.Parse(PointsDownloadFactor.Text);
if (settings.PointsDownloadFactor < 0)
PointsDownloadFactorValidator.IsValid = false;
}
catch { PointsDownloadFactorValidator.IsValid = false; }
try
{
settings.PointsDownloaderFactor = Int32.Parse(PointsDownloaderFactor.Text);
if (settings.PointsDownloaderFactor < 0)
PointsDownloaderFactorValidator.IsValid = false;
}
catch { PointsDownloaderFactorValidator.IsValid = false; }
try
{
settings.PointsFavoritePostFactor = Int32.Parse(PointsFavoritePostFactor.Text);
if (settings.PointsFavoritePostFactor < 0)
PointsFavoritePostFactorValidator.IsValid = false;
}
catch { PointsFavoritePostFactorValidator.IsValid = false; }
try
{
settings.PointsFavoriteUserFactor = Int32.Parse(PointsFavoriteUserFactor.Text);
if (settings.PointsFavoriteUserFactor < 0)
PointsFavoriteUserFactorValidator.IsValid = false;
}
catch { PointsFavoriteUserFactorValidator.IsValid = false; }
try
{
settings.PointsRaterFactor = Int32.Parse(PointsRaterFactor.Text);
if (settings.PointsRaterFactor < 0)
PointsRaterFactorValidator.IsValid = false;
}
catch { PointsRaterFactorValidator.IsValid = false; }
if(Page.IsValid)
SiteSettingsManager.Save(settings);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -