74 lines
2.0 KiB
C#

using HotelContracts.BindingModels;
using HotelContracts.ViewModels;
using HotelDataModels.Models;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace HotelDataBaseImplement.Models
{
public class Lunch : ILunchModel
{
public int Id { get; set; }
public int HeadwaiterId { get; set; }
[Required]
public string LunchName { get; set; } = string.Empty;
[Required]
public double LunchPrice { get; set; }
public virtual Headwaiter Headwaiters { get; set; }
[ForeignKey("LunchId")]
public virtual List<RoomLunch> RoomLunches { get; set; } = new();
[ForeignKey("LunchId")]
public virtual List<ConferenceBookingLunch> ConferenceBookingLunches { get; set; } = new();
public static Lunch? Create(LunchBindingModel model)
{
if (model == null)
{
return null;
}
return new Lunch()
{
Id = model.Id,
LunchName = model.LunchName,
LunchPrice = model.LunchPrice,
HeadwaiterId = model.HeadwaiterId
};
}
public static Lunch Create(LunchViewModel model)
{
return new Lunch
{
Id = model.Id,
LunchName = model.LunchName,
LunchPrice = model.LunchPrice,
HeadwaiterId = model.HeadwaiterId
};
}
public void Update(LunchBindingModel model)
{
if (model == null)
{
return;
}
LunchName = model.LunchName;
LunchPrice = model.LunchPrice;
HeadwaiterId = model.HeadwaiterId;
}
public LunchViewModel GetViewModel => new()
{
Id = Id,
LunchName = LunchName,
LunchPrice = LunchPrice,
HeadwaiterId = HeadwaiterId
};
}
}