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); } } }
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")); }