private async Task <bool> SaveSystemMessages() { var ptBR = Messages["pt-br"]; var en = Messages["en"]; var es = Messages["es"]; var filter = new FilterDefinitionBuilder <SystemMessages>(); var msgCol = IlevusDatabase.GetCollection <SystemMessages>(IlevusTableNames.SystemMessagesTable); var result = await msgCol.ReplaceOneAsync(filter.Where((msg) => msg.Id == ptBR.Id), ptBR); if (result.MatchedCount == 0) { return(false); } result = await msgCol.ReplaceOneAsync(filter.Where((msg) => msg.Id == en.Id), en); if (result.MatchedCount == 0) { return(false); } result = await msgCol.ReplaceOneAsync(filter.Where((msg) => msg.Id == es.Id), es); if (result.MatchedCount == 0) { return(false); } return(true); }
public async Task <bool> UpdateSystemConfig() { var configCollection = IlevusDatabase.GetCollection <SystemConfig>(IlevusTableNames.SystemConfigTable); var result = await configCollection.ReplaceOneAsync(FilterDefinition <SystemConfig> .Empty, SystemConfiguration); if (result.MatchedCount > 0) { return(true); } return(false); }
public async Task <bool> UpdateDefinitionsConfigs() { try { var configCollection = IlevusDatabase.GetCollection <SystemDefinitions>(IlevusTableNames.SystemDefinitionsTable); var result = await configCollection.ReplaceOneAsync(FilterDefinition <SystemDefinitions> .Empty, SystemDefinitions); if (result.MatchedCount > 0) { return(true); } return(false); } catch (Exception er) { return(false); } }
public IMongoCollection <PaymentsCustomer> GetPaymentsCustomerCollection() { return(IlevusDatabase.GetCollection <PaymentsCustomer>(IlevusTableNames.CustomerPaymentsTable)); }
public IMongoCollection <CoachingProcess> GetCoachingProcessCollection() { return(IlevusDatabase.GetCollection <CoachingProcess>(IlevusTableNames.CoachingProcessTable)); }
public IMongoCollection <AdBalance> GetAdsBalanceCollection() { return(IlevusDatabase.GetCollection <AdBalance>(IlevusTableNames.AdsBalanceTable)); }
public IMongoCollection <AdsReport> GetAdsReport() { return(IlevusDatabase.GetCollection <AdsReport>(IlevusTableNames.AdsReport)); }
public void EnsureIndexes() { var ads = GetAdsCollection(); var conversations = GetConversationsCollection(); var coachingProcesses = GetCoachingProcessCollection(); var meetings = GetMeetingScheduleCollection(); var pictures = GetPicturesCollection(); var subscriptions = GetSubscriptionsCollection(); var users = IlevusDatabase.GetCollection <IlevusUser>("users"); // Ad searching opts var adSearch = Builders <Ad> .IndexKeys.Combine( Builders <Ad> .IndexKeys.Text(ad => ad.Headline), Builders <Ad> .IndexKeys.Text(ad => ad.Keywords) ); var adWeights = new BsonDocument(); adWeights["Headline"] = 2; adWeights["Keywords"] = 3; var adOpts = new CreateIndexOptions <Ad>() { DefaultLanguage = "portuguese", LanguageOverride = "AdLanguage", Name = "AdSearchIndex", Weights = adWeights }; ads.Indexes.CreateOne(adSearch, adOpts); var checksum = Builders <IlevusPicture> .IndexKeys.Ascending(pic => pic.Checksum); var unique = new CreateIndexOptions { Unique = true, }; pictures.Indexes.CreateOne(checksum, unique); var authors = Builders <ChatConversation> .IndexKeys.Combine( Builders <ChatConversation> .IndexKeys.Ascending(conversation => conversation.FirstUser), Builders <ChatConversation> .IndexKeys.Ascending(conversation => conversation.SecondUser) ); var daySort = Builders <ChatConversation> .IndexKeys.Descending(conversation => conversation.Day); conversations.Indexes.CreateOne(authors); conversations.Indexes.CreateOne(daySort); var tableFilter = Builders <MeetingSchedule> .IndexKeys.Combine( Builders <MeetingSchedule> .IndexKeys.Ascending(meeting => meeting.UserId), Builders <MeetingSchedule> .IndexKeys.Ascending(meeting => meeting.Begin) ); var begin = Builders <MeetingSchedule> .IndexKeys.Ascending(meeting => meeting.Begin); var userId = Builders <MeetingSchedule> .IndexKeys.Ascending(meeting => meeting.UserId); meetings.Indexes.CreateOne(tableFilter); meetings.Indexes.CreateOne(begin); meetings.Indexes.CreateOne(userId); var subUserId = Builders <IlevusSubscription> .IndexKeys.Ascending(sub => sub.UserId); var subStatus = Builders <IlevusSubscription> .IndexKeys.Combine( Builders <IlevusSubscription> .IndexKeys.Ascending(sub => sub.UserId), Builders <IlevusSubscription> .IndexKeys.Ascending(sub => sub.Status) ); subscriptions.Indexes.CreateOne(subUserId); subscriptions.Indexes.CreateOne(subStatus); // User search indexes var text = Builders <IlevusUser> .IndexKeys.Combine( Builders <IlevusUser> .IndexKeys.Ascending(u => u.IsProfessional), Builders <IlevusUser> .IndexKeys.Text(u => u.Email), Builders <IlevusUser> .IndexKeys.Text(u => u.Name), Builders <IlevusUser> .IndexKeys.Text(u => u.Surname), Builders <IlevusUser> .IndexKeys.Text(u => u.Professional.City), Builders <IlevusUser> .IndexKeys.Text(u => u.Professional.County), Builders <IlevusUser> .IndexKeys.Text(u => u.Professional.Country), Builders <IlevusUser> .IndexKeys.Text(u => u.Professional.Industry), Builders <IlevusUser> .IndexKeys.Text("Professional.Services.Name"), Builders <IlevusUser> .IndexKeys.Text(u => u.Professional.Specialties) ); var weights = new BsonDocument(); weights["Email"] = 10; weights["Surname"] = 8; weights["Name"] = 6; weights["Professional.Industry"] = 6; weights["Professional.Services.Name"] = 6; weights["Professional.Specialties"] = 6; weights["Professional.City"] = 4; weights["Professional.County"] = 2; weights["Professional.Country"] = 1; var textOpts = new CreateIndexOptions <IlevusUser>() { DefaultLanguage = "portuguese", LanguageOverride = "SearchLanguage", Name = "UserSearchIndex", Weights = weights }; users.Indexes.CreateOne(text, textOpts); }
public IMongoCollection <Ad> GetAdsCollection() { return(IlevusDatabase.GetCollection <Ad>(IlevusTableNames.AdsTable)); }
public IMongoCollection <IlevusSubscription> GetSubscriptionsCollection() { return(IlevusDatabase.GetCollection <IlevusSubscription>(IlevusTableNames.SubscriptionsTable)); }
public void EnsureSystemConfig() { var configCollection = IlevusDatabase.GetCollection <SystemConfig>(IlevusTableNames.SystemConfigTable); var configs = configCollection.Find(FilterDefinition <SystemConfig> .Empty).FirstOrDefault(); if (configs == null) { ResourceSet pt_br = IlevusResources.Manager.GetResourceSet(new CultureInfo(CultureHelper.GetImplementedCulture("pt-br")), true, true); ResourceSet en = IlevusResources.Manager.GetResourceSet(new CultureInfo(CultureHelper.GetImplementedCulture("en")), true, true); ResourceSet es = IlevusResources.Manager.GetResourceSet(new CultureInfo(CultureHelper.GetImplementedCulture("es")), true, true); configs = new SystemConfig() { AccountBlockingMessages = new SystemTranslatedEmail() { pt_br = new SystemEmail() { Subject = pt_br.GetString("EmailAccountBlockSubject"), Template = pt_br.GetString("EmailAccountBlockBody") }, en = new SystemEmail() { Subject = en.GetString("EmailAccountBlockSubject"), Template = en.GetString("EmailAccountBlockBody") }, es = new SystemEmail() { Subject = es.GetString("EmailAccountBlockSubject"), Template = es.GetString("EmailAccountBlockBody") } }, EmailValidationMessages = new SystemTranslatedEmail() { pt_br = new SystemEmail() { Subject = pt_br.GetString("EmailConfirmEmailSubject"), Template = pt_br.GetString("EmailConfirmEmailBody") }, en = new SystemEmail() { Subject = en.GetString("EmailConfirmEmailSubject"), Template = en.GetString("EmailConfirmEmailBody") }, es = new SystemEmail() { Subject = es.GetString("EmailConfirmEmailSubject"), Template = es.GetString("EmailConfirmEmailBody") } }, RecoverPasswordMessages = new SystemTranslatedEmail() { pt_br = new SystemEmail() { Subject = pt_br.GetString("EmailRecoverPasswordSubject"), Template = pt_br.GetString("EmailRecoverPasswordBody") }, en = new SystemEmail() { Subject = en.GetString("EmailRecoverPasswordSubject"), Template = en.GetString("EmailRecoverPasswordBody") }, es = new SystemEmail() { Subject = es.GetString("EmailRecoverPasswordSubject"), Template = es.GetString("EmailRecoverPasswordBody") } }, WelcomeMessages = new SystemTranslatedEmail() { pt_br = new SystemEmail() { Subject = pt_br.GetString("EmailWelcomeSubject"), Template = pt_br.GetString("EmailWelcomeBody") }, en = new SystemEmail() { Subject = en.GetString("EmailWelcomeSubject"), Template = en.GetString("EmailWelcomeBody") }, es = new SystemEmail() { Subject = es.GetString("EmailWelcomeSubject"), Template = es.GetString("EmailWelcomeBody") } }, SystemMessage = new SystemTranslatedEmail() { pt_br = new SystemEmail() { Subject = pt_br.GetString("EmailWelcomeSubject"), Template = pt_br.GetString("EmailWelcomeBody") }, en = new SystemEmail() { Subject = en.GetString("EmailWelcomeSubject"), Template = en.GetString("EmailWelcomeBody") }, es = new SystemEmail() { Subject = es.GetString("EmailWelcomeSubject"), Template = es.GetString("EmailWelcomeBody") } } }; configCollection.InsertOne(configs); } SystemConfiguration = configs; var DefinitionCollection = IlevusDatabase.GetCollection <SystemDefinitions>(IlevusTableNames.SystemDefinitionsTable); var definitions = DefinitionCollection.Find(FilterDefinition <SystemDefinitions> .Empty).FirstOrDefault(); SystemDefinitions = (definitions != null) ? definitions : new SystemDefinitions(); var msgCollection = IlevusDatabase.GetCollection <SystemMessages>(IlevusTableNames.SystemMessagesTable); Messages = new ConcurrentDictionary <string, SystemMessages>(); var msgs = msgCollection.Find(FilterDefinition <SystemMessages> .Empty).ToList(); foreach (var msg in msgs) { if (!Messages.Any(x => x.Key == msg.Language)) { Messages.Add(msg.Language, msg); } } var lang = CultureHelper.GetImplementedCulture("pt-br"); SystemMessages messages; try { messages = Messages[lang]; if (messages.Messages.Any(x => x.Key == "TextFooterContent" && x.Value.Content == "???TextFooterContent???")) { messages.Add("TextFooterContent", new SystemLabel { Content = "/cms/ConteudoRodape-PtBr.html" }); } } catch (KeyNotFoundException ex) { messages = CreateMSystemMessages(lang, msgCollection); Messages.Add(lang, messages); } lang = CultureHelper.GetImplementedCulture("en"); try { messages = Messages[lang]; if (messages.Messages.Any(x => x.Key == "TextFooterContent" && x.Value.Content == "???TextFooterContent???")) { messages.Add("TextFooterContent", new SystemLabel { Content = "/cms/ConteudoRodape-EnUs.html" }); } } catch (KeyNotFoundException ex) { messages = CreateMSystemMessages(lang, msgCollection); Messages.Add(lang, messages); } lang = CultureHelper.GetImplementedCulture("es"); try { messages = Messages[lang]; if (messages.Messages.Any(x => x.Key == "TextFooterContent" && x.Value.Content == "???TextFooterContent???")) { messages.Add("TextFooterContent", new SystemLabel { Content = "/cms/ConteudoRodape-Es.html" }); } } catch (KeyNotFoundException ex) { messages = CreateMSystemMessages(lang, msgCollection); Messages.Add(lang, messages); } }
public IMongoCollection <IlevusUser> GetUsersCollection() { return(IlevusDatabase.GetCollection <IlevusUser>(IlevusTableNames.UsersTable)); }
public IMongoCollection <ChatConversation> GetConversationsCollection() { return(IlevusDatabase.GetCollection <ChatConversation>(IlevusTableNames.ConversationsTable)); }
public IMongoCollection <AdLogModeration> GetAdsLogCollection() { return(IlevusDatabase.GetCollection <AdLogModeration>(IlevusTableNames.AdsLogTable)); }
public IMongoCollection <AssessmentModel> GeAssessmentsCollection() { return(IlevusDatabase.GetCollection <AssessmentModel>(IlevusTableNames.AssessmentsTable)); }
public IMongoCollection <SiteMapLogModel> GetSiteMapLogCollection() { return(IlevusDatabase.GetCollection <SiteMapLogModel>(IlevusTableNames.SiteMapTable)); }
public IMongoCollection <NotificationModel> GetNotificationsCollection() { return(IlevusDatabase.GetCollection <NotificationModel>(IlevusTableNames.NotificationsTable)); }
public IMongoCollection <SystemMessages> GetSystemMessagesCollection() { return(IlevusDatabase.GetCollection <SystemMessages>(IlevusTableNames.SystemMessagesTable)); }
public IMongoCollection <MeetingSchedule> GetMeetingScheduleCollection() { return(IlevusDatabase.GetCollection <MeetingSchedule>(IlevusTableNames.MeetingScheduleTable)); }
public IMongoCollection <IlevusPicture> GetPicturesCollection() { return(IlevusDatabase.GetCollection <IlevusPicture>(IlevusTableNames.PicturesTable)); }