private string RegisterLinkHref(string code, EmailQueueTo emailqueueto)
{
var list = new Dictionary<string, OneTimeLink>();
var match = registerHrefReId.Match(code);
if (!match.Success)
return code;
var id = match.Groups["id"].Value.ToInt();
var showfamily = code.Contains("registerlink2", ignoreCase: true);
string qs = $"{id},{emailqueueto.PeopleId},{emailqueueto.Id}";
OneTimeLink ot;
if (list.ContainsKey(qs))
ot = list[qs];
else
{
ot = new OneTimeLink
{
Id = Guid.NewGuid(),
Querystring = qs
};
db.OneTimeLinks.InsertOnSubmit(ot);
db.SubmitChanges();
list.Add(qs, ot);
}
string url = db.ServerLink($"/OnlineReg/RegisterLink/{ot.Id.ToCode()}");
if (showfamily)
url += "?showfamily=true";
return $"href=\"{url}\"";
}