Files
2026-04-07 14:21:04 -05:00

37 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace LCU.Library.Internal.LoanRateModels.Entities;
public class Rate
{
public int RateId { get; set; }
public int? RateUploadInfoId { get; set; }
public int? ClosingRateUploadInfoId { get; set; }
public string Column { get; set; }
public string Row { get; set; }
public int RateSheetId { get; set; }
public decimal Value { get; set; }
[Required]
[Range(typeof(DateTime), "1/2/0001", "12/30/9999", ErrorMessage = "Value for {0} must be between {1} and {2}")]
public DateTime RateStartDate { get; set; }
public DateTime? RateEndDate { get; set; }
[ForeignKey("RateId")]
public ICollection<RateEvaluation> RateEvaluations { get; set; }
public Rate DeepCopyNewRate()
{
Rate newRate = (Rate)this.MemberwiseClone();
newRate.RateId = 0;
newRate.RateEvaluations = new List<RateEvaluation>();
foreach (var rateRule in RateEvaluations)
{
var newRateRule = (RateEvaluation)rateRule.ShallowCopyNewRate();
newRate.RateEvaluations.Add(newRateRule);
}
return newRate;
}
}