migrate to new git
This commit is contained in:
11
web/admin/Templates/TBS5ADM001/uc/footer.ascx
Normal file
11
web/admin/Templates/TBS5ADM001/uc/footer.ascx
Normal file
@@ -0,0 +1,11 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="footer.ascx.cs" Inherits="admin_Templates_TBS5ADM001_uc_footer" %>
|
||||
<footer class="py-4 bg-light mt-auto">
|
||||
<div class="container-fluid px-4">
|
||||
<div class="d-flex align-items-center justify-content-between small">
|
||||
<div class="text-muted">Copyright © 17168ERP</div>
|
||||
<div>
|
||||
<a href="#">17168ERP</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
14
web/admin/Templates/TBS5ADM001/uc/footer.ascx.cs
Normal file
14
web/admin/Templates/TBS5ADM001/uc/footer.ascx.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
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_footer : System.Web.UI.UserControl
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
112
web/admin/Templates/TBS5ADM001/uc/menu.ascx
Normal file
112
web/admin/Templates/TBS5ADM001/uc/menu.ascx
Normal file
@@ -0,0 +1,112 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="menu.ascx.cs" Inherits="admin_Templates_TBS5ADM001_uc_sideNav" %>
|
||||
<nav class="sb-sidenav accordion sb-sidenav-light pt-2" id="sidenavAccordion">
|
||||
<div class="sb-sidenav-menu">
|
||||
<div class="nav" id="sideNav_1">
|
||||
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
|
||||
<ItemTemplate>
|
||||
<a class="nav-link collapsed num<%#Eval("num") %>" href="#"
|
||||
data-bs-toggle="collapse" data-bs-target="#navitem_<%#Eval("num") %>" aria-expanded="false" aria-controls="navitem_<%#Eval("num") %>">
|
||||
<div class="sb-nav-link-icon"><i class="mdi mdi-folder"></i></div>
|
||||
<%#Eval("title") %>
|
||||
<div class="sb-sidenav-collapse-arrow"><i class="mdi mdi-chevron-down"></i></div>
|
||||
</a>
|
||||
<div class="collapse" id="navitem_<%#Eval("num") %>" aria-labelledby="headingOne"
|
||||
data-bs-parent="#sidenavAccordion">
|
||||
<nav class="sb-sidenav-menu-nested nav">
|
||||
<asp:Repeater ID="Repeater2" runat="server" OnItemDataBound="Repeater2_ItemDataBound">
|
||||
<ItemTemplate>
|
||||
<a class="nav-link" href="<%#ResolveUrl(ValString(Eval("url"))) %>"
|
||||
target="<%#(ValString(Eval("target"))=="B"?"_blank":"_self") %>">
|
||||
<%#Eval("title") %></a>
|
||||
</ItemTemplate>
|
||||
</asp:Repeater>
|
||||
</nav>
|
||||
</div>
|
||||
</ItemTemplate>
|
||||
</asp:Repeater>
|
||||
</div>
|
||||
<div class="nav d-none">
|
||||
<div class="sb-sidenav-menu-heading">Core</div>
|
||||
<a class="nav-link" href="index.html">
|
||||
<div class="sb-nav-link-icon"><i class="mdi mdi-gauge"></i></div>
|
||||
Dashboard
|
||||
</a>
|
||||
<div class="sb-sidenav-menu-heading">Interface</div>
|
||||
<a class="nav-link collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#collapseLayouts" aria-expanded="false" aria-controls="collapseLayouts">
|
||||
<div class="sb-nav-link-icon"><i class="mdi mdi-television-guide"></i></div>
|
||||
Layouts
|
||||
|
||||
<div class="sb-sidenav-collapse-arrow"><i class="mdi mdi-chevron-down"></i></div>
|
||||
</a>
|
||||
<div class="collapse" id="collapseLayouts" aria-labelledby="headingOne" data-bs-parent="#sidenavAccordion">
|
||||
<nav class="sb-sidenav-menu-nested nav">
|
||||
<a class="nav-link" href="layout-static.html">Static Navigation</a>
|
||||
<a class="nav-link" href="layout-sidenav-light.html">Light Sidenav</a>
|
||||
</nav>
|
||||
</div>
|
||||
<a class="nav-link collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#collapsePages" aria-expanded="false" aria-controls="collapsePages">
|
||||
<div class="sb-nav-link-icon"><i class="mdi mdi-book-open-blank-variant"></i></div>
|
||||
Pages
|
||||
<div class="sb-sidenav-collapse-arrow"><i class="mdi mdi-chevron-down"></i></div>
|
||||
</a>
|
||||
<div class="collapse" id="collapsePages" aria-labelledby="headingTwo" data-bs-parent="#sidenavAccordion">
|
||||
<nav class="sb-sidenav-menu-nested nav accordion" id="sidenavAccordionPages">
|
||||
<a class="nav-link collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#pagesCollapseAuth" aria-expanded="false" aria-controls="pagesCollapseAuth">Authentication
|
||||
|
||||
<div class="sb-sidenav-collapse-arrow"><i class="mdi mdi-chevron-down"></i></div>
|
||||
</a>
|
||||
<div class="collapse" id="pagesCollapseAuth" aria-labelledby="headingOne" data-bs-parent="#sidenavAccordionPages">
|
||||
<nav class="sb-sidenav-menu-nested nav">
|
||||
<a class="nav-link" href="login.html">Login</a>
|
||||
<a class="nav-link" href="register.html">Register</a>
|
||||
<a class="nav-link" href="password.html">Forgot Password</a>
|
||||
</nav>
|
||||
</div>
|
||||
<a class="nav-link collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#pagesCollapseError" aria-expanded="false" aria-controls="pagesCollapseError">Error
|
||||
|
||||
<div class="sb-sidenav-collapse-arrow"><i class="mdi mdi-chevron-down"></i></div>
|
||||
</a>
|
||||
<div class="collapse" id="pagesCollapseError" aria-labelledby="headingOne" data-bs-parent="#sidenavAccordionPages">
|
||||
<nav class="sb-sidenav-menu-nested nav">
|
||||
<a class="nav-link" href="401.html">401 Page</a>
|
||||
<a class="nav-link" href="404.html">404 Page</a>
|
||||
<a class="nav-link" href="500.html">500 Page</a>
|
||||
<hr />
|
||||
<a class="nav-link" href="401.html">401 Page</a>
|
||||
<a class="nav-link" href="404.html">404 Page</a>
|
||||
<a class="nav-link" href="500.html">500 Page</a>
|
||||
<a class="nav-link" href="401.html">401 Page</a>
|
||||
<a class="nav-link" href="404.html">404 Page</a>
|
||||
<a class="nav-link" href="500.html">500 Page</a>
|
||||
<a class="nav-link" href="401.html">401 Page</a>
|
||||
<a class="nav-link" href="404.html">404 Page</a>
|
||||
<a class="nav-link" href="500.html">500 Page</a>
|
||||
<a class="nav-link" href="401.html">401 Page</a>
|
||||
<a class="nav-link" href="404.html">404 Page</a>
|
||||
<a class="nav-link" href="500.html">500 Page</a>
|
||||
<a class="nav-link" href="401.html">401 Page</a>
|
||||
<a class="nav-link" href="404.html">404 Page</a>
|
||||
<a class="nav-link" href="500.html">500 Page</a>
|
||||
</nav>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="sb-sidenav-menu-heading">Addons</div>
|
||||
<a class="nav-link" href="charts.html">
|
||||
<div class="sb-nav-link-icon"><i class="mdi mdi-chart-areaspline-variant"></i></div>
|
||||
Charts
|
||||
</a>
|
||||
<a class="nav-link" href="tables.html">
|
||||
<div class="sb-nav-link-icon"><i class="mdi mdi-table"></i></div>
|
||||
Tables
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sb-sidenav-footer">
|
||||
<div class="small">名稱:</div>
|
||||
17168ERP
|
||||
</div>
|
||||
</nav>
|
||||
<asp:HiddenField ID="rtmp" runat="server" />
|
||||
<asp:HiddenField ID="HiddenField1" runat="server" />
|
||||
<asp:Literal ID="ExpandMenu" runat="server"></asp:Literal>
|
||||
156
web/admin/Templates/TBS5ADM001/uc/menu.ascx.cs
Normal file
156
web/admin/Templates/TBS5ADM001/uc/menu.ascx.cs
Normal file
@@ -0,0 +1,156 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Data.OleDb;
|
||||
|
||||
public partial class admin_Templates_TBS5ADM001_uc_sideNav :
|
||||
MyWeb.web_uc, MyWeb.config.IMenu
|
||||
{
|
||||
string PageUrl = ""; //目前後台的路徑
|
||||
string Power = ""; //帳號權限
|
||||
bool isDesigner = false;
|
||||
List<string> nItem = new List<string>();
|
||||
int setNav = 0;
|
||||
DataTable menuDt = new DataTable();
|
||||
private string item_collapsed { get; set; }
|
||||
private string item_active { get; set; }
|
||||
|
||||
public void Data(DataTable dt)
|
||||
{
|
||||
menuDt = dt;
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
MyWeb.admin admin = new MyWeb.admin();
|
||||
if (admin.isLoign() && HttpContext.Current.Request.RawUrl.ToLower().IndexOf("admin/index.aspx") == -1)
|
||||
{
|
||||
Power = admin.info.power;
|
||||
if (Left(Power, 1) == ",") { Power = Right(Power, Power.Length - 1); }
|
||||
if (Right(Power, 1) == ",") { Power = Left(Power, Power.Length - 1); }
|
||||
|
||||
string[] UrlTmp = Request.Url.AbsolutePath.ToLower().Split('/');
|
||||
PageUrl = UrlTmp[UrlTmp.Length - 2] + "/" + UrlTmp[UrlTmp.Length - 1];
|
||||
|
||||
if (admin.info.u_id == "Designer" && admin.info.group == "EZ") { isDesigner = true; }
|
||||
|
||||
Repeater1.DataSource = MenuRows();
|
||||
Repeater1.DataBind();
|
||||
|
||||
((MyWeb.config.MenuNav)Page.Master.FindControl("nav")).InitNav(nItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
protected DataTable MenuRows(int root = 0)
|
||||
{
|
||||
DataTable dt = new DataTable();
|
||||
MyWeb.sql sql = new MyWeb.sql();
|
||||
OleDbConnection sqlConn = sql.conn(db, p_name);
|
||||
try
|
||||
{
|
||||
sqlConn.Open();
|
||||
OleDbCommand sqlCmd = new OleDbCommand("", sqlConn);
|
||||
|
||||
if (!isDesigner)
|
||||
{
|
||||
//非設計師模式檢查權限
|
||||
if (!isStrNull(Power))
|
||||
{
|
||||
sqlCmd.CommandText = "SELECT * FROM [item] Where root=? and num in (" + Power + ") order by range";
|
||||
sqlCmd.Parameters.Add(new OleDbParameter("root", root));
|
||||
dt = sql.dataTable(sqlCmd);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sqlCmd.CommandText = "SELECT * FROM [item] Where root=? order by range";
|
||||
sqlCmd.Parameters.Add(new OleDbParameter("root", root));
|
||||
dt = sql.dataTable(sqlCmd);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//Response.Write(ex.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
sqlConn.Close(); sqlConn.Dispose();
|
||||
}
|
||||
return dt;
|
||||
}
|
||||
|
||||
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
DataRowView row = (DataRowView)e.Item.DataItem;
|
||||
HiddenField1.Value = ValString(row["num"]);
|
||||
rtmp.Value = ValString(row["title"]);
|
||||
|
||||
if (menuDt.Rows.Count > 0)
|
||||
{
|
||||
DataTable dt = menuDt.Copy();
|
||||
for (int i = dt.Rows.Count - 1; i >= 0; i--) {
|
||||
if (dt.Rows[i]["root"].ToString() != HiddenField1.Value) { dt.Rows.Remove(dt.Rows[i]); }
|
||||
}
|
||||
if (dt.Rows.Count > 0)
|
||||
{
|
||||
Repeater Repeater2 = (Repeater)e.Item.FindControl("Repeater2");
|
||||
Repeater2.DataSource = dt;
|
||||
Repeater2.DataBind();
|
||||
Repeater2.DataBind();
|
||||
dt.Dispose();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected void Repeater2_ItemDataBound(object sender, RepeaterItemEventArgs e)
|
||||
{
|
||||
DataRowView row = (DataRowView)e.Item.DataItem;
|
||||
if (ValString(row["url"]).ToLower().IndexOf(PageUrl) > -1)
|
||||
{
|
||||
setNav++;
|
||||
}
|
||||
else if (ValString(row["other_url"]).ToLower().IndexOf(PageUrl) > -1)
|
||||
{
|
||||
setNav++;
|
||||
}
|
||||
|
||||
if (setNav == 1)
|
||||
{
|
||||
setNav++;
|
||||
ExpandMenu.Text = "<input type=\"hidden\" id=\"ExpandMenuNum\" value=\"" + HiddenField1.Value + "\" />";
|
||||
nItem.Add(rtmp.Value);
|
||||
if ((PageUrl.IndexOf("reg.aspx") > -1 || PageUrl.IndexOf("edit.aspx") > -1) && !isStrNull(Request["num"]))
|
||||
{
|
||||
nItem.Add(ValString(row["title"]).Replace("登錄", "修改").Replace("查詢", "修改").Replace("新增", "修改"));
|
||||
}
|
||||
else
|
||||
{
|
||||
nItem.Add(ValString(row["title"]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
69
web/admin/Templates/TBS5ADM001/uc/nav.ascx
Normal file
69
web/admin/Templates/TBS5ADM001/uc/nav.ascx
Normal file
@@ -0,0 +1,69 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="nav.ascx.cs" Inherits="admin_Templates_TBS5ADM001_uc_nav" %>
|
||||
<nav class="sb-topnav navbar navbar-expand navbar-dark bg-dark ps-1 ps-md-2">
|
||||
<!-- Sidebar Toggle-->
|
||||
<button class="btn btn-link btn-sm order-0 me-0 bg-white bg-opacity-10 rounded-circle" id="sidebarToggle" href="#!">
|
||||
<i class="mdi mdi-menu"></i>
|
||||
</button>
|
||||
<!-- Navbar Brand-->
|
||||
<asp:HyperLink ID="pageTitle" runat="server" CssClass="navbar-brand ps-sm-2 me-2"></asp:HyperLink>
|
||||
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="<%=ResolveUrl("~/admin/index2.aspx") %>">
|
||||
<i class="mdi mdi-home"></i></a>
|
||||
</li>
|
||||
<asp:Repeater ID="breadCrumb" runat="server" ItemType="System.String" >
|
||||
<ItemTemplate>
|
||||
<li class="breadcrumb-item d-none d-lg-inline-block"><%# Item %></li>
|
||||
</ItemTemplate>
|
||||
</asp:Repeater>
|
||||
</ol>
|
||||
</nav>
|
||||
<!-- Navbar Search-->
|
||||
<div class="d-none d-md-none form-inline ms-auto me-0 me-md-3 my-2 my-md-0">
|
||||
<div class="input-group rounded-pill overflow-hidden">
|
||||
<input class="form-control" type="text" placeholder="搜尋..." aria-label="搜尋..." aria-describedby="btnNavbarSearch" />
|
||||
<button class="btn btn-primary" id="btnNavbarSearch" type="button"><i class="mdi mdi-magnify"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Navbar-->
|
||||
<ul class="navbar-nav ms-auto ms-md-auto me-3 me-lg-4">
|
||||
<li class="nav-item me-2" id="search_btn">
|
||||
<a href="#search_panel" class="btn btn-outline-light rounded-pill" title="查詢"
|
||||
data-bs-toggle="offcanvas" data-bs-target="#offcanvasRight" aria-controls="offcanvasRight">
|
||||
<i class="mdi mdi-magnify"></i>查詢
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item dropdown bg-light bg-opacity-25 px-1 rounded-pill">
|
||||
<a class="nav-link dropdown-toggle text-white" id="navbarDropdown" href="#"
|
||||
role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="mdi mdi-account"></i>
|
||||
<span class="d-none d-md-inline"> <%=admin.info.u_id %></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-macos dropdown-menu-end" aria-labelledby="navbarDropdown">
|
||||
<li class="d-md-none dropdown-item text-muted">
|
||||
<i class="mdi mdi-card-account-details-outline text-primary me-2"></i> <%=admin.info.u_id %></li>
|
||||
<li class="d-md-none"><hr class="dropdown-divider" /></li>
|
||||
<li><a class="dropdown-item text-secondary" href="#!">
|
||||
<i class="mdi mdi-cog text-primary me-2"></i> 設定</a></li>
|
||||
<li><a class="dropdown-item text-secondary" href="#!">
|
||||
<i class="mdi mdi-bell-outline text-primary me-2"></i> 通知</a></li>
|
||||
<li><a class="dropdown-item text-secondary" href="#!">
|
||||
<i class="mdi mdi-help-circle-outline text-primary me-2"></i>說明</a></li>
|
||||
<li id="attenAddLi" runat="server">
|
||||
<asp:LinkButton ID="attenAdd" runat="server" CausesValidation="false" OnClick="attenAdd_Click" CssClass="dropdown-item text-secondary">
|
||||
<i class="mdi mdi-account-check text-primary me-2"></i> 上班</asp:LinkButton>
|
||||
</li>
|
||||
<li id="attenOutLi" runat="server">
|
||||
<asp:LinkButton ID="attenOut" runat="server" CausesValidation="false" OnClick="attenOut_Click" CssClass="dropdown-item text-secondary">
|
||||
<i class="mdi mdi-account-arrow-down text-primary me-2"></i> 下班</asp:LinkButton>
|
||||
</li>
|
||||
<li><hr class="dropdown-divider" /></li>
|
||||
<li>
|
||||
<asp:LinkButton ID="logout" OnClick="logout_Click" runat="server" CausesValidation="false" CssClass="dropdown-item text-secondary">
|
||||
<i class="mdi mdi-power text-primary me-2"></i> 登出</asp:LinkButton>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
168
web/admin/Templates/TBS5ADM001/uc/nav.ascx.cs
Normal file
168
web/admin/Templates/TBS5ADM001/uc/nav.ascx.cs
Normal file
@@ -0,0 +1,168 @@
|
||||
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
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user