/// <summary> /// Clones this IdentityVerification object to a new IdentityVerification object /// </summary> /// <param name="source">The source.</param> /// <param name="deepCopy">if set to <c>true</c> a deep copy is made. If false, only the basic entity properties are copied.</param> /// <returns></returns> public static IdentityVerification Clone(this IdentityVerification source, bool deepCopy) { if (deepCopy) { return(source.Clone() as IdentityVerification); } else { var target = new IdentityVerification(); target.CopyPropertiesFrom(source); return(target); } }
/// <summary> /// Copies the properties from another IdentityVerification object to this IdentityVerification object /// </summary> /// <param name="target">The target.</param> /// <param name="source">The source.</param> public static void CopyPropertiesFrom(this IdentityVerification target, IdentityVerification source) { target.Id = source.Id; target.ForeignGuid = source.ForeignGuid; target.ForeignKey = source.ForeignKey; target.IdentityVerificationCodeId = source.IdentityVerificationCodeId; target.IssueDateTime = source.IssueDateTime; target.ReferenceNumber = source.ReferenceNumber; target.RequestIpAddress = source.RequestIpAddress; target.CreatedDateTime = source.CreatedDateTime; target.ModifiedDateTime = source.ModifiedDateTime; target.CreatedByPersonAliasId = source.CreatedByPersonAliasId; target.ModifiedByPersonAliasId = source.ModifiedByPersonAliasId; target.Guid = source.Guid; target.ForeignId = source.ForeignId; }
/// <summary> /// Creates the identity verification record. /// </summary> /// <param name="ipAddress">The ip address.</param> /// <param name="ipLimit">The ip limit.</param> /// <param name="phoneNumber">The phone number.</param> /// <returns></returns> public IdentityVerification CreateIdentityVerificationRecord(string ipAddress, int ipLimit, string phoneNumber) { ValidateIpCountWithinLimits(ipAddress, ipLimit); var verificationCode = IdentityVerificationCodeService.GetRandomIdentityVerificationCode(); if (verificationCode != null) { var identityVerification = new IdentityVerification { ReferenceNumber = phoneNumber, IssueDateTime = RockDateTime.Now, IdentityVerificationCode = verificationCode, RequestIpAddress = ipAddress }; Add(identityVerification); (( RockContext )Context).IdentityVerificationCodes.Attach(verificationCode); Context.SaveChanges(); return(identityVerification); } return(null); }