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

187 lines
6.1 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_hr_attendances : MyWeb.config
{
private Model.ezEntities _db = new Model.ezEntities();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitEnumsOptions<Model.member.attendances.type>(check_type); //出勤型態
if (isStrNull(Request["num"]))
{
}
else
{
int _num = Val(Request["num"]);
var qry = _db.member_check.AsEnumerable();
var prod = qry.Where(q => q.num == _num).FirstOrDefault();
if (prod != null)
{
try //TODO: 迴圈裡的try catch可能導致效能問題
{
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 ex)
{
}
if (prod.mem_num.HasValue)
{
mem_num_txt.Value = prod.member.u_name.ToString();
mem_num.Value = prod.mem_num.ToString();
}
ip.Text = prod.login_ip;
edit.Visible = true;
goback.Visible = true;
add.Visible = false;
}
else
{
Response.Redirect("index2.aspx");
}
}
}
}
protected void goback_Click(object sender, EventArgs e)
{
Response.Redirect("index2.aspx?page=" + Convert.ToString(Request["page"]));
}
#region
protected void add_Click(object sender, EventArgs e)
{
if (Page.IsValid) {
L_msg.Text = "";
Model.member_check member_check = new Model.member_check();
member_check.login_ip = Request.UserHostAddress;
member_check.login_type = (int)Model.member.attendances.login.Enter;
member_check.mem_num = Val(mem_num.Value);
member_check.check_type = Val(check_type.SelectedValue);
if (!isStrNull(check_date.Text) && isDate(check_date.Text))
member_check.check_date = ValDate(check_date.Text);
if (!isStrNull(check_time.Text))
member_check.check_time = TimeSpan.Parse(check_time.Text);
if (!isStrNull(hour.Text))
member_check.hour = Val(hour.Text);
member_check.demo = demo.Text;
try
{
_db.member_check.Add(member_check);
_db.SaveChanges();
Response.Redirect("index2.aspx");
}
catch (Exception ex)
{
//L_msg.Text = ex.Message;
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.member_check member_check = _db.member_check.Where(q => q.num == _num).FirstOrDefault();
if (member_check != null)
{
member_check.login_type = (int)Model.member.attendances.login.Enter;
member_check.mem_num = Val(mem_num.Value);
member_check.check_type = Val(check_type.SelectedValue);
if (!isStrNull(check_date.Text) && isDate(check_date.Text))
member_check.check_date = ValDate(check_date.Text);
if (!isStrNull(check_time.Text))
member_check.check_time = TimeSpan.Parse(check_time.Text);
if (!isStrNull(hour.Text))
member_check.hour = Val(hour.Text);
member_check.demo = demo.Text;
}
try
{
_db.SaveChanges();
Response.Redirect("index2.aspx?page=" + Convert.ToString(Request["page"]));
}
catch (Exception ex)
{
L_msg.Type = alert_type.danger;
//L_msg.Text = ex.InnerException.Message;
L_msg.Text = "操作失敗";
}
}
}
#endregion
}