public SiteContext() { Auth = new AuthConfig(); LocalAuth = new LocalAuthConfig(); Stripe = new StripeConfig(); Email = new EmailConfig(); Membership = new MembershipConfig(); Paging = new PagingConfig(); ConfigurationBuilder.LoadConfiguration(this); }
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(); }
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"); } } }
public EmailSender(IOptions <EmailConfig> emailConfig) { this._ec = emailConfig.Value; }
public EmailUtility(EmailConfig emailSettings) { this._emailSettings = emailSettings; }