Это моё действие по созданию в контроллере
public IActionResult Create(Booking booking)
{
if (ModelState.IsValid)
{
DbSet<Booking> dbs = _dbContext.Booking;
DbSet<Assets> dbs2 = _dbContext.Assets;
//Trying to link the selected assetId from booking table to the id in asset table
//I tried to set a variable "In Use" and then linking it to the status, but whenever i create it shows null reference
dbs2.Where(a => a.Id == booking.Asset.Id);
dbs.Add(booking);
if (_dbContext.SaveChanges() == 1)
{
TempData["Msg"] = "New Booking Added";
}
else
{
TempData["Msg"] = "Failed to update database";
}
}
else
{
TempData["Msg"] = "Invalid information entered";
}
return RedirectToAction("Index");
}
Это моя модель для бронирования
public partial class Booking
{
public Booking()
{
History = new HashSet<History>();
}
public int Id { get; set; }
public int AssetId { get; set; }
public int UserId { get; set; }
public DateTime LoanDateStart { get; set; }
public DateTime LoanDateEnd { get; set; }
public string Description { get; set; }
public bool IsDeleted { get; set; }
public virtual Assets Asset { get; set; }
public virtual AppUser User { get; set; }
public virtual ICollection<History> History { get; set; }
}
А это моя модель для активов
public partial class Assets
{
public Assets()
{
Booking = new HashSet<Booking>();
}
public int Id { get; set; }
public string Model { get; set; }
public string Description { get; set; }
public string Barcode { get; set; }
public string Brand { get; set; }
public string AssetType { get; set; }
public string Status { get; set; }
public string Condition { get; set; }
public bool IsDeleted { get; set; }
public virtual ICollection<Booking> Booking { get; set; }
}
Итак, как я могу гарантировать, что всякий раз, когда я создаю бронирование на основе доступных активов, я хочу обновить статус «Используется» в таблице активов?
Я пробовал довольно много способов, но я все еще не понимаю, как обновить отдельное поле после создания бронирования.
Так что в приложении это должно работать так же, как и при создании бронирования, статус на странице индекса моих активов должен отображаться "В Используйте "вместо" Доступно "