示例#1
0
        public static string UnregisterPerson(string phoneNumber)
        {
            //yea, yea.. there should probably be a flag in this database like 'active' that determines if they're registered... or even a history table that stores the old info so we can delete it from here, but for now this works and I don't lose who has used the system :)
            //large reason for now for saving who has used it - if someone abuses it and starts costing me lots of money, I can track that down easier

            var phoneInDb = GetPhoneEnrollment(phoneNumber);

            if (phoneInDb == null)
            {
                return(SMSResponseMessages.UnknownPhoneMessage(phoneNumber));
            }

            try
            {
                using (var db = new TwilioContext())
                {
                    phoneInDb.Phone       = "Unregistered-" + phoneInDb.Phone;
                    phoneInDb.UpdatedDate = DateTime.Now;
                    db.Enrollments.Attach(phoneInDb);
                    db.Entry(phoneInDb).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();

                    return(SMSResponseMessages.UnregisteredMessage(phoneNumber));
                }
            }
            catch
            {
                return(SMSResponseMessages.ErrorMessage(phoneNumber));
            }
        }
示例#2
0
        public static bool UpdateEmail(string phoneNumber, string email)
        {
            var phoneInDb = GetPhoneEnrollment(phoneNumber);

            if (phoneInDb == null)
            {
                return(false);
            }

            try
            {
                using (var db = new TwilioContext())
                {
                    phoneInDb.Email       = email;
                    phoneInDb.UpdatedDate = DateTime.Now;
                    db.Enrollments.Attach(phoneInDb);
                    db.Entry(phoneInDb).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();

                    return(true);
                }
            }
            catch
            {
                return(false);
            }
        }
示例#3
0
 public static TwilioSMS GetPhoneEnrollment(string phoneNumber)
 {
     using (var db = new TwilioContext())
     {
         var phoneInDb = db.Enrollments
                         .Where(p => p.Phone == phoneNumber)
                         .FirstOrDefault();
         return(phoneInDb);
     }
 }
示例#4
0
        public static TwilioSMS RegisterPhone(string phoneNumber, string name, string email = "")
        {
            using (var db = new TwilioContext())
            {
                var enrollment = new TwilioSMS {
                    Name = name, Phone = phoneNumber, CreationDate = DateTime.Now, UpdatedDate = DateTime.Now, Email = (email == "" ? null : email)
                };

                try
                {
                    db.Enrollments.Add(enrollment);
                    db.SaveChanges();

                    return(enrollment);
                }
                catch
                {
                    return(null);
                }
            }
        }