Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

Dimon aka Manowar

 
Название:

Редактирование групп (codebehind)

Дата: 05 November 2002
Описание: В дополнение к статье "Создание системы авторизации, основанной на ролях, в ASP.NET приложении" привожу код codebehind редактирования групп. Классы бизнес логики не расшифровываются, я надеюсь кто захочет - разберется :) 
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=24]Редактирование групп (codebehind)[/CODEPOST]
Оценка: Проголосовало 1 посетителей, средняя оценка 5.00
Оценить:
  1 using System;
  2 using System.Collections;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.Web;
  7 using System.Web.SessionState;
  8 using System.Web.UI;
  9 using System.Web.UI.WebControls;
 10 using System.Web.UI.HtmlControls;
 11 
 12 namespace mff.admin.admin
 13 {
 14 	/// <summary>
 15 	/// Summary description for admins.
 16 	/// </summary>
 17 	public class groups : System.Web.UI.Page
 18 	{
 19         protected System.Web.UI.WebControls.LinkButton lbtnAddNew;
 20         protected System.Web.UI.WebControls.ListBox lbMembers;
 21         protected System.Web.UI.WebControls.ListBox lbAllUsers;
 22         protected System.Web.UI.WebControls.Button btnAdd;
 23         protected System.Web.UI.WebControls.Button btnRemove;
 24         protected System.Web.UI.HtmlControls.HtmlTable tblEditGroup;
 25         protected System.Web.UI.WebControls.ListBox lbAllPages;
 26         protected System.Web.UI.WebControls.Button btnRemovePage;
 27         protected System.Web.UI.WebControls.Button btnAddPage;
 28         protected System.Web.UI.WebControls.ListBox lbAllowPages;
 29         protected System.Web.UI.WebControls.DataGrid dgMain;
 30     
 31 		public groups()
 32 		{
 33 			Page.Init += new System.EventHandler(Page_Init);
 34 		}
 35 
 36 		private void Page_Load(object sender, System.EventArgs e)
 37 		{
 38             if(!IsPostBack)
 39             {
 40 				Cache.Remove("admin_groups");
 41                 bindData();
 42                 ViewState["add"] = false;
 43             }
 44             if(dgMain.SelectedIndex == -1)
 45                 tblEditGroup.Visible = false;
 46 		}
 47 
 48 		private void Page_Init(object sender, EventArgs e)
 49 		{
 50 			//
 51 			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
 52 			//
 53 			InitializeComponent();
 54 		}
 55 
 56 		#region Web Form Designer generated code
 57 		/// <summary>
 58 		/// Required method for Designer support - do not modify
 59 		/// the contents of this method with the code editor.
 60 		/// </summary>
 61 		private void InitializeComponent()
 62 		{    
 63 			this.dgMain.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgMain_CancelCommand);
 64 			this.dgMain.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgMain_EditCommand);
 65 			this.dgMain.SortCommand += new System.Web.UI.WebControls.DataGridSortCommandEventHandler(this.dgMain_SortCommand);
 66 			this.dgMain.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgMain_UpdateCommand);
 67 			this.dgMain.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgMain_DeleteCommand);
 68 			this.dgMain.SelectedIndexChanged += new System.EventHandler(this.dgMain_SelectedIndexChanged);
 69 			this.lbtnAddNew.Click += new System.EventHandler(this.lbtnAddNew_Click);
 70 			this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
 71 			this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click);
 72 			this.btnAddPage.Click += new System.EventHandler(this.btnAddPage_Click);
 73 			this.btnRemovePage.Click += new System.EventHandler(this.btnRemovePage_Click);
 74 			this.Load += new System.EventHandler(this.Page_Load);
 75 
 76 		}
 77 		#endregion
 78 
 79         private void bindData()
 80         {
 81             DataView dv = (DataView) Cache["admin_groups"];
 82             if(dv == null)
 83             {
 84                 mff_components.admin_groups admin = new mff_components.admin_groups(System.Configuration.ConfigurationSettings.AppSettings["DSN"]);
 85                 dv = admin.List();
 86                 Cache.Insert("admin_groups", dv, null, DateTime.Now.AddMinutes(30), TimeSpan.Zero);
 87             }
 88             if (ViewState["sort"] != null)
 89                 dv.Sort = (string) ViewState["sort"];
 90             dgMain.DataSource = dv;
 91             dgMain.DataKeyField = "group_uid";
 92             dgMain.DataBind();
 93         }
 94 
 95         private void lbtnAddNew_Click(object sender, System.EventArgs e)
 96         {
 97             DataView dv = (DataView) Cache["admin_groups"];
 98             if(dv == null)
 99             {
100                 mff_components.admin_groups admin = new mff_components.admin_groups(System.Configuration.ConfigurationSettings.AppSettings["DSN"]);
101                 dv = admin.List();
102                 Cache.Insert("admin_groups", dv, null, DateTime.Now.AddMinutes(30), TimeSpan.Zero);
103             }
104             dv.AddNew();
105             ViewState["add"] = true;
106             dgMain.DataSource = dv;
107             dgMain.EditItemIndex = dv.Count - 1;
108             dgMain.DataBind();
109         }
110 
111         private void dgMain_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
112         {
113             ViewState["sort"] = e.SortExpression;
114             bindData();
115         }
116 
117         private void dgMain_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
118         {
119             mff_components.admin_groups admin = new mff_components.admin_groups(System.Configuration.ConfigurationSettings.AppSettings["DSN"]);
120             DataRowView drv = (DataRowView) e.Item.DataItem;
121             if((bool) ViewState["add"])
122                 admin.New();
123             else
124                 admin.Get((int) dgMain.DataKeys[e.Item.ItemIndex]);
125             admin.Name = ((TextBox) e.Item.Cells[0].Controls[0]).Text;
126             admin.Set((bool) ViewState["add"]);
127             ViewState["add"] = false;
128             Cache.Remove("admin_groups");
129             dgMain.EditItemIndex = -1;
130             bindData();
131         }
132 
133         private void dgMain_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
134         {
135             dgMain.EditItemIndex = -1;
136             bindData();
137         }
138 
139         private void dgMain_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
140         {
141             dgMain.EditItemIndex = e.Item.ItemIndex;
142             dgMain.SelectedIndex = -1;
143             bindData();
144         }
145 
146         private void dgMain_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
147         {
148             mff_components.admin_groups admin = new mff_components.admin_groups(System.Configuration.ConfigurationSettings.AppSettings["DSN"]);
149             admin.Delete((int) dgMain.DataKeys[e.Item.ItemIndex]);
150             Cache.Remove("admin_groups");
151             bindData();
152         }
153 
154         private void dgMain_SelectedIndexChanged(object sender, System.EventArgs e)
155         {
156             tblEditGroup.Visible = true;
157             mff_components.admin_groups group = new mff_components.admin_groups(System.Configuration.ConfigurationSettings.AppSettings["DSN"]);
158             mff_components.administrators admin = new mff_components.administrators(System.Configuration.ConfigurationSettings.AppSettings["DSN"]);
159             mff_components.admin_pages page = new mff_components.admin_pages(System.Configuration.ConfigurationSettings.AppSettings["DSN"]);
160             DataView dv = group.ListUsers((int) dgMain.DataKeys[dgMain.SelectedIndex]);
161             lbMembers.DataSource = dv;
162             lbMembers.DataBind();
163 
164             DataView dv1 = admin.List();
165             foreach(DataRowView drv in dv)
166             {
167 				dv1.RowFilter = "admin_uid = " + drv["admin_uid"].ToString();
168 				dv1.Delete(0);
169 				dv1.RowFilter = "";
170 			}
171             lbAllUsers.DataSource = dv1;
172             lbAllUsers.DataBind();
173             group.Get((int) dgMain.DataKeys[dgMain.SelectedIndex]);
174             dv = page.List();
175             dv1 = page.List();
176             dv.RowFilter = "GroupsList like '%" + group.Name + ",%'";
177             foreach(DataRowView drv in dv)
178             {
179 				dv1.RowFilter = "page_id = " + drv["page_id"].ToString();
180                 dv1.Delete(0);
181 				dv1.RowFilter = "";
182             }
183             lbAllowPages.DataSource = dv;
184             lbAllowPages.DataBind();
185             lbAllPages.DataSource = dv1;
186             lbAllPages.DataBind();
187         }
188 
189         private void btnAdd_Click(object sender, System.EventArgs e)
190         {
191             mff_components.administrators admin = new mff_components.administrators(System.Configuration.ConfigurationSettings.AppSettings["DSN"]);
192 			int i = 0;
193 			while(i < lbAllUsers.Items.Count)
194             {
195                 ListItem li = lbAllUsers.Items[i];
196                 if(li.Selected)
197                 {
198                     lbMembers.Items.Add(li);
199                     lbAllUsers.Items.Remove(li);
200                     li.Selected = false;
201                     admin.AddTo(Int32.Parse(li.Value), (int) dgMain.DataKeys[dgMain.SelectedIndex]);
202                 }
203 				else
204 					i++;
205 			}
206         }
207 
208         private void btnRemove_Click(object sender, System.EventArgs e)
209         {
210             mff_components.administrators admin = new mff_components.administrators(System.Configuration.ConfigurationSettings.AppSettings["DSN"]);
211 			int i = 0;
212 			while(i < lbMembers.Items.Count)
213             {
214                 ListItem li = lbMembers.Items[i];
215 				if(li.Selected)
216 				{
217 					lbAllUsers.Items.Add(li);
218 					lbMembers.Items.Remove(li);
219 					li.Selected = false;
220 					admin.RemoveFrom(Int32.Parse(li.Value), (int) dgMain.DataKeys[dgMain.SelectedIndex]);
221 				}
222 				else
223 					i++;
224 			}
225 
226         }
227 
228         private void btnAddPage_Click(object sender, System.EventArgs e)
229         {
230             mff_components.admin_pages page = new mff_components.admin_pages(System.Configuration.ConfigurationSettings.AppSettings["DSN"]);
231 			int group_id = (int) dgMain.DataKeys[dgMain.SelectedIndex];
232 			string groupName;
233 			mff_components.admin_groups group = new mff_components.admin_groups(System.Configuration.ConfigurationSettings.AppSettings["DSN"]);
234 			group.Get(group_id);
235 			groupName = group.Name;
236 			int i = 0;
237 			while(i < lbAllPages.Items.Count)
238             {
239                 ListItem li = lbAllPages.Items[i];
240                 if(li.Selected)
241                 {
242                     lbAllowPages.Items.Add(li);
243                     lbAllPages.Items.Remove(li);
244                     li.Selected = false;
245                     page.Get(Int32.Parse(li.Value));
246                     page.GroupsList = String.Format("{0}{1},", page.GroupsList, groupName);
247                     page.Set(false);
248                 }
249 				else
250 					i++;
251             }
252 			Cache.Remove("admin_pages");
253 		}
254 
255         private void btnRemovePage_Click(object sender, System.EventArgs e)
256         {
257 			mff_components.admin_pages page = new mff_components.admin_pages(System.Configuration.ConfigurationSettings.AppSettings["DSN"]);
258 			int group_id = (int) dgMain.DataKeys[dgMain.SelectedIndex];
259 			string groupName;
260 			mff_components.admin_groups group = new mff_components.admin_groups(System.Configuration.ConfigurationSettings.AppSettings["DSN"]);
261 			group.Get(group_id);
262 			groupName = group.Name;
263 			int i = 0;
264 			while(i < lbAllowPages.Items.Count)
265             {
266                 ListItem li = lbAllowPages.Items[i];
267                 if(li.Selected)
268                 {
269                     lbAllPages.Items.Add(li);
270                     lbAllowPages.Items.Remove(li);
271                     li.Selected = false;
272                     page.Get(Int32.Parse(li.Value));
273                     page.GroupsList = page.GroupsList.Replace(groupName + ",", "");
274                     page.Set(false);
275                 }
276 				else
277 					i++;
278 			}
279 			Cache.Remove("admin_pages");
280 		}
281 	}
282 }
283 
Вернуться к списку исходников в категории Общие вопросы программирования на ASP.NET
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта