public IHttpActionResult SendInvitation(AccountInvitationDataTransferModel invitationModel)
        {
            if(!ModelState.IsValid)
            {
                return this.StatusCode(HttpStatusCode.NotAcceptable);
            }

            var response = this.invitationService.SendInvitation(invitationModel);
            return this.Ok(response);
        }
        public IHttpActionResult SendInvitation(AccountInvitationDataTransferModel invitationModel)
        {
            if (!ModelState.IsValid)
            {
                return(this.StatusCode(HttpStatusCode.NotAcceptable));
            }

            var response = this.invitationService.SendInvitation(invitationModel);

            return(this.Ok(response));
        }
        public string SendInvitation(AccountInvitationDataTransferModel invitationModel)
        {
            // Check if there is an invitation sent to this email already.
            var invitation        = this.invitations.All().Where(x => x.Email == invitationModel.Email).FirstOrDefault();
            var statusDescription = string.Empty;

            if (invitation == null)
            {
                var token = this.GenerateVerificationToken() + invitationModel.CommunityKey;
                this.InsertInvitationDataInDatabase(invitationModel.Email, token);
                statusDescription = this.SendEmail(invitationModel.Email, token);
            }
            else
            {
                var token = this.DecryptStringFromBytes(
                    invitation.VerificationToken,
                    invitation.DecryptionKey,
                    invitation.InitializationVector) + invitationModel.CommunityKey;
                statusDescription = this.SendEmail(invitationModel.Email, token);
            }

            return(statusDescription);
        }
        public string SendInvitation(AccountInvitationDataTransferModel invitationModel)
        {
            // Check if there is an invitation sent to this email already.
            var invitation = this.invitations.All().Where(x => x.Email == invitationModel.Email).FirstOrDefault();
            var statusDescription = string.Empty;

            if (invitation == null)
            {
                var token = this.GenerateVerificationToken() + invitationModel.CommunityKey;
                this.InsertInvitationDataInDatabase(invitationModel.Email, token);
                statusDescription = this.SendEmail(invitationModel.Email, token);
            }
            else
            {
                var token = this.DecryptStringFromBytes(
                    invitation.VerificationToken,
                    invitation.DecryptionKey,
                    invitation.InitializationVector) + invitationModel.CommunityKey;
                statusDescription = this.SendEmail(invitationModel.Email, token);
            }

            return statusDescription;
        }
        public async Task<IHttpActionResult> SendInvitation(AccountInvitationDataTransferModel invitationModel)
        {
            var result = await this.invitationService.SendInvitation(invitationModel);

            return this.StatusCode(result);
        }