using Core.Abstractions.DomainObjects;
using Core.Abstractions.Models;

namespace WeatherForecast.Models.Abstractions {

  /// <summary>
  /// 
  /// </summary>
  /// <typeparam name="T"></typeparam>
  public abstract class PageSectionModelBase<T>  : ModelBase {

    /// <summary>
    /// 
    /// </summary>
    public string? Title { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public string? Text { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public PageSectionModelBase() { }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="pageSectionBase"></param>
    public PageSectionModelBase(PageSectionBase<T> pageSectionBase) {
      Title = pageSectionBase.Title;
      Text = pageSectionBase.Text;
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="title"></param>
    /// <param name="text"></param>
    public PageSectionModelBase(string? title, string? text) {
      Title = title;
      Text = text;
    }
  }
}
