示例#1
0
        public void AddRSVPToDataBase(SmsRequest incomingMessage)
        {
            bool notANumber = false;

            try
            {
                string[] textParts = incomingMessage.Body.Split(" ");

                bool userRsvp = false;

                var foundGroupMember = _context.GroupMembers.Where(x => x.PhoneNumber == incomingMessage.From).First();

                int memberId = foundGroupMember.MemberId;

                var foundEvent = _context.EventTable.Where(y => y.EventId == Int32.Parse(textParts[1])).First();
                if (foundEvent == null)
                {
                    notANumber = true;
                    throw new Exception();
                }
                int eventId = foundEvent.EventId;

                string rsvpResponse = textParts[0].ToLower();

                if (rsvpResponse.Contains("yes") || rsvpResponse == "y")
                {
                    userRsvp = true;
                }

                //find if rsvp already exists in database
                List <MemberRsvp> rsvpDupes = _context.MemberRsvp.Where(x => x.MemberId == memberId).Where(x => x.EventId == eventId).ToList();

                //delete all found duplicates (should only be one).
                if (rsvpDupes.Count > 0)
                {
                    foreach (var r in rsvpDupes)
                    {
                        _context.MemberRsvp.Remove(r);
                        _context.SaveChanges();
                    }
                }

                MemberRsvp newRsvp = new MemberRsvp(memberId, eventId, userRsvp, foundGroupMember.MemberName);

                _context.MemberRsvp.Add(newRsvp);
                _context.SaveChanges();
            }
            catch (Exception)
            {
                if (notANumber)
                {
                    SendText("That event number you entered wasn't valid. Could you try that again, please?", incomingMessage.From);
                }
                else
                {
                    SendErrorText(incomingMessage, null);
                }
            }
        }
示例#2
0
        public IActionResult AddUserInfo(string firstName, string lastName, string phoneNumber)
        {
            string   id       = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            UserInfo userInfo = new UserInfo(firstName, lastName, id, phoneNumber);

            _context.UserInfo.Add(userInfo);
            _context.SaveChanges();
            return(RedirectToAction("Index"));
        }