public UserProfile(SessionInfo session)
        {
            InitializeComponent();

            var userSearchingService = NinjectKernel.Kernel.Get<UserSearcher>();
            var messageHistoryService = NinjectKernel.Kernel.Get<MessageHistoryService>();
            var friendService = NinjectKernel.Kernel.Get<FriendsService>();
            var messengerService = NinjectKernel.Kernel.Get<Messanger>();
            var messageSerchingServ = NinjectKernel.Kernel.Get<MessageSearcher>();
            var profilePhotoService = NinjectKernel.Kernel.Get<Services.PhotoService.UsersPhotoService>();
            var imageServ = NinjectKernel.Kernel.Get<ImageService>();
            var auth = NinjectKernel.Kernel.Get<Authenticator>();
            var imageUrlService = NinjectKernel.Kernel.Get<ImageUrlService>();

            DataContext = new UserProfileViewModel(
                messageHistoryService,
                userSearchingService,
                friendService,
                messengerService,
                session,
                messageSerchingServ,
                profilePhotoService,
                imageServ,
                auth,
                imageUrlService);
        }
        public SessionInfo GetSession(string key)
        {
            SessionInfo session = new SessionInfo();
            try
            {
                session = sessions[key];
            }
            catch (Exception)
            {
                return session;
            }

            return session;
        }
        internal string CreateSession(User user)
        {
            var creatingTime = DateTime.Now;
            var stringBuilder = new StringBuilder();
            stringBuilder.Append(creatingTime);
            stringBuilder.Append(user.Email);
            stringBuilder.Append(user.HashPassword);

            string input = stringBuilder.ToString();
            string key = new Md5CryptoService().CalculateMd5Hash(input);

            var session = new SessionInfo(new UserModel(user), creatingTime) { IsLogged = true };
            session.SessionKey = key;
            sessions.Add(key, session);

            return key;
        }
 public void Run()
 {
     string sessionKey = AuthenticationService.SessionManager
         .CreateSession(bot.BotProfile);
     SessionInfo = authentication.GetSession(sessionKey);
 }