56 lines
1.7 KiB
C#
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 "";
|
|
}
|
|
}
|