Так что у меня есть представление, где участник вводит связанный с ним PIN-код для синхронизации в
@model Models.Member
@{
Layout = "~/Views/Shared/_HomeLayout.cshtml";
}
<h1 style="margin-top: 0px;">Club Members Login Below!</h1> @*add this to the style for better ipad title -> "text-align: center;"*@
</br>
@using (Html.BeginForm("ClubHours", "Login", FormMethod.Post))
{
@Html.LabelFor(c => c.PIN)
@Html.TextBoxFor(c => c.PIN)<br />
@Html.ValidationMessageFor(c => c.PIN)<br />
<input type="submit" name="submit" value="ClockIn" />
<input type="submit" name="submit" value="ClockOut" />
}
, который взаимодействует с этим результатом действия:
[HttpPost]
public ActionResult ClubHours(string submit, Member member)//member clocking in
{
if (submit.Equals("ClockIn"))
{
if (!ModelState.IsValid) //validating events fields
{
return View("UserLogin");
}
else
{
var mem = _context.Members.SingleOrDefault(c => c.PIN == member.PIN);
var hours = new MemberClubHours();
hours.ClockIn = DateTime.Now;
mem.Hours.Add(hours);
_context.SaveChanges();
return View("ClockIn");
}
}
else if (submit.Equals("ClockOut"))
{
if (!ModelState.IsValid) //validating events fields
{
return View("UserLogin");
}
else
{
var mem = _context.Members.SingleOrDefault(c => c.PIN == member.PIN);
var hours = new MemberClubHours();
hours.ClockOut = DateTime.Now;
mem.Hours.Add(hours);
_context.SaveChanges();
return View("ClockOut");
}
}
else
{
return View("UserLogin","Login");
}
}
и, наконец, вот что Класс участника
public class Member
{
public int Id { get; set; }
[Required]
[MaxLength(4, ErrorMessage = "PIN must be 4 numbers long"), MinLength(4, ErrorMessage = "PIN must be 4 numbers long")]
public string PIN { get; set; }
[Required]
[Display(Name ="First Name")]
public string FirstName { get; set; }
[Required]
[Display(Name = "Last Name")]
public string LastName { get; set; }
[Display(Name = "Date of Birth")]
public DateTime? Birthdate { get; set; }
public virtual ICollection<MemberClubHours> Hours { get; } = new HashSet<MemberClubHours>();
}
и класс memberclubhours
public class MemberClubHours
{
public int Id { get; set; }
public DateTime? ClockIn { get; set; }
public DateTime? ClockOut { get; set; }
[Required]
public Member Member { get; set; }
}
Код работает правильно и будет отслеживать часы участника, однако я пытаюсь выполнить проверку, но даже если я введите ПИН-код, связанный с членом в системе, он возвращается как недействительный? любая помощь будет оценена!