Files
2026-03-17 09:53:09 -05:00

56 lines
1.7 KiB
C#

using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.Operations.IncentiveApi.Models.Dayforce;
public class EmployeeDetailsUpdate
{
public string OldEmail { get; set; }
public string OldEmployeeId { get; set; }
public string OldFullName { get; set; }
public string NewEmail { get; set; }
public string NewEmployeeId { get; set; }
public string NewFullName { get; set; }
public bool NewDetailsMatchOld()
{
return OldEmail.Equals(NewEmail, StringComparison.InvariantCultureIgnoreCase)
&& OldEmployeeId.Equals(NewEmployeeId, StringComparison.InvariantCultureIgnoreCase)
&& OldFullName.Equals(NewFullName, StringComparison.InvariantCultureIgnoreCase);
}
public string InvalidUpdateData()
{
if (NewDetailsMatchOld())
{
return $"Invalid Update Data: Old Details Match Updated Details";
}
if (string.IsNullOrWhiteSpace(NewEmail))
{
return $"Invalid Update Data: NewEmail: {NewEmail}";
}
if (!new EmailAddressAttribute().IsValid(NewEmail))
{
return $"Invalid Update Data: NewEmail Is Not A Valid Email: {NewEmail}";
}
if (!NewEmail.Contains("@landmarkcu.com", StringComparison.InvariantCultureIgnoreCase))
{
return $"Invalid Update Data: NewEmail Is Not A Valid Internal Email: {NewEmail}";
}
if (string.IsNullOrWhiteSpace(NewEmployeeId))
{
return $"Invalid Update Data: NewEmployeeId: {NewEmployeeId}";
}
if (string.IsNullOrWhiteSpace(NewFullName))
{
return $"Invalid Update Data: NewFullName: {NewFullName}";
}
return "";
}
}