public void Remove(string id, SemanticVersion version, bool enableDelisting) { if (enableDelisting) { if (_fileSystem is PhysicalFileSystem physicalFileSystem) { var fileName = physicalFileSystem.GetFullPath( GetPackageFileName(id, version.ToNormalizedString())); if (File.Exists(fileName)) { File.SetAttributes(fileName, File.GetAttributes(fileName) | FileAttributes.Hidden); } else { _logger.Log( LogLevel.Error, "Error removing package {0} {1} - could not find package file {2}", id, version, fileName); } } } else { var package = _repository.FindPackage(id, version); if (package != null) { _repository.RemovePackage(package); } } }
public async Task <SearchResponseViewModel> GetByName(string searchString, SiteLevel?siteLevel = null) { if (searchString.IsNullOrBlank() || searchString.Trim().Length < 2) { return(new SearchResponseViewModel()); } // TODO: XXX: NSP: aggregate both searches into parallel queries var siteId = _siteIdProvider.GetSiteId(); siteLevel = siteLevel ?? SiteLevel.Global; // TODO: XXX: NSP: Search / Site level caching in Redis (not local) - can also derive all locations from IA var queryResult = await _querySender.Send(new FeelSearchQuery { Name = searchString, SiteId = siteId, SiteLevel = siteLevel.Value }); IList <EventSearchResult> searchResults = new List <EventSearchResult>(); try { //searchResults = await _searchProvider.Search(searchString, siteId, siteLevel.Value, false); if (!searchResults.Any()) { _logger.Log(LogCategory.Warn, "No IA results returned", new Dictionary <string, object> { ["SearchString"] = searchString }); //var categoryEventQueryResult = await _querySender.Send(new CategoryEventSearchQuery //{ // Name = searchString, // SiteId = siteId //}); //searchResults = categoryEventQueryResult // .CategoryEvents? // .Select(_eventSearchResultBuilder.Build) // .ToList() ?? new List<EventSearchResult>(); searchResults = new List <EventSearchResult>(); } } catch (Exception e) { _logger.Log(LogCategory.Error, e); } return(new SearchResponseViewModel { CategoryEvents = searchResults.ToList(), Cities = queryResult.Cities, States = queryResult.States, Countries = queryResult.Countries, }); }
// Server Lifecycle public void Start() { if (exitFlag) { return; } exitFlag = false; logger.Log(this.GetType(), "Starting server on port [" + Port + "]"); listenerThread.Start(); }
public async Task SendEmailAsync(IEnumerable <string> recepients, string subject, string body, CancellationToken cancellationToken = default) { using var smtpClient = BuildSmtpClient(); _logger.Log($"Sending email to:"); foreach (var to in recepients) { try { _logger.Log(to); var mailMessage = GenerateMailMessage(to, subject, body); if (_appSettings.SendEmails) { await smtpClient.SendMailAsync(mailMessage); } else { _logger.Log($"Did not send email to {to} due to config settings"); } } catch (Exception ex) { _logger.Log($"Failed to send email to: {to}"); _logger.Log(ex.ToString()); continue; } } _logger.Log("Emails processed!"); }
internal static void DoStep(PipMod.Step step, Assembly assembly) { var methods = GetStepHandlersFor(assembly, step); if (methods.Count > 0) { Logger.Verbose("{0}: {1}", step.ToString().ToUpper(), assembly.FullName); foreach (var method in methods) { try { Logger.Debug("Invoking step handler in: {0}", method.DeclaringType.FullName); var args = method.GetParameters(); if (args.Length == 1 && typeof(IPipMod).IsAssignableFrom(args[0].ParameterType)) { method.Invoke(null, new object[] { GetModForAssembly(assembly) }); } else if (args.Length == 1 && typeof(Assembly).IsAssignableFrom(args[0].ParameterType)) { method.Invoke(null, new object[] { assembly }); } else { method.Invoke(null, new object[0]); } } catch (Exception ex) { Logger.Error("Failed running {0} for '{1}' at {2}.{3}:", step.ToString().ToUpper(), assembly.FullName, method.DeclaringType.FullName, method.Name); Logger.Log(ex); // ModHadError(mod, step); } } } }
public FeelSiteDynamicLayoutSectionQueryResult Handle(FeelSiteDynamicLayoutSectionQuery query) { try { var pageData = _feelDynamicLayoutPageRepository.Get(query.PageId); var sectionData = _feelDynamicLayoutSectionRepository.GetAllSectionsByPageId(query.PageId); if (sectionData == null) { throw new ArgumentNullException($"Unable to get sections for page {pageData.PageName}"); } else { return(new FeelSiteDynamicLayoutSectionQueryResult { PageName = pageData.PageName, Sections = sectionData }); } } catch (Exception ex) { _logger.Log(Logging.Enums.LogCategory.Error, ex); return(new FeelSiteDynamicLayoutSectionQueryResult()); } }
public EventSearchResult Build(InfiniteFeelAnalyticsItem item, EventCategoryQueryResult ParentCategory) { try { UpdateInfiniteFeelAnalyticsItem(item); var parentCategory = ParentCategory.EventCategories.Where(w => w.Category == item.Category).FirstOrDefault(); //Logic to check if parentCategory variable is null or not [Sentry error handling NullReferenceException] int parentId = -1; if (parentCategory != null) { parentId = parentCategory.EventCategoryId; } var parent = ParentCategory.EventCategories.Where(w => w.Id == parentId).FirstOrDefault(); if (parent != null) { EventSearchResult _EventSearchResult = new EventSearchResult { AltId = new Guid(item.DeDuplicator), // DeDuplicator returning the altIds Name = item.Name, ParentCategory = parent.Category, CityName = item.City, CountryName = item.Country, RedirectUrl = item.Url }; return(_EventSearchResult); } else { EventSearchResult _EventSearchResult = new EventSearchResult { AltId = new Guid(item.DeDuplicator), // DeDuplicator returning the altIds Name = item.Name, ParentCategory = "SeeAndDo", CityName = item.City, CountryName = item.Country, RedirectUrl = item.Url }; return(_EventSearchResult); } } catch (Exception ex) { _logger.Log(Logging.Enums.LogCategory.Error, ex); UpdateInfiniteFeelAnalyticsItem(item); EventSearchResult _EventSearchResult = new EventSearchResult { AltId = new Guid(item.DeDuplicator), // DeDuplicator returning the altIds Name = item.Name, ParentCategory = "SeeAndDo", CityName = item.City, CountryName = item.Country, RedirectUrl = item.Url }; return(_EventSearchResult); } }
private (string Field, string Value) GetSiteFilter(Site siteId, SiteLevel siteLevel) { var levelValue = siteId.GetAttribute <SearchTermAttribute>()?.Term; if (levelValue == null) { // try to extract from name var site = siteId.ToString().Replace("feel", "").Replace("Site", ""); levelValue = Regex.Replace(site, "([A-Z])", " $1", RegexOptions.Compiled).Trim(); _logger.Log(LogCategory.Warn, $"Feel site {siteId} does not have SearchTerm set on enum."); } var field = siteLevel.GetAttribute <SearchTermAttribute>()?.Term ?? siteLevel.ToString().ToLowerInvariant(); return(field, levelValue); }
public FeelNearbyQueryResult Handle(FeelNearbyQuery query) { try { var nearByPlaces = _feelNearbyRepository.GetNearbyPlaces(query.Latitude, query.Longitude, query.Distance); if (nearByPlaces == null) { throw new ArgumentNullException($"Unable to get nearby places for lat {query.Latitude} lon {query.Longitude}"); } else { var nearbyItems = new List <VenueWithCityName>(); foreach (var item in nearByPlaces) { var city = _cityRepository.Get(item.CityId); nearbyItems.Add(new VenueWithCityName { Id = item.Id, AltId = item.AltId, Name = item.Name, AddressLineOne = item.AddressLineOne, AddressLineTwo = item.AddressLineTwo, CityId = item.CityId, Latitude = item.Latitude, Longitude = item.Longitude, HasImages = item.HasImages, Prefix = item.Prefix, City = city.Name }); } return(new FeelNearbyQueryResult { Latitude = query.Latitude, Longitude = query.Longitude, NearbyPlaces = nearbyItems }); } } catch (Exception ex) { _logger.Log(Logging.Enums.LogCategory.Error, ex); return(new FeelNearbyQueryResult()); } }
public FeelItLiveHostQueryResult Handle(FeelItLiveHostQuery query) { try { var result = _eventHostMappingRepository.GetLatestByEmail(query.Email); return(new FeelItLiveHostQueryResult { AltId = (System.Guid)result.AltId, FirstName = result.FirstName, LastName = result.LastName, Description = result.Description, Email = result.Email }); } catch (Exception ex) { _logger.Log(Logging.Enums.LogCategory.Error, ex); return(new FeelItLiveHostQueryResult()); throw ex; } }
private void SetupBackgroundJobs() { if (!_runBackgroundTasks) { return; } _logger.Log(LogLevel.Info, "Registering background jobs..."); // Persist to package store at given interval (when dirty) _persistenceTimer = new Timer(state => _serverPackageStore.PersistIfDirty(), null, TimeSpan.FromMinutes(1), TimeSpan.FromMinutes(1)); // Rebuild the package store in the background (every hour) _rebuildTimer = new Timer(state => RebuildPackageStore(), null, TimeSpan.FromSeconds(15), TimeSpan.FromHours(1)); _logger.Log(LogLevel.Info, "Finished registering background jobs."); }