/CBR/CBR.Core/Services/BookServiceFactory.cs
C# | 83 lines | 50 code | 10 blank | 23 comment | 4 complexity | d6d036193235343c163db000990bcbfe MD5 | raw file
- using System;
- using System.IO;
- using CBR.Core.Files;
- using CBR.Core.Models;
- using CBR.Core.Helpers;
-
- namespace CBR.Core.Services
- {
- public class BookServiceFactory
- {
- #region ----------------SINGLETON----------------
-
- public static readonly BookServiceFactory Instance = new BookServiceFactory();
-
- /// <summary>
- /// Private constructor for singleton pattern
- /// </summary>
- private BookServiceFactory()
- {
- }
-
- #endregion
-
- public BookServiceBase GetService(Book bk)
- {
- if (bk == null)
- return new BookServiceBase();
- else
- return GetService(bk.FilePath);
- }
-
- public BookServiceBase GetService(string filePath)
- {
- return (BookServiceBase)Activator.CreateInstance(
- FileService.Instance.FindBookFilterByExt(Path.GetExtension(filePath)).Service
- );
- }
-
- //public ViewModelBase GetViewModel(Book bk)
- //{
- // try
- // {
- // return GetViewModel(bk.FilePath);
- // }
- // catch (Exception err)
- // {
- // ExceptionHelper.Manage("BookServiceFactory:GetViewModel", err);
- // return null;
- // }
- //}
-
- //public ViewModelBase GetViewModel(string filePath)
- //{
- // FileExtension fe = FileExtensionManager.Instance.FindBookFilterByExt(Path.GetExtension(filePath));
- // if (fe != null)
- // return (ViewModelBase)new ReflectionHelper().CreateInstance(fe.ViewModel);
- // else
- // return null;
- //}
-
- public string GetViewModel(Book bk)
- {
- try
- {
- return GetViewModel(bk.FilePath);
- }
- catch (Exception err)
- {
- ExceptionHelper.Manage("BookServiceFactory:GetViewModel", err);
- return string.Empty;
- }
- }
-
- public string GetViewModel(string filePath)
- {
- FileExtension fe = FileService.Instance.FindBookFilterByExt(Path.GetExtension(filePath));
- if (fe != null)
- return fe.ViewModel;
- else
- return string.Empty;
- }
- }
- }