C# 用C语言制作时间表的方法#
我正在为我宿舍的洗衣机开发一个预订系统。 它将是一个ASP.NETMVC应用程序。 我有一个类WashingTime谁应该被放在一个表中,以便用户可以点击他们,并预订一个清洗时间 WashingTime类如下所示:C# 用C语言制作时间表的方法#,c#,asp.net,asp.net-mvc,razor,C#,Asp.net,Asp.net Mvc,Razor,我正在为我宿舍的洗衣机开发一个预订系统。 它将是一个ASP.NETMVC应用程序。 我有一个类WashingTime谁应该被放在一个表中,以便用户可以点击他们,并预订一个清洗时间 WashingTime类如下所示: public class WashTime { public int ID { get; set; } public DateTime Time { get; set; } public bool IsBooked { get; set; } p
public class WashTime
{
public int ID { get; set; }
public DateTime Time { get; set; }
public bool IsBooked { get; set; }
public string Machine { get; set; }
public int RoomNumber { get; set; }
}
public ActionResult Index()
{
List<WashTime> times = db.WashTimes.Where(x => x.Time.Year == DateTime.Today.Year).ToList();
List<WashTime> thisWeek = times.Where(time => HelperFunctions.GetIso8601WeekOfYear(time.Time) == HelperFunctions.GetIso8601WeekOfYear(DateTime.Today)).ToList();
if (thisWeek.Count<(126*2))
{
FillWeek();
times = db.WashTimes.Where(x => x.Time.Year == DateTime.Today.Year).ToList();
thisWeek = times.Where(time => HelperFunctions.GetIso8601WeekOfYear(time.Time) == HelperFunctions.GetIso8601WeekOfYear(DateTime.Today)).ToList();
}
ViewBag.Weeknumber = HelperFunctions.GetIso8601WeekOfYear(DateTime.Now);
return View(thisWeek.ToList());
}
我使用MS SQL数据库作为后端。
我有时间表和预订系统,但我知道我这样做的方式不是最聪明的,所以视图(时间表)需要相当长的时间才能加载。
在视图中,我使用了大量的Razor来检查模型对象是否已预订-是否有更智能的方法来执行此操作,我认为一定有一种方法可以使用JavaScript检查此操作。
我的视图代码是:
@for (int i = 6; i < 24; i++)
{
<tr>
<th>@i.ToString():00 - @(1 + i):00</th>
<td>
<table class="col-xs-12">
<div class="inner-table">
<td>
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Monday && d.Machine == "Left").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Monday && d.Machine == "Left").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Monday && d.Machine == "Left").RoomNumber
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Monday && d.Machine == "Left").Machine
</div>
}
</div>
</td>
<td class="">
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Monday && d.Machine == "Right").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Monday && d.Machine == "Right").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Monday && d.Machine == "Right").RoomNumber
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Monday && d.Machine == "Right").Machine
</div>
}
</div>
</td>
</div>
</table>
</td>
<td>
<table class="no-padding col-xs-12">
<div class="inner-table">
<td>
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Tuesday && d.Machine == "Left").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Tuesday && d.Machine == "Left").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Tuesday && d.Machine == "Left").RoomNumber
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Tuesday && d.Machine == "Left").Machine
</div>
}
</div>
</td>
<td class="">
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Tuesday && d.Machine == "Right").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Tuesday && d.Machine == "Right").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Tuesday && d.Machine == "Right").RoomNumber
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Tuesday && d.Machine == "Right").Machine
</div>
}
</div>
</td>
</div>
</table>
</td>
<td>
<table class="no-padding col-xs-12">
<div class="inner-table">
<td>
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Wednesday && d.Machine == "Left").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Wednesday && d.Machine == "Left").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Wednesday && d.Machine == "Left").RoomNumber
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Wednesday && d.Machine == "Left").Machine
</div>
}
</div>
</td>
<td class="">
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Wednesday && d.Machine == "Right").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Wednesday && d.Machine == "Right").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Wednesday && d.Machine == "Right").RoomNumber
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Wednesday && d.Machine == "Right").Machine
</div>
}
</div>
</td>
</div>
</table>
</td>
<td>
<table class="no-padding col-xs-12">
<div class="inner-table">
<td>
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Thursday && d.Machine == "Left").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Thursday && d.Machine == "Left").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Thursday && d.Machine == "Left").RoomNumber
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Thursday && d.Machine == "Left").Machine
</div>
}
</div>
</td>
<td class="">
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Thursday && d.Machine == "Right").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Thursday && d.Machine == "Right").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Thursday && d.Machine == "Right").RoomNumber
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Thursday && d.Machine == "Right").Machine
</div>
}
</div>
</td>
</div>
</table>
</td>
<td>
<table class="no-padding col-xs-12">
<div class="inner-table">
<td>
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Friday && d.Machine == "Left").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Friday && d.Machine == "Left").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Friday && d.Machine == "Left").RoomNumber
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Friday && d.Machine == "Left").Machine
</div>
}
</div>
</td>
<td class="">
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Friday && d.Machine == "Right").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Friday && d.Machine == "Right").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Friday && d.Machine == "Right").RoomNumber
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Friday && d.Machine == "Right").Machine
</div>
}
</div>
</td>
</div>
</table>
</td>
<td>
<table class="no-padding col-xs-12">
<div class="inner-table">
<td>
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Saturday && d.Machine == "Left").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Saturday && d.Machine == "Left").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Saturday && d.Machine == "Left").RoomNumber
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Saturday && d.Machine == "Left").Machine
</div>
}
</div>
</td>
<td>
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Saturday && d.Machine == "Right").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Saturday && d.Machine == "Right").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Saturday && d.Machine == "Right").RoomNumber
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Saturday && d.Machine == "Right").Machine
</div>
}
</div>
</td>
</div>
</table>
</td>
<td>
<table class="no-padding col-xs-12">
<div class="inner-table">
<td>
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Sunday && d.Machine == "Left").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Sunday && d.Machine == "Left").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Sunday && d.Machine == "Left").Machine
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Sunday && d.Machine == "Left").Machine
</div>
}
</div>
</td>
<td>
<div class="rid">
<div id="ID" style="display: none;" data-value="@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Sunday && d.Machine == "Right").ID"></div>
@if (Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Sunday && d.Machine == "Right").IsBooked == true)
{
<div class="booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Sunday && d.Machine == "Right").Machine
</div>
}
else
{
<div class="not-booked">
@Model.First(d => d.Time.Hour == i && d.Time.DayOfWeek == DayOfWeek.Sunday && d.Machine == "Right").Machine
</div>
}
</div>
</td>
</div>
</table>
</td>
</tr>
(int i=6;i<24;i++)
{
@i、 ToString():00-@(1+i):00
@if(Model.First(d=>d.Time.Hour==i&&d.Time.DayOfWeek==DayOfWeek.Monday&&d.Machine==“Left”).IsBooked==true)
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.Monday&d.Machine==Left”).RoomNumber
}
其他的
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.Monday&d.Machine==Left”).Machine
}
@if(Model.First(d=>d.Time.Hour==i&&d.Time.DayOfWeek==DayOfWeek.Monday&&d.Machine==Right”).IsBooked==true)
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.Monday&d.Machine==Right”).RoomNumber
}
其他的
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.Monday&d.Machine==Right”).Machine
}
@if(Model.First(d=>d.Time.Hour==i&&d.Time.DayOfWeek==DayOfWeek.周二&&d.Machine==Left”).IsBooked==true)
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.周二&d.Machine==Left”).RoomNumber
}
其他的
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.周二&d.Machine==Left”).Machine
}
@if(Model.First(d=>d.Time.Hour==i&&d.Time.DayOfWeek==DayOfWeek.周二&&d.Machine==Right”).IsBooked==true)
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.周二&d.Machine==Right”).RoomNumber
}
其他的
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.周二&d.Machine==Right”).Machine
}
@if(Model.First(d=>d.Time.Hour==i&&d.Time.DayOfWeek==DayOfWeek.周三&&d.Machine==Left”).IsBooked==true)
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.周三&d.Machine==Left”).RoomNumber
}
其他的
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.周三&d.Machine==Left”).Machine
}
@if(Model.First(d=>d.Time.Hour==i&&d.Time.DayOfWeek==DayOfWeek.周三&&d.Machine==Right”).IsBooked==true)
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.周三&d.Machine==Right”).RoomNumber
}
其他的
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.周三&d.Machine==Right”).Machine
}
@if(Model.First(d=>d.Time.Hour==i&&d.Time.DayOfWeek==DayOfWeek.周四&&d.Machine==Left”).IsBooked==true)
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.周四&d.Machine==“左”).RoomNumber
}
其他的
{
@Model.First(d=>d.Time.Hour==i&d.Time.DayOfWeek==DayOfWeek.周四&d.Machine==Left”).Machine
}
@如果(型号1)(
List<WashTime> thisWeek = times.Where(
time => HelperFunctions.GetIso8601WeekOfYear(time.Time) == HelperFunctions.GetIso8601WeekOfYear(DateTime.Today)
).OrderBy(f => f.Time.DayOfWeek).ThenBy(f => f.Time.Hour).ThenBy(f.Machine
).GroupBy(
f=> new { f.Time.DayOfWeek, f.Time.Hour, f.Machine}
).Select(
group => group.First()
).ToList()