예제 #1
0
        public void TestFixtureSetup()
        {
            DatabaseFixtureSetUp();
            IInterceptor interceptor = new SessionInterceptor();

            NHibernateSessionManager.Instance.RegisterInterceptorOn(@"..\..\WebNHibernate.config", interceptor);
        }
예제 #2
0
    static void Main(string[] args)
    {
        //using (var httpClient = new HttpClient())
        //{
        //    var uri = "http://*****:*****@"c:\data\welcome-page.html");
                var echoContent  = Encoding.UTF8.GetBytes(responsePage);
                responseInfo.AddHeader("Content-Type", "text/html");
                responseInfo.OutputStream.Write(echoContent, 0, echoContent.Length);
                responseInfo.Close();

                continue;
            }
            else if (requestInfo.RawUrl == "/app/get-me")
            {
                var sessionInterceptor = new SessionInterceptor();
                var userId             = sessionInterceptor.GetCurrentUserBySessionId(requestInfo, responseInfo);
            }
            else if (requestInfo.RawUrl == "/app/change-password")
            {
                var handler = Router.Routes[requestInfo.RawUrl];
                responseInfo.AddHeader("Content-Type", "application/json");
                handler.Handle(requestInfo, responseInfo);

                responseInfo.Close();
            }
            else
            {
                var handler = Router.Routes[requestInfo.RawUrl];

                responseInfo.AddHeader("Content-Type", "application/json");
                handler.Handle(requestInfo, responseInfo);

                responseInfo.Close();
            }
        }

        Console.WriteLine("Completed request processing!");
    }
예제 #3
0
    public void Handle(HttpListenerRequest requestInfo, HttpListenerResponse responseInfo)
    {
        var sessionInterceptor = new SessionInterceptor();
        var userId             = sessionInterceptor.GetCurrentUserBySessionId(requestInfo, responseInfo);

        if (userId != null)
        {
            var user = InMemoryDb.Users.First(w => w.Id == userId);
            responseInfo.StatusCode = 200;
            var balance = new
            {
                balance = user.Balance
            };
            var json  = JsonConvert.SerializeObject(balance);
            var bytes = Encoding.UTF8.GetBytes(json);

            responseInfo.OutputStream.Write(bytes);
        }
        else
        {
            responseInfo.StatusCode = 401;
            responseInfo.StatusCode = 401;
            var errorMessage = "Unauthorized!";
            var json         = JsonConvert.SerializeObject(errorMessage);
            var bytes        = Encoding.UTF8.GetBytes(json);

            responseInfo.OutputStream.Write(bytes);
        }
    }
예제 #4
0
    public void Handle(HttpListenerRequest requestInfo, HttpListenerResponse responseInfo)
    {
        var sessionInterceptor = new SessionInterceptor();
        var userId             = sessionInterceptor.GetCurrentUserBySessionId(requestInfo, responseInfo);

        if (userId != null)
        {
            using (var ms = new MemoryStream())
            {
                requestInfo.InputStream.CopyTo(ms);
                var requestBody   = ms.ToArray();
                var requestString = Encoding.UTF8.GetString(requestBody);

                var command = JsonConvert.DeserializeObject <ChangePasswordCommand>(requestString);

                var userPasswordChange = InMemoryDb.Users.FirstOrDefault(w => w.Email == "*****@*****.**") as ApplicationUser;
                userPasswordChange.Password = command.NewPassword;
                responseInfo.StatusCode     = 200;
            }
        }
        else
        {
            responseInfo.StatusCode = 401;
            var errorMessage = "Unauthorized!";
            var json         = JsonConvert.SerializeObject(errorMessage);
            var bytes        = Encoding.UTF8.GetBytes(json);

            responseInfo.OutputStream.Write(bytes);
        }
    }
        public virtual void SetUp()
        {
            log4net.Config.XmlConfigurator.Configure();

            IInterceptor interceptor = new SessionInterceptor(new UserContext(Guid.NewGuid(), "DevelopmentTests", DateTime.Now));

            NHibernateSessionManager.Instance.RegisterInterceptorOn(Config.GrundfosFactoryConfigPath, interceptor);
            NHibernateSessionManager.Instance.BeginTransactionOn(Config.GrundfosFactoryConfigPath);
        }
