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 IPs = new List(); 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 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 }