public async Task <int> InviteIndividualUser(CompanyUsersRequest usersRequest, HttpContext context)
        {
            try
            {
                int  returnResult = 0;
                bool emailExist   = await this.authRepo.EmailExist(usersRequest.Email);

                if (emailExist)
                {
                    returnResult = 2;
                    return(returnResult); // Email Exist
                }
                else
                {
                    Guid            guid       = Guid.NewGuid();
                    InviteUsersList inviteUser = new InviteUsersList();
                    inviteUser.EmailAddress    = usersRequest.Email;
                    inviteUser.ActivationToken = guid;
                    InviteEmailData response = await this.commonEmailsService.SendUserInviteEmails(inviteUser, context);

                    if (response.InviteStatus == 1)
                    {
                        returnResult = await this._companyRepo.InviteIndividualUser(usersRequest, guid);
                    }
                }
                return(returnResult);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 2
0
        public async Task <InviteEmailData> SendUserInviteEmails(InviteUsersList emailData, HttpContext context)
        {
            bool            status          = false;
            InviteEmailData response        = new InviteEmailData();
            string          strEmailSubject = string.Empty;

            strEmailSubject = _iconfiguration.GetValue <string>("AuthMessageSenderOptions:WelcomeEmail");

            string path = $"{Directory.GetCurrentDirectory()}{@"\wwwroot\images\sessionsLogoBlack.png"}";

            try
            {
                string directory = $"{Directory.GetCurrentDirectory()}{@"\wwwroot"}";
                var    emailHtml = System.IO.File.ReadAllText(directory + "/Templates/Invite_Company_Members.html");
                emailHtml = emailHtml.Replace("{{ActivationToken}}", emailData.ActivationToken.ToString());
                var    membersignupURL = _iconfiguration.GetValue <string>("AuthMessageSenderOptions:MemberSignupUrl");
                string logoPath        = context.Request.Scheme + "://" + context.Request.Host + context.Request.PathBase + "//images//sessionsLogoBlack.png";
                string newsletter      = context.Request.Scheme + "://" + context.Request.Host + context.Request.PathBase + "//images//newsletter.png";
                response.EmailSubject = strEmailSubject;
                response.EmailSender  = _iconfiguration.GetValue <string>("AuthMessageSenderOptions:SendGridEmail");
                response.EmailBody    = emailHtml;
                response.InviteStatus = 1;
                emailHtml             = emailHtml.Replace("{{logo}}", logoPath);
                emailHtml             = emailHtml.Replace("{{newsletter}}", newsletter);
                emailHtml             = emailHtml.Replace("{{membersignupURL}}", membersignupURL);

                await _iEmailSenderService.SendEmailAsync(_iconfiguration.GetValue <string>("AuthMessageSenderOptions:SendGridEmail"), emailData.EmailAddress, strEmailSubject, emailHtml);

                status = true;
                if (status == true)
                {
                    response.InviteStatus = 1;
                }
                else
                {
                    response.InviteStatus = 100;
                }
                return(response);
            }
            catch (Exception ex)
            {
                response.InviteStatus = 100;
                return(response);
            }
        }