예제 #6
0
        public bool Execute(out string errors)
        {
#if DEBUG
            Debugger.Break();
#endif

            errors = "";

            IInterceptor interceptor = new SessionInterceptor();
            NHibernateSessionManager.Instance.RegisterInterceptorOn(Config.GrundfosFactoryConfigPath, interceptor);

            try
            {
                #region Check if needs to be executed

                if (DateTime.Now.Hour >= Convert.ToInt32(ConfigurationManager.AppSettings["ExecuteHour"]))
                {
                    if (ControllerManager.Log.IsExecuting(Name, ExecutionStatus.Start))
                    {
                        return(true);
                    }
                    else
                    {
                        ControllerManager.Log.Add(Name, ExecutionStatus.Start, string.Empty);
                    }
                }
                else
                {
                    return(true);
                }

                #endregion

                Utils.GetLogger().Info("[[CURRENCY UPDATE]] Currency Update Starting");
                ControllerManager.CurrencyRate.Synchronize();
                Utils.GetLogger().Info("[[CURRENCY UPDATE]] Currency Update Finished");
                ControllerManager.CurrentSession.Flush();

                ControllerManager.Log.Add(Name, ExecutionStatus.Finished, "Sync process finished successfully");
            }
            catch (Exception e)
            {
                errors = e.ToString();
                ControllerManager.Log.Add(Name, ExecutionStatus.Running, errors);
                return(false);
            }

            return(true);
        }
예제 #7
0
        public bool Execute()
        {
            try
            {
                IList <UserMember> lstUsers = MembershipManager.GetAdministrators();
                if (lstUsers.Count > 0)
                {
                    IInterceptor interceptor = new SessionInterceptor(new UserContext(lstUsers[0].ID, lstUsers[0].UserName, DateTime.Now));
                    NHibernateSessionManager.Instance.RegisterInterceptorOn(Config.GrundfosFactoryConfigPath, interceptor);
                }
                else
                {
                    throw new Exception("Could not retrieve Administrator user from Membership database.");
                }

                #region Check if needs to be executed

                if (DateTime.Now.Hour >= Convert.ToInt32(ConfigurationManager.AppSettings["ExecuteHour"]))
                {
                    if (ControllerManager.Log.IsExecuting(Name, ExecutionStatus.Start))
                    {
                        return(true);
                    }
                    else
                    {
                        ControllerManager.Log.Add(Name, ExecutionStatus.Start, string.Empty);
                    }
                }
                else
                {
                    return(true);
                }

                #endregion

                Utils.GetLogger().Info("[[SCALA UPDATE]] Distributors Update Starting ");
                ControllerManager.Distributor.ScalaUpdate();

                Utils.GetLogger().Info("[[SCALA UPDATE]] Providers Update Starting ");
                ControllerManager.Provider.ScalaUpdate();

                ControllerManager.CurrentSession.Flush();

                //Utils.GetLogger().Info("[[CURRENCY UPDATE]] Currency Update Starting");
                //ControllerManager.CurrencyRate.Synchronize();

                //Utils.GetLogger().Info("[[CURRENCY UPDATE]] Currency Update Finished");
                //ControllerManager.CurrentSession.Flush();


                ControllerManager.Log.Add(Name, ExecutionStatus.Finished, "Sync process finished successfully");
            }
            catch (Exception e)
            {
                Utils.GetLogger().Error(e);
                ControllerManager.Log.Add(Name, ExecutionStatus.Running, e.ToString());
                return(false);
            }

            return(true);
        }