제목 : ~/Schedule/ScheduleView.ascx.cs
글번호:
|
|
250
|
작성자:
|
|
레드플러스
|
작성일:
|
|
2008/07/02 오전 10:35:00
|
조회수:
|
|
4590
|
using System;
using System.Data;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Practices.EnterpriseLibrary.Data;
/// <summary>
/// 현재 페이지는 ScheduleWrite.ascx와 거의 동일하므로 하나로 통일시켜도 무관하다.
/// </summary>
public partial class Schedule_ScheduleViewControl : System.Web.UI.UserControl
{
#region Private Member Variables
private string strSYear = DateTime.Now.Year.ToString(); // 년
private string strSMonth = DateTime.Now.Month.ToString(); // 월
private string strSDay = DateTime.Now.Day.ToString(); // 일
private string strSHour = DateTime.Now.Hour.ToString(); // 시
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DisplayData();
}
// 인증된 사용자만 글쓰기 : 비회원제로 연습할 때에는 아래코드 블록을 주석처리
if (Page.User.Identity.Name.ToLower() == "admin"
|| Roles.IsUserInRole("Administrators"))
{
this.btnModify.Visible = true;
this.btnDelete.Visible = true;
}
else
{
this.btnModify.Visible = false;
this.btnDelete.Visible = false;
}
}
private void DisplayData()
{
#region 드롭다운 리스트 초기화
// 년
for (int i = (DateTime.Now.Year); i < (DateTime.Now.Year + 5); i++)
{
ListItem li = new ListItem();
li.Text = i.ToString() + "년";
li.Value = i.ToString();
this.lstYear.Items.Add(li);
}
// 월
for (int i = 1; i <= 12; i++)
{
ListItem li = new ListItem(String.Format("{0,2:D}월", i), i.ToString());
this.ddlMonth.Items.Add(li);
}
// 일
for (int i = 1; i <= 31; i++)
{
ListItem li = new ListItem(String.Format("{0}일", i), i.ToString());
this.comDay.Items.Add(li);
}
// 시
for (int i = 0; i <= 23; i++)
{
ListItem li = new ListItem(String.Format("{0}시", i), i.ToString());
this.ctlHour.Items.Add(li);
}
#endregion
#region 쿼리스트링 받기
if (!String.IsNullOrEmpty(Request["SYear"]))
{
strSYear = Request["SYear"];
strSMonth = Request["SMonth"];
strSDay = Request["SDay"];
}
#endregion
#region 넘겨온 값에 해당하는 일시를 선택
foreach (ListItem item in this.lstYear.Items)
{
if (item.Value == strSYear) // 넘겨온 년도와 같다면...
{
item.Selected = true; // 해당 항목이 선택된 상태로 보여주기
}
}
for (int i = 0; i < this.ddlMonth.Items.Count; i++)
{
if (this.ddlMonth.Items[i].Value == strSMonth)
{
this.ddlMonth.Items[i].Selected = true;
}
}
foreach (ListItem li in this.comDay.Items)
{
if (li.Value == strSDay)
{
li.Selected = true;
}
}
for (int i = 0; i < ctlHour.Items.Count; i++)
{
if (ctlHour.Items[i].Value == DateTime.Now.Hour.ToString())
{
ctlHour.Items[i].Selected = true;
}
}
#endregion
#region 제목과 내용 출력
using (IDataReader objDr = DatabaseFactory.CreateDatabase("ConnectionString").ExecuteReader("ViewSchedule", Request["Num"]))
{
if (objDr.Read())
{
txtTitle.Text = objDr["Title"].ToString();
txtContent.Text = objDr["Content"].ToString();
}
}
#endregion
}
protected void btnModify_Click(object sender, EventArgs e)
{
DatabaseFactory.CreateDatabase("ConnectionString").ExecuteNonQuery("ModifySchedule", this.lstYear.SelectedValue, this.ddlMonth.SelectedValue, this.comDay.SelectedValue, this.ctlHour.SelectedValue, txtTitle.Text, txtContent.Text, Request["Num"]);
btnList_Click(null, null);
}
protected void btnDelete_Click(object sender, EventArgs e)
{
DatabaseFactory.CreateDatabase("ConnectionString").ExecuteNonQuery("DeleteSchedule", Request["Num"]);
btnList_Click(null, null);
}
protected void btnList_Click(object sender, EventArgs e)
{
string strUrl = String.Format("ScheduleList.aspx?SYear={0}&SMonth={1}", strSYear, strSMonth);
Response.Redirect(strUrl);
}
}