forked from siteserver/cms
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathModalAreaAdd.cs
More file actions
154 lines (135 loc) · 4.78 KB
/
ModalAreaAdd.cs
File metadata and controls
154 lines (135 loc) · 4.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
using System;
using System.Collections.Specialized;
using System.Web.UI.WebControls;
using BaiRong.Core;
using BaiRong.Core.Model;
namespace SiteServer.BackgroundPages.Users
{
public class ModalAreaAdd : BasePage
{
public TextBox AreaName;
public PlaceHolder phParentID;
public DropDownList ParentID;
private int _areaId;
private string _returnUrl = string.Empty;
private bool[] _isLastNodeArray;
public static string GetOpenWindowStringToAdd(string returnUrl)
{
return PageUtils.GetOpenWindowString("添加区域", PageUtils.GetUsersUrl(nameof(ModalAreaAdd), new NameValueCollection
{
{"ReturnUrl", StringUtils.ValueToUrl(returnUrl)}
}), 460, 360);
}
public static string GetOpenWindowStringToEdit(int areaId, string returnUrl)
{
return PageUtils.GetOpenWindowString("修改区域", PageUtils.GetUsersUrl(nameof(ModalAreaAdd), new NameValueCollection
{
{"AreaID", areaId.ToString()},
{"ReturnUrl", StringUtils.ValueToUrl(returnUrl)}
}), 460, 360);
}
public void Page_Load(object sender, EventArgs e)
{
if (IsForbidden) return;
_areaId = Body.GetQueryInt("AreaID");
_returnUrl = StringUtils.ValueFromUrl(Body.GetQueryString("ReturnUrl"));
if (string.IsNullOrEmpty(_returnUrl))
{
_returnUrl = PageArea.GetRedirectUrl(0);
}
if (!IsPostBack)
{
if (_areaId == 0)
{
ParentID.Items.Add(new ListItem("<无上级区域>", "0"));
var areaIdList = AreaManager.GetAreaIdList();
var count = areaIdList.Count;
_isLastNodeArray = new bool[count];
foreach (var theAreaId in areaIdList)
{
var areaInfo = AreaManager.GetAreaInfo(theAreaId);
var listitem = new ListItem(GetTitle(areaInfo.AreaId, areaInfo.AreaName, areaInfo.ParentsCount, areaInfo.IsLastNode), theAreaId.ToString());
ParentID.Items.Add(listitem);
}
}
else
{
phParentID.Visible = false;
}
if (_areaId != 0)
{
var areaInfo = AreaManager.GetAreaInfo(_areaId);
AreaName.Text = areaInfo.AreaName;
ParentID.SelectedValue = areaInfo.ParentId.ToString();
}
}
}
public string GetTitle(int areaId, string areaName, int parentsCount, bool isLastNode)
{
var str = "";
if (isLastNode == false)
{
_isLastNodeArray[parentsCount] = false;
}
else
{
_isLastNodeArray[parentsCount] = true;
}
for (var i = 0; i < parentsCount; i++)
{
if (_isLastNodeArray[i])
{
str = string.Concat(str, " ");
}
else
{
str = string.Concat(str, "│");
}
}
if (isLastNode)
{
str = string.Concat(str, "└");
}
else
{
str = string.Concat(str, "├");
}
str = string.Concat(str, areaName);
return str;
}
public override void Submit_OnClick(object sender, EventArgs e)
{
var isChanged = false;
try
{
if (_areaId == 0)
{
var areaInfo = new AreaInfo
{
AreaName = AreaName.Text,
ParentId = TranslateUtils.ToInt(ParentID.SelectedValue)
};
BaiRongDataProvider.AreaDao.Insert(areaInfo);
}
else
{
var areaInfo = AreaManager.GetAreaInfo(_areaId);
areaInfo.AreaName = AreaName.Text;
areaInfo.ParentId = TranslateUtils.ToInt(ParentID.SelectedValue);
BaiRongDataProvider.AreaDao.Update(areaInfo);
}
Body.AddAdminLog("维护区域信息");
SuccessMessage("区域设置成功!");
isChanged = true;
}
catch (Exception ex)
{
FailMessage(ex, "区域设置失败!");
}
if (isChanged)
{
PageUtils.CloseModalPageAndRedirect(Page, _returnUrl);
}
}
}
}