Использование файла сервисов MVC Orchard, чтобы позволить пользователю ввести новую запись в таблицу «HoursWorkedToday», позволяя пользователю ввести количество часов, которые он отработал в этот день.
//HoursWorkedService
public class HoursWorkedService : IHoursWorkedService
{
private IRepository<HoursWorkedPerDay> _repository = null;
public HoursWorkedService(IRepository<HoursWorkedPerDay> Repository)
{
_repository = Repository;
}
public Models.HoursWorkedPerDay Create(HoursWorkedPerDay newRecordForHoursWorked)
{
_repository.Create(newRecordForHoursWorked);
return newRecordForHoursWorked;
}
//IHoursWorkedService
public interface IHoursWorkedService : IDependency
{
HoursWorkedPerDay Create(HoursWorkedPerDay newRecordForHoursWorked);
}
//controller
[HttpPost, ActionName("HoursWorkedPerDay")]
public ActionResult HoursWorkedPerDayPOST(int userId, int hours)
{
DateTime TodaysDate = DateTime.UtcNow;
HoursWorkedPerDay HoursPerDay = new HoursWorkedPerDay();
HoursPerDay.Date = TodaysDate;
HoursPerDay.WorkerRecord_Id = userId;
HoursPerDay.HoursWorked = hours;
_hoursWorked.Create(HoursPerDay);
_notifier.Add(NotifyType.Information, T("Thank you, Hours Added."));
return RedirectToAction("Index");
}
но после сообщения я получаю "веб-сайт не может отображаться"
Журналы показывают:
Невозможно вставить значение NULL в столбец «Id» таблицы «Orchard.Timekeeper.dbo.Timekeeper_HoursWorkedPerDay»; столбец не допускает пустых значений. ВСТАВИТЬ не удается
В моем файле миграции для «id» установлено значение .ContentPartRecord(), которое, как я предполагал, автоматически создает следующую запись при использовании службы.