187 lines
6.1 KiB
C#
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
|
|
|
|
|
|
} |