168 lines
6.3 KiB
C#
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
|
|
|
|
|
|
|
|
} |