public ImageBrowserController(IInvestContext investContext, IUserRepository userRepository)
 {
     this.directoryBrowser = new DirectoryBrowser();
     this.thumbnailCreator = new ThumbnailCreator();
     this._investContext = investContext;
     this._userRepository = userRepository;
 }
 /// <summary>  
 /// Инициализирует новый экземпляр ProjectController с внедрением зависемостей к хранилищам проектов,
 /// новостей проекта, комментариев проекта и систымных данных приложения.</summary>  
 /// <param name="projectRepository">Экземпляр класса ProjectRepository, предоставляющий доступ к хранилищу данных о проектах.</param>
 /// <param name="projectNewsRepository">Экземпляр класса ProjectRepository, предоставляющий доступ к хранилищу данных о новостях проекта.</param>
 /// <param name="projectCommentRepository">Экземпляр класса ProjectRepository, предоставляющий доступ к хранилищу данных о новостях проекта.</param>
 /// <param name="investContext">Экземпляр класса InvestContext, предоставляет доступ к системным данным приложения.</param>
 /// <returns>Новый экземпляр ProjectController.</returns>
 public ProjectController(IProjectRepository projectRepository, IProjectNewsRepository projectNewsRepository,
     IProjectCommentRepository projectCommentRepository, IInvestContext investContext, IProjectNewsCommentsRepository projectNewsCommentsRepository)
 {
     this._projectRepository = projectRepository;
     this._projectNewsRepository = projectNewsRepository;
     this._projectNewsCommentsRepository = projectNewsCommentsRepository;
     this._projectCommentRepository = projectCommentRepository;
     this._investContext = investContext;
 }
 /// <summary>
 /// Инициализирует новый экземпляр PrivateOfficeController с внедрением зависемостей к хранилищу данных о пользователях, их личной информации, настройках, проектах исообщениях
 /// </summary>
 /// <param name="userRepository">Экземпляр класса UserRepository, предоставляющий доступ к хранилищу данных о пользователях</param>
 /// <param name="usersInfoRepository">Экземпляр класса UsersInfoRepository, предоставляющий доступ к хранилищу личных данных о пользователях</param>
 /// <param name="messageRepository">Экземпляр класса MessageRepository, предоставляющий доступ к хранилищу данных сообщених пользователей</param>
 /// <param name="projectRepository">Экземпляр класса ProjectRepository, предоставляющий доступ к хранилищу данных о проектах</param>
 /// <param name="investContext">Экземпляр класса InvestContext, предоставляющий доступ к системным данным приложения</param>
 public PrivateOfficeController(IUserRepository userRepository, IUsersInfoRepository usersInfoRepository, 
                                IMessageRepository messageRepository, IProjectRepository projectRepository,
                                IInvestContext investContext)
 {
     _userRepository = DependencyResolver.Current.GetService<IUserRepository>();
     _usersInfoRepository = usersInfoRepository;
     _messageRepository = messageRepository;
     _projectRepository = projectRepository;
     _investContext = investContext;
 }
 /// <summary>
 /// Инициализирует новый экземпляр PrivateOfficeController с внедрением зависемостей к хранилищу данных о пользователях, их личной информации, настройках, проектах исообщениях
 /// </summary>
 /// <param name="userRepository">Экземпляр класса UserRepository, предоставляющий доступ к хранилищу данных о пользователях</param>
 /// <param name="usersInfoRepository">Экземпляр класса UsersInfoRepository, предоставляющий доступ к хранилищу личных данных о пользователях</param>
 /// <param name="messageRepository">Экземпляр класса MessageRepository, предоставляющий доступ к хранилищу данных сообщених пользователей</param>
 /// <param name="projectRepository">Экземпляр класса ProjectRepository, предоставляющий доступ к хранилищу данных о проектах</param>
 /// <param name="investContext">Экземпляр класса InvestContext, предоставляющий доступ к системным данным приложения</param>
 public PrivateOfficeController(IUserRepository userRepository, IUsersInfoRepository usersInfoRepository, 
                                IMessageRepository messageRepository, IProjectRepository projectRepository,
                                IInvestContext investContext)
 {
     _userRepository = userRepository;
     _usersInfoRepository = usersInfoRepository;
     _messageRepository = messageRepository;
     _projectRepository = projectRepository;
     _investContext = investContext;
 }
 /// <summary>
 /// Инициализирует новый экземпляр ProjectNewsCommentController с внедрением зависемостей к хранилищу комметариев новостей проектов
 /// </summary>
 /// <param name="investContext">Экземпляр класса InvestContext, предоставляющий доступ к системным данным приложения</param>
 /// <param name="projectNewsCommentsRepository">Экземпляр класса ProjectNewsCommentsRepository, предоставляющий доступ к хранилищу данных о комментариях к новости проекта</param>
 public ProjectNewsCommentController(IInvestContext investContext, IProjectNewsCommentsRepository projectNewsCommentsRepository)
 {
     _projectNewsCommentsRepository = projectNewsCommentsRepository;
     _investContext = investContext;
 }
 /// <summary>
 /// Инициализирует новый экземпляр контроллера настроек профиля пользователя
 /// </summary>
 /// <param name="userRepository">Экземпляр класса UserRepository, предоставляющий доступ к хранилищу данных о пользователях</param>
 /// <param name="investContext">Экземпляр класса InvestContext, предоставляющий доступ к системным данным приложения</param>
 public UserSettingsController(IUserRepository userRepository, IInvestContext investContext)
 {
     _userRepository = userRepository;
     _investContext = investContext;
 }
 /// <summary>
 /// Инициализирует новый экземпляр ProjectCommentController с внедрением зависемостей к хранилищу данных о пользователях и их сообщениях
 /// </summary>
 /// <param name="userRepository">Экземпляр класса UserRepository, предоставляющий доступ к хранилищу данных о пользователях</param>
 /// <param name="investContext">Экземпляр класса InvestContext, предоставляющий доступ к системным данным приложения</param>
 /// <param name="messageRepository">Экземпляр класса ProjectCommentRepository, предоставляющий доступ к хранилищу данных о ссобщениях пользователей</param>
 public MessageController(IUserRepository userRepository, IInvestContext investContext, IMessageRepository messageRepository)
 {
     _userRepository = userRepository;
     _messageRepository = messageRepository;
     _investContext = investContext;
 }
 /// <summary>
 /// Инициализирует новый экземпляр AccountController с внедрением зависемостей к хранилищу данных о пользователях и их сообщениях
 /// </summary>
 /// <param name="userRepository">Экземпляр класса UserRepository, предоставляющий доступ к хранилищу данных о пользователях</param>
 /// <param name="roleRepository">Экземпляр класса RoleRepository, предоставляющий доступ к хранилищу данных о ролях пользователей</param>
 /// <param name="investContext">Экземпляр класса InvestContext, предоставляющий доступ к системным данным приложения</param>
 public AccountController(IUserRepository userRepository, IRoleRepository roleRepository, IInvestContext investContext)
 {
     this._userRepository = userRepository;
     this._roleRepository = roleRepository;
     this._investContext = investContext;
 }
 /// <summary>
 /// Инициализирует новый экземпляр UsersInfoController с внедрением зависемостей к хранилищу личной информации пользователей
 /// </summary>
 /// <param name="usersInfoRepository">Экземпляр класса ProjectCommentRepository, предоставляющий доступ к хранилищу данных о пользователях</param>
 /// <param name="investContext">Экземпляр класса InvestContext, предоставляющий доступ к системным данным приложения</param>
 public UsersInfoController(IUsersInfoRepository usersInfoRepository, IInvestContext investContext)
 {
     _usersInfoRepository = usersInfoRepository;
     _investContext = investContext;
 }