using Core.DomainObjects.Pages;
using WeatherForecast.Models.Abstractions;

namespace WeatherForecast.Models.Pages {

  /// <summary>
  /// 
  /// </summary>
  public class SignUpPageModel : PageModelBase<SignUpPage> {

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

    /// <summary>
    /// 
    /// </summary>
    public FormItemModel Username { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public FormItemModel Email { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public FormItemModel ReEmail { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public FormItemModel Password { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public FormItemModel RePassword { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public string AcceptTermsAndConditions { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public FormItemModel Submit { get; set; }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="signUpPage"></param>
    public SignUpPageModel(SignUpPage signUpPage) : base(signUpPage) {
      Title = signUpPage.Title;
      Username = new FormItemModel(signUpPage.Username); 
      Email = new FormItemModel(signUpPage.Email);
      ReEmail = new FormItemModel(signUpPage.ReEmail);
      Password = new FormItemModel(signUpPage.Password);
      RePassword = new FormItemModel(signUpPage.RePassword);
      AcceptTermsAndConditions = signUpPage.AcceptTermsAndConditions;
      Submit = new FormItemModel(signUpPage.Submit);
    }
  }
}
