public static void UpdateSNAAccount(string email, SNAServiceName serviceName, string socialId) { accounts_sna acc = Meridian.Default.accounts_snaStore.All().FirstOrDefault(a => a.email == email); if (acc == null) { acc = new accounts_sna(); acc.email = email; Meridian.Default.accounts_snaStore.Insert(acc); } switch (serviceName) { case SNAServiceName.vkontakte: acc.vk_id = socialId; break; case SNAServiceName.facebook: acc.facebook_id = socialId; break; case SNAServiceName.odnoklassniki: acc.odnoklassniki_id = socialId; break; case SNAServiceName.googleplus: acc.google_id = socialId; break; } Meridian.Default.accounts_snaStore.Update(acc); }
public static ISNAccount GetSNAccount(SNAServiceName serviceName, string socialId) { if (string.IsNullOrEmpty(socialId)) return null; accounts_sna acc = null; switch (serviceName) { case SNAServiceName.vkontakte: acc = Meridian.Default.accounts_snaStore.All().Where(a => a.vk_id.Equals(socialId)).FirstOrDefault(); break; case SNAServiceName.facebook: acc = Meridian.Default.accounts_snaStore.All().Where(a => a.facebook_id.Equals(socialId)).FirstOrDefault(); break; case SNAServiceName.odnoklassniki: acc = Meridian.Default.accounts_snaStore.All().Where(a => a.odnoklassniki_id.Equals(socialId)).FirstOrDefault(); break; case SNAServiceName.googleplus: acc = Meridian.Default.accounts_snaStore.All().Where(a => a.google_id.Equals(socialId)).FirstOrDefault(); break; } if (acc != null) { //accounts accB = Meridian.Default.accountsStore.GetAccountByEmail(acc.email); SNAccount accSN = new SNAccount(); accSN.UserEmail = acc.email; //accSN.UserFirstName = accB!= null ? accB.type !="o" ? accB.Person.firstname : accB.Company.name : string.Empty; accSN.UserId = socialId; //accSN.UserLastName = accB != null && accB.type !="o" ? accB.Person.lastname : string.Empty; return accSN; } return null; }