393 lines
15 KiB
C#
393 lines
15 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.OleDb;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using System.Configuration;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Globalization;
|
|
|
|
public partial class admin_activity_reg : MyWeb.config
|
|
{
|
|
private Model.ezEntities _db = new Model.ezEntities();
|
|
public string _category_kindTxt = "相關";
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
|
|
if (isStrNull(Request["num"]))
|
|
{
|
|
BuildKind();
|
|
}
|
|
else
|
|
{
|
|
int _num = Val(Request["num"]);
|
|
//var qry = _db.activities.AsEnumerable();
|
|
var prod = _db.activities.Where(q => q.num == _num).FirstOrDefault();
|
|
|
|
if (prod != null)
|
|
{
|
|
|
|
BuildKind();
|
|
try
|
|
{
|
|
foreach (Control obj in cardBodyPanel.Controls)
|
|
{
|
|
if (obj is TextBox)
|
|
{
|
|
var ObjValue = prod.GetType().GetProperty(obj.ID).GetValue(prod, null);
|
|
if (!isStrNull(ObjValue))
|
|
{
|
|
var textBox = (TextBox)obj;
|
|
if (textBox.TextMode == TextBoxMode.Date)
|
|
{
|
|
textBox.Text = Convert.ToDateTime(ObjValue).ToString("yyyy-MM-dd");
|
|
}
|
|
else
|
|
{
|
|
textBox.Text = ObjValue.ToString();
|
|
}
|
|
}
|
|
}
|
|
else if (obj is DropDownList && ((DropDownList)obj).SelectedIndex == 0)
|
|
{
|
|
var ObjValue = prod.GetType().GetProperty(obj.ID).GetValue(prod, null);
|
|
if (!isStrNull(ObjValue))
|
|
{
|
|
var dropDown = (DropDownList)obj;
|
|
dropDown.SelectedValue = ObjValue.ToString();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
}
|
|
|
|
if (prod.kind.HasValue)
|
|
{
|
|
kind_txt.Value = prod.activity_kind.kind;
|
|
kind.Value = prod.kind.Value.ToString();
|
|
kind_txt2.Text = "<div class='pt-2'>" + prod.activity_kind.kind + "</div>";
|
|
}
|
|
if (prod.category_kind.HasValue)
|
|
{
|
|
_category_kindTxt = prod.activity_category_kind.kind;
|
|
category_kind_txt.Value = prod.activity_category_kind.kind;
|
|
category_kind.Value = prod.category_kind.Value.ToString();
|
|
}
|
|
if (prod.startDate_solar.HasValue)
|
|
{
|
|
startDate_lunar.Text= publicFun.chagenDate(prod.startDate_solar);
|
|
}
|
|
if (prod.endDate_solar.HasValue)
|
|
{
|
|
endDate_lunar.Text = publicFun.chagenDate(prod.endDate_solar);
|
|
}
|
|
|
|
if (prod.reg_time.HasValue)
|
|
{
|
|
timePanel1.Visible = true;
|
|
reg_time.Text = prod.reg_time.Value.ToString("yyyy/MM/dd HH:mm:ss");
|
|
}
|
|
kindPH.Visible = false;
|
|
|
|
|
|
edit.Visible = true;
|
|
goback.Visible = true;
|
|
add.Visible = false;
|
|
|
|
}
|
|
else
|
|
{
|
|
Response.Redirect("index.aspx");
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
protected void goback_Click(object sender, EventArgs e)
|
|
{
|
|
Response.Redirect("index.aspx?page=" + Convert.ToString(Request["page"]));
|
|
}
|
|
|
|
#region 分類
|
|
|
|
|
|
|
|
public void BuildKind()
|
|
{
|
|
|
|
}
|
|
protected void kind_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
//if (isStrNull(Request["num"])) // 只有新增時帶入預設
|
|
//{
|
|
// if (!isStrNull(kind.SelectedValue))
|
|
// {
|
|
// int _kind = Val(kind.SelectedValue);
|
|
// //日期
|
|
// var prop3 = _db.activity_kind.Where(q => q.num == _kind).FirstOrDefault();
|
|
// if (prop3 != null)
|
|
// {
|
|
// ChineseLunisolarCalendar chineseDate = new ChineseLunisolarCalendar();
|
|
|
|
// string _calendar = prop3.calendar;
|
|
// DateTime _today = DateTime.Now;
|
|
// if (_calendar == "國曆")
|
|
// {
|
|
// DateTime _newDay = Convert.ToDateTime(DateTime.Now.Year + "/" + prop3.month + "/" + prop3.day);
|
|
// if (_today.Month >= prop3.month && _today.Day >= prop3.day)
|
|
// {
|
|
// //過期->預設明年
|
|
// _newDay = Convert.ToDateTime(DateTime.Now.AddYears(1).Year + "/" + prop3.month + "/" + prop3.day);
|
|
// }
|
|
// else
|
|
// {
|
|
// //未過期->預設今年
|
|
// }
|
|
|
|
// startDate_solar.Text = _newDay.ToString("yyyy-MM-dd");
|
|
// endDate_solar.Text = _newDay.ToString("yyyy-MM-dd");
|
|
|
|
// DateTime _newDay2 = Convert.ToDateTime(chineseDate.GetYear(_newDay) + "/" + chineseDate.GetMonth(_newDay) + "/" + chineseDate.GetDayOfMonth(_newDay));
|
|
// startDate_lunar.Text = _newDay2.ToString("yyyy-MM-dd");
|
|
// endDate_lunar.Text = _newDay2.ToString("yyyy-MM-dd");
|
|
|
|
// //TaiwanLunisolarCalendar tlc = new TaiwanLunisolarCalendar();
|
|
// //DateTime _newDay3 = Convert.ToDateTime(tlc.GetYear(_newDay) + "/" + tlc.GetMonth(_newDay) + "/" + tlc.GetDayOfMonth(_newDay));
|
|
// // -> TaiwanLunisolarCalendar 民國年農曆
|
|
|
|
|
|
// }
|
|
// else if (_calendar == "農曆")
|
|
// {
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
// //項目
|
|
// DataTable dt = createNewDt();
|
|
// var qry = _db.activity_kind_detail.AsEnumerable().Where(q => q.activity_kind_num == _kind && q.actItem.status == "Y");
|
|
// var prop = qry.OrderBy(q => q.reg_time).ToList();
|
|
// if (prop.Count > 0)
|
|
// {
|
|
// foreach (var item in prop)
|
|
// {
|
|
// DataRow dr = dt.NewRow();
|
|
// //dr["num"] = item.actItem_num;
|
|
// dr["num"] = ""; //新增時為空
|
|
// dr["actItem_num"] = item.actItem_num;
|
|
// dr["price"] = item.price.HasValue ? item.price.Value.ToString() : "";
|
|
// dr["qty"] = item.qty.HasValue ? item.qty.Value.ToString() : "";
|
|
// dt.Rows.Add(dr);
|
|
// }
|
|
// }
|
|
// Repeater1.DataSource = dt;
|
|
// Repeater1.DataBind();
|
|
// //var query =
|
|
// //from c in _db.actItems.AsEnumerable()
|
|
// //where ((from o in _db.activity_kind_detail.AsEnumerable()
|
|
// // where o.activity_kind_num == _kind
|
|
// // select o.actItem_num)
|
|
// // .Contains(c.num) && c.status=="Y")
|
|
// //select c;
|
|
|
|
// dt = createNewDt2();
|
|
// var prop2 = qry.Where(q=>q.actItem.spares=="Y").OrderBy(q => q.reg_time).ToList();
|
|
// if (prop2.Count > 0)
|
|
// {
|
|
// foreach (var item in prop2)
|
|
// {
|
|
// DataRow dr = dt.NewRow();
|
|
// dr["num"] = "";
|
|
// dr["actItem_num"] = item.actItem_num;
|
|
// dr["qty1"] = item.qty.HasValue ? item.qty.Value.ToString() : "";
|
|
// dr["qty2"] = "";
|
|
// dr["demo"] = "";
|
|
// dt.Rows.Add(dr);
|
|
// }
|
|
// }
|
|
// Repeater2.DataSource = dt;
|
|
// Repeater2.DataBind();
|
|
|
|
// }
|
|
// else
|
|
// {
|
|
// Repeater1.DataSource = null;
|
|
// Repeater1.DataBind();
|
|
// Repeater2.DataSource = null;
|
|
// Repeater2.DataBind();
|
|
// }
|
|
//}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 資料新增
|
|
|
|
protected void add_Click(object sender, EventArgs e)
|
|
{
|
|
if (Page.IsValid) {
|
|
L_msg.Text = "";
|
|
|
|
Model.activity activity = new Model.activity();
|
|
try
|
|
{
|
|
foreach (Control obj in cardBodyPanel.Controls)
|
|
{
|
|
if (obj is TextBox)
|
|
{
|
|
var ObjValue = activity.GetType().GetProperty(obj.ID);
|
|
var textBox = (TextBox)obj;
|
|
if (!isStrNull(textBox.Text))
|
|
{
|
|
if (textBox.TextMode == TextBoxMode.Date)
|
|
ObjValue.SetValue(activity, selectDate(textBox));
|
|
|
|
else
|
|
ObjValue.SetValue(activity, ((TextBox)obj).Text.Trim());
|
|
}
|
|
else
|
|
ObjValue.SetValue(activity, null);
|
|
|
|
}
|
|
else if (obj is DropDownList)
|
|
{
|
|
var ObjValue = activity.GetType().GetProperty(obj.ID);
|
|
var dropDown = (DropDownList)obj;
|
|
if (!isStrNull(dropDown.SelectedValue))
|
|
{
|
|
if (!isStrNull(dropDown.Attributes["data-int"]) && ValString(dropDown.Attributes["data-int"]).Equals("Y"))
|
|
ObjValue.SetValue(activity, Val(dropDown.SelectedValue));
|
|
else
|
|
ObjValue.SetValue(activity, dropDown.SelectedValue);
|
|
}
|
|
else
|
|
ObjValue.SetValue(activity, null);
|
|
}
|
|
}
|
|
|
|
// printInit 欄位
|
|
//var printInitValue = printInit.Text.Trim();
|
|
//activity.print_init = !string.IsNullOrEmpty(printInitValue) ? printInitValue : null;
|
|
|
|
activity.kind = Val(kind.Value);
|
|
activity.category_kind = Val(category_kind.Value);
|
|
activity.reg_time = DateTime.Now;
|
|
_db.activities.Add(activity);
|
|
_db.SaveChanges();
|
|
int _id = activity.num;
|
|
if (_id > 0)
|
|
{
|
|
Model.admin_log admin_log = new Model.admin_log();
|
|
admin_log.writeLog(admin.info.u_id, (int)Model.admin_log.Systems.Activity, (int)Model.admin_log.Status.Insert, subject.Text);
|
|
|
|
Response.Redirect("index.aspx");
|
|
}
|
|
else
|
|
{
|
|
L_msg.Type = alert_type.danger;
|
|
L_msg.Text = "Error";
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
L_msg.Type = alert_type.danger;
|
|
L_msg.Text = "操作失敗";
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 資料修改
|
|
|
|
protected void edit_Click(object sender, EventArgs e)
|
|
{
|
|
if (Page.IsValid)
|
|
{
|
|
L_msg.Text = "";
|
|
|
|
int _num = Val(Request["num"]);
|
|
Model.activity activity = _db.activities.Where(q => q.num == _num).FirstOrDefault(); // 修改
|
|
if (activity != null)
|
|
{
|
|
try
|
|
{
|
|
foreach (Control obj in cardBodyPanel.Controls)
|
|
{
|
|
if (obj is TextBox)
|
|
{
|
|
var ObjValue = activity.GetType().GetProperty(obj.ID);
|
|
var textBox = (TextBox)obj;
|
|
if (!isStrNull(textBox.Text))
|
|
{
|
|
if (textBox.TextMode == TextBoxMode.Date)
|
|
ObjValue.SetValue(activity, selectDate(textBox));
|
|
else
|
|
ObjValue.SetValue(activity, ((TextBox)obj).Text.Trim());
|
|
}
|
|
else
|
|
ObjValue.SetValue(activity, null);
|
|
}
|
|
else if (obj is DropDownList)
|
|
{
|
|
var ObjValue = activity.GetType().GetProperty(obj.ID);
|
|
var dropDown = (DropDownList)obj;
|
|
if (!isStrNull(dropDown.SelectedValue))
|
|
{
|
|
if (!isStrNull(dropDown.Attributes["data-int"]) && ValString(dropDown.Attributes["data-int"]).Equals("Y"))
|
|
ObjValue.SetValue(activity, Val(dropDown.SelectedValue));
|
|
else
|
|
ObjValue.SetValue(activity, dropDown.SelectedValue);
|
|
}
|
|
else
|
|
ObjValue.SetValue(activity, null);
|
|
}
|
|
}
|
|
|
|
// printInit 欄位
|
|
//var printInitValue = printInit.Text.Trim();
|
|
//activity.print_init = !string.IsNullOrEmpty(printInitValue) ? printInitValue : null;
|
|
|
|
activity.category_kind = Val(category_kind.Value);
|
|
_db.SaveChanges();
|
|
|
|
Model.admin_log admin_log = new Model.admin_log();
|
|
admin_log.writeLog(admin.info.u_id, (int)Model.admin_log.Systems.Activity, (int)Model.admin_log.Status.Update, subject.Text);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
L_msg.Type = alert_type.danger;
|
|
L_msg.Text = "操作失敗";
|
|
}
|
|
|
|
Response.Redirect("index.aspx?page=" + Convert.ToString(Request["page"]));
|
|
}
|
|
else
|
|
{
|
|
L_msg.Type = alert_type.danger;
|
|
L_msg.Text = "查無資料";
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
} |