update from old git

This commit is contained in:
2025-09-04 18:30:54 +08:00
parent af2c152ef6
commit 61502cb3bd
46 changed files with 6420 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="edit.aspx.cs" Inherits="admin_guadan_guadantime_edit" %>
<asp:Content ID="Content1" ContentPlaceHolderID="page_header" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="page_nav" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div class="container mt-4">
<h3 class="mb-4">编辑挂单时间设置</h3>
<asp:Panel CssClass="card p-4 shadow-sm">
<!-- 最早入住时间 -->
<div class="mb-3 row align-items-center">
<label class="col-sm-3 col-form-label">最早入住时间:</label>
<div class="col-sm-3">
<asp:DropDownList ID="ddlEarliestCheckIn" runat="server" CssClass="form-select"></asp:DropDownList>
</div>
</div>
<!-- 最晚退房时间 -->
<div class="mb-3 row align-items-center">
<label class="col-sm-3 col-form-label">最晚退房时间:</label>
<div class="col-sm-3">
<asp:DropDownList ID="ddlLatestCheckOut" runat="server" CssClass="form-select"></asp:DropDownList>
</div>
</div>
<!-- 是否可用 -->
<div class="mb-3 row align-items-center">
<label class="col-sm-3 col-form-label">是否可用:</label>
<div class="col-sm-3">
<asp:CheckBox ID="chkIsActive" runat="server" CssClass="form-check-input" />
</div>
</div>
<!-- 按钮 -->
<div class="mt-4">
<asp:Button ID="btnSave" runat="server" Text="保存" CssClass="btn btn-primary me-2" OnClick="btnSave_Click" />
<asp:HyperLink ID="hlBack" runat="server" NavigateUrl="timeindex.aspx" Text="返回列表" CssClass="btn btn-secondary" />
</div>
<!-- 消息提示 -->
<div id="divMessage" runat="server" class="mt-3 text-success"></div>
</asp:Panel>
</div>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="offCanvasRight" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="footer_script" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,100 @@
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_guadan_guadantime_edit : MyWeb.config
{
private Model.ezEntities _db = new Model.ezEntities();
private Guid SettingId
{
get
{
if (Guid.TryParse(Request.QueryString["id"], out Guid id))
return id;
else
return Guid.Empty;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindTimeDropdowns();
if (SettingId != Guid.Empty)
{
LoadSetting();
}
else
{
divMessage.InnerText = "未指定要编辑的记录。";
btnSave.Enabled = false;
}
}
}
private void BindTimeDropdowns()
{
ddlEarliestCheckIn.Items.Clear();
ddlLatestCheckOut.Items.Clear();
for (int h = 0; h < 24; h++)
{
ddlEarliestCheckIn.Items.Add($"{h:D2}:00");
ddlEarliestCheckIn.Items.Add($"{h:D2}:30");
ddlLatestCheckOut.Items.Add($"{h:D2}:00");
ddlLatestCheckOut.Items.Add($"{h:D2}:30");
}
}
private void LoadSetting()
{
var setting = _db.GuadanTimeSetting.FirstOrDefault(x => x.Id == SettingId);
if (setting != null)
{
ddlEarliestCheckIn.SelectedValue = setting.EarliestCheckIn;
ddlLatestCheckOut.SelectedValue = setting.LatestCheckOut;
chkIsActive.Checked = setting.IsActive;
}
else
{
divMessage.InnerText = "找不到指定记录。";
btnSave.Enabled = false;
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
if (SettingId == Guid.Empty)
return;
try
{
{
var setting = _db.GuadanTimeSetting.FirstOrDefault(x => x.Id == SettingId);
if (setting != null)
{
setting.EarliestCheckIn = ddlEarliestCheckIn.SelectedValue;
setting.LatestCheckOut = ddlLatestCheckOut.SelectedValue;
setting.IsActive = chkIsActive.Checked;
setting.UpdatedAt = DateTime.Now;
_db.SaveChanges();
divMessage.InnerText = "保存成功!";
}
else
{
divMessage.InnerText = "记录不存在,保存失败。";
}
}
}
catch (Exception ex)
{
divMessage.InnerText = "保存失败:" + ex.Message;
}
}
}

View File

@@ -0,0 +1,40 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="timeindex.aspx.cs" Inherits="admin_guadan_guadantime_timeindex" %>
<asp:Content ID="Content1" ContentPlaceHolderID="page_header" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="page_nav" Runat="Server">
<nav>
<a href="timeset.aspx" class="btn btn-primary">
新建时间参数
</a>
</nav>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<h3>挂单时间设置列表</h3>
<div id="divMessage" runat="server" style="color:red; margin-top:10px;"></div>
<asp:GridView ID="gvTimeSettings" runat="server" AutoGenerateColumns="False"
CssClass="table table-bordered" OnRowCommand="gvTimeSettings_RowCommand">
<Columns>
<asp:BoundField DataField="EarliestCheckIn" HeaderText="最早入住时间" />
<asp:BoundField DataField="LatestCheckOut" HeaderText="最晚退房时间" />
<asp:BoundField DataField="IsActive" HeaderText="是否可用" />
<asp:BoundField DataField="CreatedAt" HeaderText="创建时间" DataFormatString="{0:yyyy-MM-dd HH:mm}" />
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:HyperLink ID="hlEdit" runat="server" Text="编辑"
NavigateUrl='<%# "edit.aspx?id=" + Eval("Id") %>' CssClass="btn btn-sm btn-primary"></asp:HyperLink>
<asp:Button ID="btnDelete" runat="server" Text="删除" CommandName="DeleteItem"
CommandArgument='<%# Eval("Id") %>' CssClass="btn btn-sm btn-danger"
OnClientClick="return confirm('确定删除这条记录吗?');" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="offCanvasRight" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="footer_script" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Remoting.Messaging;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class admin_guadan_guadantime_timeindex : MyWeb.config
{
private Model.ezEntities _db = new Model.ezEntities();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindTimeSettings();
}
}
private void BindTimeSettings()
{
{
// 取得最近所有挂单时间设置
var list = _db.GuadanTimeSetting
.OrderByDescending(x => x.CreatedAt)
.ToList();
gvTimeSettings.DataSource = list;
gvTimeSettings.DataBind();
}
}
protected void gvTimeSettings_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "DeleteItem")
{
Guid id = Guid.Parse(e.CommandArgument.ToString());
try
{
{
var setting = _db.GuadanTimeSetting.FirstOrDefault(x => x.Id == id);
if (setting != null)
{
_db.GuadanTimeSetting.Remove(setting);
_db.SaveChanges();
}
}
// 重新绑定列表
BindTimeSettings();
}
catch (Exception ex)
{
// 显示错误信息
divMessage.InnerText = "删除失败:" + ex.Message;
}
}
}
}

