//public static int DoUpdrade() //{ // var dc = new ManagementContext(); // var coms = dc.Communications; // foreach (var mem in coms) // { // if (mem.CommunicationType.CommunicationTypeId == 3) // { // mem.CommunicationTypeEnum = (byte)CommunicationTypeEnum.Website; // } // else // mem.CommunicationTypeEnum = (byte)CommunicationTypeEnum.PhoneNumber; // mem.ContactCard = mem.ContactCard; // mem.CommunicationType = mem.CommunicationType; // } // int c = dc.SaveChanges(); // return c; //} public static string GetCarrierEmailAddress(MobileServiceProvider provider) { switch (provider) { case MobileServiceProvider.Alltel: return "@mms.alltelwireless.com"; case MobileServiceProvider.ATT_MMS: return "@mms.att.net"; case MobileServiceProvider.ATT_SMS: case MobileServiceProvider.Straight_Talk_ATT: return "@txt.att.net"; case MobileServiceProvider.Bell_Canada: return "@txt.bellmobility.ca"; case MobileServiceProvider.Fido_Canada: return "@sms.fido.ca"; case MobileServiceProvider.MetroPCS: return "@mymetropcs.com"; case MobileServiceProvider.Nextel: return "@messaging.nextel.com"; case MobileServiceProvider.Qwest: return "@qwestmp.com"; //case MobileServiceProvider.Rogers_Canada: // return "@mms.rogers.com"; case MobileServiceProvider.Sprint_MMS: return "@pm.sprint.com"; case MobileServiceProvider.Sprint_SMS: return "@messaging.sprintpcs.com"; case MobileServiceProvider.T_Mobile: return "@tmomail.net"; case MobileServiceProvider.Verizon_MMS: return "@vzwpix.com"; case MobileServiceProvider.Verizon_SMS: case MobileServiceProvider.Straight_Talk_Verizon: return "@vtext.com"; case MobileServiceProvider.Virgin_Mobile_USA: return "@vmpix.com"; case MobileServiceProvider.Orange_UK: return "@orange.net"; case MobileServiceProvider.China_Mobile: return "@139.com"; case MobileServiceProvider.Cricket: return "@mms.mycricket.com"; case MobileServiceProvider.WIND: return "@txt.windmobile.ca"; case MobileServiceProvider.US_Cellular: return "@mms.uscc.net"; case MobileServiceProvider.Nextech: return "@sms.ntwls.net"; case MobileServiceProvider.Telus_MMS: return "@mms.telusmobility.com"; case MobileServiceProvider.Telus_SMS: return "@msg.telus.com"; default: return String.Empty; } }
public static bool UpdatePhoneNumberToCard(string phone, DataModels.ContactCard.ContactCard card, string verificationCode, MobileServiceProvider carrier = MobileServiceProvider.None, bool isVerified = false) { try { int phoneType = Convert.ToInt32(CommunicationTypeEnum.PhoneNumber); if (card.Communications.Where(x => x.IsDefault == true).Where(x => x.CommunicationTypeEnum == (byte)CommunicationTypeEnum.PhoneNumber).FirstOrDefault() == null) { Communication c = new Communication(); c.IsDefault = true; UpdatePhoneNumberToCard(phone, c, verificationCode, carrier, isVerified); card.Communications.Add(c); } else { UpdatePhoneNumberToCard(phone, card.Communications.Where(x => x.IsDefault == true).Where(x => x.CommunicationTypeEnum == (byte)CommunicationTypeEnum.PhoneNumber).FirstOrDefault(), verificationCode, carrier, isVerified); } return true; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return false; }
public static bool VerifiySMSCarrierCode(long number, MobileServiceProvider provider, string code, Guid memberId) { try { var mem = MemberCache.GetMemberDisplay(memberId); if (mem.SMSVerificationNum == code) { string body = "You are now Verified to receive RDNation text messages."; var emailData = new Dictionary<string, string> { { "body", body } }; EmailServer.EmailServer.SendEmail(ServerConfig.DEFAULT_EMAIL_MESSAGES, "RDNation", ServerConfig.TEXT_MESSAGE_EMAIL, mem.PhoneNumber, emailData, EmailServer.EmailServerLayoutsEnum.TextMessage, DataModels.EmailServer.Enums.EmailPriority.Important); var dc = new ManagementContext(); var memDb = dc.Members.Where(x => x.MemberId == memberId).FirstOrDefault(); ContactCard.ContactCardFactory.UpdatePhoneNumberToCard(mem.PhoneNumber, memDb.ContactCard, mem.SMSVerificationNum, mem.Carrier, true); int c = dc.SaveChanges(); return true; } } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return false; }
public static bool UpdatePhoneNumberToCard(string phone, DataModels.ContactCard.Communication phoneNumber, string verificationCode, MobileServiceProvider carrier = MobileServiceProvider.None, bool isVerified = false) { try { ManagementContext dc = new ManagementContext(); phoneNumber.Data = phone; if (!String.IsNullOrEmpty(verificationCode)) phoneNumber.SMSVerificationCode = verificationCode; if (carrier != MobileServiceProvider.None) phoneNumber.CarrierType = (byte)carrier; if (isVerified) phoneNumber.IsCarrierVerified = isVerified; phoneNumber.CommunicationTypeEnum = (byte)CommunicationTypeEnum.PhoneNumber; return true; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return false; }
/// <summary> /// sends user text message to verify account /// </summary> /// <param name="number"></param> /// <param name="provider"></param> /// <param name="memberId"></param> /// <returns></returns> public static bool VerifiySMSCarrier(long number, MobileServiceProvider provider, Guid memberId) { try { var mem = MemberCache.GetMemberDisplay(memberId); if (String.IsNullOrEmpty(mem.SMSVerificationNum)) { Random rand = new Random(); mem.SMSVerificationNum = rand.Next(10000, 99999).ToString(); } mem.PhoneNumber = number.ToString(); mem.Carrier = provider; string body = "Your Code: " + mem.SMSVerificationNum + " (If sent to you in error, our apologies, please ignore.)"; var emailData = new Dictionary<string, string> { { "body", body } }; EmailServer.EmailServer.SendEmail(ServerConfig.DEFAULT_EMAIL_MESSAGES, "RDNation", ServerConfig.TEXT_MESSAGE_EMAIL, mem.PhoneNumber, emailData, EmailServer.EmailServerLayoutsEnum.TextMessage, DataModels.EmailServer.Enums.EmailPriority.Important); var dc = new ManagementContext(); var memDb = dc.Members.Where(x => x.MemberId == memberId).FirstOrDefault(); ContactCard.ContactCardFactory.UpdatePhoneNumberToCard(mem.PhoneNumber, memDb.ContactCard, mem.SMSVerificationNum, mem.Carrier); int c = dc.SaveChanges(); return true; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return false; }