Files
17168ERP/web/admin/activity/reg.aspx.cs
2025-08-29 01:27:25 +08:00

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
}