public MainWindow() { _container = new IocUnityContainer(); _playerStatus = new PlayerStatus(); InitializeComponent(); CheckConfigurationKey("HostId"); CheckConfigurationKey("UndeadMusicRelayUrl"); CheckConfigurationKey("UndeadMusicPath"); var hostId = Convert.ToInt32(ConfigurationManager.AppSettings["HostId"]); UndeadMusicRelayUrl = ConfigurationManager.AppSettings["UndeadMusicRelayUrl"]; UndeadMusicPath = ConfigurationManager.AppSettings["UndeadMusicPath"]; _host = _container.Resolve <IHostService>().GetHost(hostId); Title = string.Format("Undead Music Player - {0}", _host.Name); ConsoleLog("Hostname: " + _host.Name); Player.LoadedBehavior = MediaState.Manual; Player.MediaEnded += PlayerOnMediaEnded; InitializeSignalR(UndeadMusicRelayUrl); }
public static void RegisterComponents() { var container = new UnityContainer(); var unityContainer = new IocUnityContainer(container); DependencyResolver.SetResolver(new UnityDependencyResolver(container)); }
protected void Application_Error() { var unityContainer = new IocUnityContainer(); var logManager = unityContainer.Resolve <ILogManager>(); logManager.DefaultLogger.Error.Write("An unhandled Error has occurred", Server.GetLastError()); }
static void Main() { ServiceBase[] ServicesToRun; var unityContainer = new IocUnityContainer(); ServicesToRun = new ServiceBase[] { new Service(unityContainer.Resolve <ILogManager>(), unityContainer.Resolve <IEmailMessageService>()) }; ServiceBase.Run(ServicesToRun); }
protected void Session_Start() { var unityContainer = new IocUnityContainer(); var logManager = unityContainer.Resolve <ILogManager>(); try { var userName = HttpContext.Current.User.Identity.Name; logManager.DefaultLogger.Information.Write(string.Format("User {0} logged", userName)); var userService = unityContainer.Resolve <IUserService>(); var user = userService.CreateUser(userName, UserHelper.GetDefaultAvatarUrl(HttpContext.Current.Request)); UserHelper.SetUserInfo(user); } catch (Exception ex) { logManager.DefaultLogger.Error.Write("Session_Start", ex); } }
static void Main(string[] args) { var container = new IocUnityContainer(); _logService = container.Resolve <ILogService>(); if (ConfigurationManager.AppSettings["MusicFolderPath"] == null) { ConsoleLog("Error:: The required MusicFolderPath configuration key is missing"); return; } var songService = container.Resolve <ISongService>(); var folderPath = ConfigurationManager.AppSettings["MusicFolderPath"]; int totalFiles = 0; int errorCount = 0; ConsoleLog(string.Format("Scan started: {0}", DateTime.Now.ToString("hh\\:mm\\:ss"))); DateTime scanTime = DateTime.Now; if (Directory.Exists(folderPath)) { ConsoleLog("Computing hash of files..."); StringDictionary filesHash = ComputeFolderHash(folderPath); ConsoleLog("Processing files..."); var filePaths = Directory.GetFiles(folderPath, "*.mp3"); foreach (var filePath in filePaths) { try { var fileName = Path.GetFileName(filePath).ToLower(CultureInfo.InvariantCulture); var fileHash = filesHash[fileName]; if (!songService.SongExistsByHash(fileHash)) { var musicTrack = Id3Reader.Instance.GetMusicTrackFromId3(filePath); if (musicTrack == null) { continue; } var song = SongFromMusicTrack(musicTrack, fileHash, fileName); songService.AddSong(song); ConsoleLog(string.Format("{0} : added to the database", fileName)); } else { ConsoleLog(string.Format("{0} : already exists in database", fileName)); } } catch (Exception ex) { var innerException = ex.InnerException != null ? "InnerException::" + ex.InnerException.Message : ""; ConsoleLog(string.Format("ERROR:: {0} : {1}", filePath, ex.Message + "StackTrace::" + ex.StackTrace + innerException)); errorCount += 1; } totalFiles += 1; } } ConsoleLog(string.Format("Scan finished. Total time: {0}. Total {1} files scanned. Total Errors {2} (see application file log for more details)", DateTime.Now.Subtract(scanTime).ToString("hh\\:mm\\:ss"), totalFiles, errorCount)); }
static void Main(string[] args) { try { var container = new IocUnityContainer(); var movieService = container.Resolve <IMovieService>(); _logService = container.Resolve <ILogService>(); DateTime scanTime = DateTime.Now; var rootFolder = ConfigurationManager.AppSettings["RootFolder"]; var mediaFileExtensions = ConfigurationManager.AppSettings["MediaFileExtensions"]; var pictureFileExtensions = ConfigurationManager.AppSettings["PictureFileExtensions"]; ConsoleLog($"starting scan on {rootFolder}"); var folderPaths = Directory.GetDirectories(rootFolder); ConsoleLog($"{folderPaths.Length} folders found"); int movieCount = 0; foreach (var path in folderPaths) { var folderName = Path.GetFileName(path); var match = Regex.Match(folderName, "(\\d+)-([\\w\\s]+)", RegexOptions.IgnoreCase); var year = match.Groups[1].Value; var name = match.Groups[2].Value; var movieFileName = Directory.GetFiles(path, mediaFileExtensions).Select(Path.GetFileName).ToList(); var thumbnailFileName = Path.GetFileName(Directory.GetFiles(path, pictureFileExtensions).FirstOrDefault()); string sinopsis = string.Empty; var sinopsisPath = Path.Combine(path, "sinopsis.txt"); if (File.Exists(sinopsisPath)) { sinopsis = File.ReadAllText(sinopsisPath, Encoding.Default); } if (movieFileName.Any()) { var movie = new Movie { Year = Convert.ToInt32(year), Name = name, MovieFolder = folderName, MovieFiles = movieFileName.Select(m => new MovieFile { FileName = m }).ToList(), ThumbnailFileName = thumbnailFileName, Sinopsis = sinopsis }; movieCount += 1; var existingMovie = movieService.GetByName(name); if (existingMovie == null) { movieService.CreateMovie(movie); ConsoleLog($"scanning folder: {name} [create]"); } else { movieService.UpdateMovie(movie); ConsoleLog($"scanning folder: {name} [update]"); } } else { ConsoleLog($"no movie files found for folder: {name}"); } } ConsoleLog("scan finished"); ConsoleLog($"{movieCount} movies found"); ConsoleLog($"total time: {DateTime.Now.Subtract(scanTime).ToString("hh\\:mm\\:ss")}"); _logService.Info($"{Environment.NewLine}========================================================================================="); } catch (Exception ex) { LogException(ex); } }
public Main() { _container = new IocUnityContainer(); InitializeComponent(); }
static void Main(string[] args) { var container = new IocUnityContainer(); _logService = container.Resolve <ILogService>(); DateTime scanTime = DateTime.Now; ConsoleLog("scan started"); try { // Startup check var mediaConfigurationManager = new MediaConfigurationManager(args, new FolderValidator()); ConsoleLog("startup checking..."); if (!mediaConfigurationManager.StartupCheck()) { ConsoleLog("startup check failed, please see log for more details"); ConsoleLog("usage: UPictures.Discover.exe [MediaFolderPath]"); _logService.Error(mediaConfigurationManager.Errors); return; } ConsoleLog("all ok!"); var mediaProcessorFactory = new MediaProcessorFactory(mediaConfigurationManager.IrfanViewBinPath, mediaConfigurationManager.ThumbnailFolderPath, mediaConfigurationManager.SearchFolderPath, mediaConfigurationManager.MasterFolderPath, mediaConfigurationManager.ViewFolderPath); var fileProcessor = new FileProcessor(mediaConfigurationManager.PictureFileExtensions); var totalFiles = 0; var errorCount = 0; var folderPaths = Directory.GetDirectories(mediaConfigurationManager.RootFolder); var folderIndex = 0; var folderCount = folderPaths.Length; ConsoleLog($"{folderCount} subfolders discovered at {mediaConfigurationManager.RootFolder}"); foreach (var folderPath in folderPaths) { folderIndex += 1; var folderName = Path.GetFileName(folderPath); ConsoleLog($"start processing of '{folderName}' [{folderIndex} of {folderCount}]"); var titleResult = TitleProcessor.Process(folderName); if (titleResult != null) { var albumService = container.Resolve <IAlbumService>(); var existingAlbum = albumService.GetByName(titleResult.Title); if (existingAlbum != null) { ConsoleLog($"album '{titleResult.Title}' already exists, skipping folder"); continue; } ConsoleLog($"creating album '{titleResult.Title}'"); var album = new Album(titleResult.Title); var files = Directory.GetFiles(folderPath); var fileIndex = 0; var fileCount = files.Count(); foreach (var filePath in files) { fileIndex += 1; var fileProcess = fileProcessor.Process(filePath); if (fileProcess == null) { ConsoleLog($"ERROR: Unknown file type for: {filePath}"); errorCount += 1; continue; } ConsoleLog($"[{folderIndex}/{folderCount}]:[{fileIndex}/{fileCount:00}] processing '{fileProcess.Name}{fileProcess.Extension}' of type '{fileProcess.Extension}'"); var mediaProcessor = mediaProcessorFactory.GetFileProcessor(); ConsoleLog($"[{folderIndex}/{folderCount}]:[{fileIndex}/{fileCount}] creating thumbnails for '{fileProcess.Name}{fileProcess.Extension}'"); mediaProcessor.CreateThumbnail(fileProcess); ConsoleLog($"[{folderIndex}/{folderCount}]:[{fileIndex}/{fileCount}] creating search for '{fileProcess.Name}{fileProcess.Extension}'"); mediaProcessor.CreateSearch(fileProcess); ConsoleLog($"[{folderIndex}/{folderCount}]:[{fileIndex}/{fileCount}] creating view for '{fileProcess.Name}{fileProcess.Extension}'"); mediaProcessor.CreateView(fileProcess); ConsoleLog($"[{folderIndex}/{folderCount}]:[{fileIndex}/{fileCount}] creating master for '{fileProcess.Name}{fileProcess.Extension}'"); mediaProcessor.CreateMaster(fileProcess); var mediaFile = new Picture(fileProcess.Name, fileProcess.FileSize, fileProcess.Width, fileProcess.Height, album.Name) { DateTaken = fileProcess.DateTaken, CameraModel = fileProcess.CameraModel, CameraMaker = fileProcess.CameraMaker }; album.AddPicture(mediaFile); totalFiles += 1; } ConsoleLog($"saving album '{album.Name}'"); albumService.SaveAlbum(album); } else { ConsoleLog($"ERROR: failed to process folder title for: {folderPath}"); errorCount += 1; } } ConsoleLog("scan finished"); ConsoleLog($"total time: {DateTime.Now.Subtract(scanTime).ToString("hh\\:mm\\:ss")}"); ConsoleLog($"total folders scanned: {folderCount}"); ConsoleLog($"total files scanned: {totalFiles}"); ConsoleLog($"total errors: {errorCount} (see application file log for more details)"); } catch (Exception ex) { ConsoleLog("ERROR: an unhandled error has occurred. Please see log for more details."); var errorMessage = new StringBuilder(); errorMessage.AppendLine(ex.Message); errorMessage.AppendLine(ex.StackTrace); if (ex.InnerException != null) { errorMessage.AppendLine(ex.InnerException.Message); errorMessage.AppendLine(ex.InnerException.StackTrace); } _logService.Error(errorMessage.ToString()); } }