Exemplo n.º 1
0
        public async Task CreateMemberAsync(NewMemberRequest request, CancellationToken cancellationToken)
        {
            //test async method
            await Task.Delay(10, cancellationToken);

            if (request.NeedException > 0)
            {
                throw new Exception("Exception new member test show alert...");
            }

            MemberModel member = null;

            lock (_Members)
            {
                var memberId = _Members.Count() + 1;
                member = new MemberModel
                {
                    UserName   = request.UserName,
                    Email      = request.Email,
                    MemberId   = memberId,
                    RegistDate = DateTimeOffset.Now,
                    LastLogin  = null
                };
                _Members.Add(member);
            }

            MemberHub.NewMemberNotify(member);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> AddMember(Guid eventId, [FromBody] NewMemberRequest newMember)
        {
            if (newMember == null)
            {
                throw new ArgumentNullException(nameof(newMember));
            }

            var @event = await EventRepositoryRead.GetById(eventId).ConfigureAwait(false);

            if (@event == null)
            {
                return(NotFound("Event not found with id " + eventId));
            }

            var member = new Member
            {
                IsAttending  = newMember.IsAttending,
                IsOrganizer  = newMember.IsOrganizer,
                EmailAddress = newMember.EmailAddress,
                Name         = newMember.Name,
            };

            foreach (var response in newMember.FormResponses)
            {
                member.Responses.Add(response);
            }

            EventService.AddMember(@event, member);
            await EventRepositoryWrite.Update(@event).ConfigureAwait(false);

            try
            {
                // TODO: Get hardcoded strings into config
                Emailer?.Send(new Email
                {
                    From = new EmailAddress {
                        Address = "*****@*****.**", Name = "Fursvp.com"
                    },
                    To = new EmailAddress {
                        Address = newMember.EmailAddress, Name = newMember.Name
                    },
                    Subject          = $"{@event.Name}: Your event registration",
                    PlainTextContent = @$ "{newMember.Name}: We've got you on the list! View the event details or review and change your response at Fursvp.com.",
                    HtmlContent      = @$ "{HttpUtility.HtmlEncode(newMember.Name)}: We've got you on the list! View the event details or review and change your response at <a href=" "https://www.fursvp.com" ">FURsvp.com</a>.",
                });
            }