//private static void CreateAccountLinkLog(DataAccess.CSSDataContext db, Identity principal, Identity ident)
        //{
        //    Link link = new Link()
        //    {
        //        DateCreated = DateTime.Now,
        //        IdentityId = principal.Id
        //    };

        //    db.Links.InsertOnSubmit(link);
        //    db.SubmitChanges();

        //    foreach (var login in ident.Logins)
        //    {
        //        db.LinkedItems.InsertOnSubmit(new LinkedItem()
        //        {
        //            LinkedItemTypeId = (int)Enumerations.LinkedItemType.Login,
        //            TargetId = login.Id,
        //            LinkId = link.Id
        //        });
        //    }

        //    foreach (var machineRecord in ident.MachineRecords)
        //    {
        //        db.LinkedItems.InsertOnSubmit(new LinkedItem()
        //        {
        //            LinkedItemTypeId = (int)Enumerations.LinkedItemType.MachineRecord,
        //            TargetId = machineRecord.Id,
        //            LinkId = link.Id
        //        });
        //    }

        //    foreach (var pollVote in ident.PollVotes)
        //    {
        //        db.LinkedItems.InsertOnSubmit(new LinkedItem()
        //        {
        //            LinkedItemTypeId = (int)Enumerations.LinkedItemType.PollVote,
        //            TargetId = pollVote.Id,
        //            LinkId = link.Id
        //        });
        //    }

        //    foreach (var ban in ident.Bans)
        //    {
        //        db.LinkedItems.InsertOnSubmit(new LinkedItem()
        //        {
        //            LinkedItemTypeId = (int)Enumerations.LinkedItemType.Ban,
        //            TargetId = ban.Id,
        //            LinkId = link.Id
        //        });
        //    }
        //}

        //private static bool AreIdentitiesPermanentlyUnlinked(CSSDataContext db, Identity identity1, Identity identity2)
        //{
        //    bool foundUnlinkedLoginRecord = false;
        //    foreach (var login1 in identity1.Logins)
        //    {
        //        foreach (var login2 in identity2.Logins)
        //        {
        //            if (db.Login_UnlinkedLogins.Where(p => (p.LoginId1 == login1.Id && p.LoginId2 == login2.Id) || (p.LoginId2 == login1.Id && p.LoginId1 == login2.Id)).Count() > 0)
        //            {
        //                foundUnlinkedLoginRecord = true;
        //                break;
        //            }
        //        }

        //        if (foundUnlinkedLoginRecord == true)
        //            break;
        //    }

        //    return foundUnlinkedLoginRecord;
        //}

        private static bool AreIdentitiesPermanentlyUnlinked(CSSDataContext db, int identityId1, int identityId2)
        {
            List <Login_UnlinkedLogin> login_UnlinkedLogins = Login_UnlinkedLogin.GetAllFromCache();

            List <Login> allLogins = Login.GetAllFromCache();

            bool foundUnlinkedLoginRecord = false;

            foreach (var login1 in db.Logins.Where(p => p.IdentityId == identityId1))
            {
                foreach (var login2 in db.Logins.Where(p => p.IdentityId == identityId2))
                {
                    if (login_UnlinkedLogins.Where(p => (p.LoginId1 == login1.Id && p.LoginId2 == login2.Id) || (p.LoginId2 == login1.Id && p.LoginId1 == login2.Id)).Count() > 0)
                    {
                        foundUnlinkedLoginRecord = true;
                        break;
                    }
                }

                if (foundUnlinkedLoginRecord == true)
                {
                    break;
                }
            }

            return(foundUnlinkedLoginRecord);
        }
		private void detach_Login_UnlinkedLogins1(Login_UnlinkedLogin entity)
		{
			this.SendPropertyChanging();
			entity.Login1 = null;
		}
		private void attach_Login_UnlinkedLogins(Login_UnlinkedLogin entity)
		{
			this.SendPropertyChanging();
			entity.Login = this;
		}
 partial void DeleteLogin_UnlinkedLogin(Login_UnlinkedLogin instance);
 partial void UpdateLogin_UnlinkedLogin(Login_UnlinkedLogin instance);
 partial void InsertLogin_UnlinkedLogin(Login_UnlinkedLogin instance);