View File

@@ -0,0 +1,36 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="timeset.aspx.cs" Inherits="admin_guadan_guadantime_timeset" %>
<asp:Content ID="Content1" ContentPlaceHolderID="page_header" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="page_nav" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div>
<h3>入住时间設定</h3>
<div>
<label>最早入住時間:</label>
<asp:DropDownList ID="ddlEarliestCheckIn" runat="server"></asp:DropDownList>
</div>
<div>
<label>最晚退房時間:</label>
<asp:DropDownList ID="ddlLatestCheckOut" runat="server"></asp:DropDownList>
</div>
<div style="margin-top:10px;">
<asp:Button ID="btnSave" runat="server" Text="保存" OnClick="btnSave_Click" />
</div>
<div id="divMessage" runat="server" style="color:green; margin-top:10px;"></div>
</div>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="offCanvasRight" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="footer_script" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,65 @@
using Model;
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_guadan_guadantime_timeset : MyWeb.config
{
private Model.ezEntities _db = new Model.ezEntities();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// 預設時間
// 初始化半小时间隔
for (int h = 0; h < 24; h++)
{
ddlEarliestCheckIn.Items.Add(new System.Web.UI.WebControls.ListItem($"{h:D2}:00"));
ddlEarliestCheckIn.Items.Add(new System.Web.UI.WebControls.ListItem($"{h:D2}:30"));
ddlLatestCheckOut.Items.Add(new System.Web.UI.WebControls.ListItem($"{h:D2}:00"));
ddlLatestCheckOut.Items.Add(new System.Web.UI.WebControls.ListItem($"{h:D2}:30"));
}
// 預設值
ddlEarliestCheckIn.SelectedValue = "08:00";
ddlLatestCheckOut.SelectedValue = "14:00";
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
try
{
if(_db.GuadanTimeSetting.Where( a => a.IsActive == true).Count() > 0)
{
divMessage.InnerText = "已经存在有效的时间设置";
return;
}
string earliest = ddlEarliestCheckIn.SelectedValue;
string latest = ddlLatestCheckOut.SelectedValue;
var setting = new GuadanTimeSetting
{
Id = Guid.NewGuid(),
EarliestCheckIn = earliest,
LatestCheckOut = latest,
IsActive = true,
CreatedAt = DateTime.Now
};
_db.GuadanTimeSetting.Add(setting);
_db.SaveChanges();
// TODO: 保存到資料庫
divMessage.InnerText = $"保存成功!最早入住:{earliest}, 最晚退房:{latest}";
}
catch (Exception ex)
{
divMessage.InnerText = "保存失败:" + ex.Message;
}
}
}