Beispiel #1
0
        public SiteContext()
        {
            Auth = new AuthConfig();
            LocalAuth = new LocalAuthConfig();
            Stripe = new StripeConfig();
            Email = new EmailConfig();
            Membership = new MembershipConfig();
            Paging = new PagingConfig();

            ConfigurationBuilder.LoadConfiguration(this);
        }
Beispiel #2
0
        protected void SendEmailForMembersWithEmailInProject(IEmailConfigMngr mngr, int projectId,
            string subject, string messageBody,
            EmailConfig configType)
        {
            var membersEnabledForTheProject = _db.Query<Project>()
                                                    .GetEnabledResponsableAndWorkersForProjectWithEmailFromProjectId(projectId);

            var adminsEnabled = _db.Query<Member>().GetAdminsEnabledWithEmail();
            User dbUser = CurrentUser;

            Thread t = new Thread(() =>
            {
                // Normalizar, dos workers, pode haver membros repetidos com admins => Union
                var collection = membersEnabledForTheProject.Union(adminsEnabled,
                    new LambdaComparer<Member>((m1, m2) => m1.UserID == m2.UserID));

                //
                // Este método pode ser chamado pelos serviços do cliente e do membro.
                // O Cliente invoca este metodo quando submete um pedido para informar os membros
                // O membro invoca o método para avisar os membros da progressão..
                // => Se o utilizador que invoca é membro então o endereço de email dele tem que ser removido
                //    da lista de endereços.
                Member dbMember;
                if ((dbMember = dbUser as Member) != null) {
                    collection = collection.Except(new[] { dbMember });
                }

                List<string> emailAddresses = new List<string>();

                foreach (var member in collection) {
                    // Iterar sobre os membros que teem email e verificar se tem config de
                    // quando membro aceita pedido
                    bool hasElement;

                    UserType type = member.IsAdmin ? UserType.admin : UserType.member;
                    var configs = mngr.Find(type, member.UserID, out hasElement);

                    // Verificar se o elemento existe e se existe verificar se o membro pretende que
                    // o sistema envie o email
                    if (hasElement && configs.Any(c => c == configType)) {
                        emailAddresses.Add(member.Email);
                    }
                }

                if (emailAddresses.Count > 0) {
                    SendEmailToMembers(emailAddresses, subject, messageBody);
                }
            });

            t.Start();
        }
Beispiel #3
0
 public EmailService(IOptions<EmailConfig> config)
 {
     _config = config.Value;
 }
        private void NotifyClientAux(NotificatorMemberDTO memberDto,  EmailConfig config,
            string subject, string message)
        {
            if(memberDto == null)
                throw new ArgumentNullException("memberDto");

            Client dbClient = _db.Query<Client>().GetById(memberDto.ClientId);
            Thread t = new Thread(() =>
            {
                if (dbClient.Enabled && dbClient.Email != null) {
                    // Pesquisar opcoes do cliete no xmlFile

                    bool hasElement;
                    var configs = _mngr.Find(UserType.client, memberDto.ClientId, out hasElement);

                    if (hasElement && configs.Any(c => c == config)) {
                        SendEmailToClient(dbClient.Email, subject, message);
                    }
                }
            });

            t.Start();
        }
        /* JiraReportConfig file constructor */
        public JiraReportConfig(string config_file=null)
        {
            /* Init the variables */
            jira_config = new JiraConfig();
            file_config = new FileConfig();
            email_config = new EmailConfig();
            client_config = new List<ClientConfig>();
            template_config = new TemplateMarkup();

            if (config_file != null) {
                if (!LoadConfig(config_file)) {
                    Console.WriteLine("Unable to read XML config file: " + config_file);
                }
                else {
                    Console.WriteLine("XML config file parsed successfully");
                }
            }
        }
Beispiel #6
0
 public EmailSender(IOptions <EmailConfig> emailConfig)
 {
     this._ec = emailConfig.Value;
 }
 public EmailUtility(EmailConfig emailSettings)
 {
     this._emailSettings = emailSettings;
 }