public void SendAddNewsRequest(string name, string email, string message, string projectName)
        {
            var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
                         .AddJsonFile("appsettings.json", true, true)
                         .Build();

            var adminEmail = Convert.ToString(config["AdminEmail"]);
            //pour le moment on utilise le template de contact us
            var content = EmailTemplate.EmailContent(ContactUsEmail.Path)
                          .Replace(EmailTemplate.UserName, name)
                          .Replace(EmailTemplate.UserEmail, email)
                          .Replace(EmailTemplate.UserMessage, message);

            _emailService.SendEmail(adminEmail, AddNewsRequestEmailTemplate.Subject + " " + projectName, content);
        }
        public void SendMessageFromContactUs(string name, string email, string message)
        {
            var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
                         .AddJsonFile("appsettings.json", true, true)
                         .Build();

            var adminEmail = Convert.ToString(config["AdminEmail"]);

            var content = EmailTemplate.EmailContent(ContactUsEmail.Path)
                          .Replace(EmailTemplate.UserName, name)
                          .Replace(EmailTemplate.UserEmail, email)
                          .Replace(EmailTemplate.UserMessage, message);

            _emailService.SendEmail(adminEmail, ContactUsEmail.Subject, content);
        }
        public virtual void SendUserCreationEmail(User user)
        {   //encode the userID in base64
            var encodedId = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(user.Id.ToString()));
            var content   = "";

            if (user.Provider == Models.Enums.ProvidersEnum.Coiner)
            {
                content = EmailTemplate.EmailContent(UserCreationEmailTemplate.Path)
                          .Replace(EmailTemplate.UserName, user.FirstName)
                          .Replace(EmailTemplate.ActivationToken, user.ActivationToken)
                          .Replace(EmailTemplate.UserId, encodedId)
                          .Replace(EmailTemplate.BaseUrl, Constants.BaseUrl);
            }
            else
            {
                content = EmailTemplate.EmailContent(UserCreationGoogleEmailTemplate.Path)
                          .Replace(EmailTemplate.UserName, user.FirstName)
                          .Replace(EmailTemplate.BaseUrl, Constants.BaseUrl);
            }

            SendEmail(user.Email, UserCreationEmailTemplate.Subject, content);
        }
        public bool SendEmailToUpdatePassword(HttpContext httpContext, string email)
        {
            var decodedEmail = ConvertString.Base64Decode(email);
            var currentUrl   = httpContext.Request.Scheme + "://" + httpContext.Request.Host.Value;
            var client       = GetUser(decodedEmail);

            if (client != null)
            {
                var userId = ConvertString.MD5Encode(client.Id.ToString());

                var redirectUrl = $"{currentUrl}/modifier-password/{userId}";

                var content = EmailTemplate.EmailContent(DemandUpdatePWEmailTemplate.Path)
                              .Replace(EmailTemplate.UserName, client.FirstName)
                              .Replace(EmailTemplate.ResetLink, redirectUrl);

                _emailService.SendEmail(decodedEmail, DemandUpdatePWEmailTemplate.Subject, content);
                return(true);
            }
            else
            {
                return(false);
            }
        }