Files
17168ERP/web/admin/Templates/TBS5ADM001/uc/nav.ascx.cs
2025-08-29 01:27:25 +08:00

168 lines
6.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class admin_Templates_TBS5ADM001_uc_nav : MyWeb.web_uc, MyWeb.config.MenuNav
{
public MyWeb.admin admin = new MyWeb.admin();
private Model.ezEntities _db = new Model.ezEntities();
protected void Page_Load(object sender, EventArgs e)
{
admin.isLoign();
MyWeb.master m = (MyWeb.master)Page.Master;
pageTitle.Text = m.company.name;
pageTitle.NavigateUrl = "~/admin/index2.aspx";
if (!IsPostBack)
{
//設計師模式不可打卡
if(admin.info.u_id == "Designer")
{
attenAddLi.Visible = false;
attenOutLi.Visible = false;
}
//判斷考勤IP
List<string> IPs = new List<string>();
string[] ips = System.Configuration.ConfigurationManager.AppSettings["attendancesIP"].ToString().Split(',');
if (ips.Length > 0)
{
bool success = false;
for (int i = 0; i <= ips.Length - 1; i++)
IPs.Add(ips[i]);
string myip = MyWeb.ip.Get();
if (IPs.Count > 0)
foreach (string IP in IPs)
if (myip.IndexOf(IP) == 0)
success = true;
if (!success)
{
attenAddLi.Visible = false;
attenOutLi.Visible = false;
}
}
}
}
protected void logout_Click(object sender, EventArgs e)
{
admin.ClearInfo();
Response.Redirect("~/admin/index.aspx");
}
public void InitNav(List<string> nItem)
{
breadCrumb.DataSource = nItem;
breadCrumb.DataBind();
this.Page.Title = String.Join("-",nItem.ToArray());
}
#region
protected void attenAdd_Click(object sender, EventArgs e)
{
int hr = _db.members.Where(q => q.admin_num == admin.info.num).Select(q => q.num).FirstOrDefault(); //人員num
//檢查是否已打卡
var qry = _db.member_check.Where(q => q.mem_num == hr);
qry = qry.Where(q => q.check_type == (int)Model.member.attendances.type.Start);
qry = qry.Where(q => q.check_date == DateTime.Today);
Model.member_check member_check = qry.FirstOrDefault();
if (member_check != null)
{
//已打卡
ScriptManager.RegisterStartupScript(Page, GetType(), "JsStatus", "msgtop('重複打卡','" + MyWeb.function.msgIcon.warning + "')", true);
}
else
{
if (hr != 0)
{
member_check = new Model.member_check();
member_check.login_ip = Request.UserHostAddress;
member_check.login_type = (int)Model.member.attendances.login.Account;
member_check.mem_num = hr;
member_check.check_type = (int)Model.member.attendances.type.Start;
member_check.check_date = DateTime.Today;
member_check.check_time = TimeSpan.Parse(DateTime.Now.ToString("HH:mm"));
try
{
_db.member_check.Add(member_check);
_db.SaveChanges();
ScriptManager.RegisterStartupScript(Page, GetType(), "JsStatus", "msgtop('打卡成功','" + MyWeb.function.msgIcon.success + "')", true);
}
catch (Exception ex)
{
ScriptManager.RegisterStartupScript(Page, GetType(), "JsStatus", "msgtop('打卡失敗','" + MyWeb.function.msgIcon.error + "')", true);
}
}
else
{
//未建立系統帳號
ScriptManager.RegisterStartupScript(Page, GetType(), "JsStatus", "msgtop('人員資料請先綁定系統帳號','" + MyWeb.function.msgIcon.warning + "')", true);
}
}
}
#endregion
#region
protected void attenOut_Click(object sender, EventArgs e)
{
int hr = _db.members.Where(q => q.admin_num == admin.info.num).Select(q => q.num).FirstOrDefault(); //人員num
//檢查是否已打卡
var qry = _db.member_check.Where(q => q.mem_num == hr);
qry = qry.Where(q => q.check_type == (int)Model.member.attendances.type.GetOff);
qry = qry.Where(q => q.check_date == DateTime.Today);
Model.member_check member_check = qry.FirstOrDefault();
if (member_check != null)
{
//已打卡
ScriptManager.RegisterStartupScript(Page, GetType(), "JsStatus", "msgtop('重複打卡','" + MyWeb.function.msgIcon.warning + "')", true);
}
else
{
if (hr != 0)
{
member_check = new Model.member_check();
member_check.login_ip = Request.UserHostAddress;
member_check.login_type = (int)Model.member.attendances.login.Account;
member_check.mem_num = hr;
member_check.check_type = (int)Model.member.attendances.type.GetOff;
member_check.check_date = DateTime.Today;
member_check.check_time = TimeSpan.Parse(DateTime.Now.ToString("HH:mm"));
try
{
_db.member_check.Add(member_check);
_db.SaveChanges();
ScriptManager.RegisterStartupScript(Page, GetType(), "JsStatus", "msgtop('打卡成功','" + MyWeb.function.msgIcon.success + "')", true);
}
catch (Exception ex)
{
ScriptManager.RegisterStartupScript(Page, GetType(), "JsStatus", "msgtop('打卡失敗','" + MyWeb.function.msgIcon.error + "')", true);
}
}
else
{
//未建立系統帳號
ScriptManager.RegisterStartupScript(Page, GetType(), "JsStatus", "msgtop('人員資料請先綁定系統帳號','" + MyWeb.function.msgIcon.warning + "')", true);
}
}
}
#endregion
}