예제 #1
0
        public ControllerResultTO ResetFlow()
        {
            var controllerResult = new ControllerResultTO();

            try
            {
                if (!StationBO.IsLoad())
                {
                    throw new ApplicationException("Estacao nao configurada");
                }
                else if (GetCurrentStatus() == ControllerStatus.WaitUserInput)
                {
                    SetCurrentStatus(ControllerStatus.Busy);

                    SessionBO.GetInstance().ClearAllVariables();

                    var resultTO = StationBO.GoFirstStep();

                    controllerResult.Result        = resultTO.Result;
                    controllerResult.PromptMessage = resultTO.Message;
                }
            }
            catch (Exception ex)
            {
                controllerResult.Result         = Result.Fail;
                controllerResult.ExecuteMessage = ex.Message;
                controllerResult.PromptMessage  = StationBO.GetCurrentStep().Data.Prompt;
                controllerResult.Exception      = ex;
            }
            finally
            {
                SetCurrentStatus(ControllerStatus.WaitUserInput);
            }
            return(controllerResult);
        }
예제 #2
0
        public async Task <IActionResult> Index()
        {
            try
            {
                // GET SESSIONS
                SessionController sessionController = new SessionController();
                SessionBO         session           = sessionController.GetSession(HttpContext.Session);

                ApiRequest apiRequest = new ApiRequest();
                ResponseBO _res       = await apiRequest.GetAsync("User/Profile", session.SessionCookies);

                UserResponseBO apiResponse = JsonConvert.DeserializeObject <UserResponseBO>(_res.ResponseResult);

                TblUserInfo userInfo = apiResponse.UserInfo;
                TblUserAuth userAuth = apiResponse.UserAuth;

                if (apiResponse.HttpStatusCode == "200")
                {
                    ActivityVM activityVM = new ActivityVM();
                    activityVM.Fullname = String.Format("{0} {1}", userInfo.FirstName, userInfo.LastName);
                    activityVM.Username = userAuth.UserName;

                    return(View(activityVM));
                }
                else
                {
                    return(RedirectToAction("Login", "Home"));
                }
            }
            catch (System.Exception e)
            {
                return(RedirectToAction("Login", "Home"));
            }
        }
예제 #3
0
        // GET: /<controller>/
        public async Task <IActionResult> Index()
        {
            try
            {
                // GET SESSIONS
                SessionController sessionController = new SessionController();
                SessionBO         session           = sessionController.GetSession(HttpContext.Session);

                ApiRequest apiRequest = new ApiRequest();
                ResponseBO _res       = await apiRequest.GetAsync("User/Profile", session.SessionCookies);

                UserResponseBO apiResponse = JsonConvert.DeserializeObject <UserResponseBO>(_res.ResponseResult);

                TblUserInfo userInfo = apiResponse.UserInfo;
                TblUserAuth userAuth = apiResponse.UserAuth;

                _res = await apiRequest.GetAsync("User/Wallet", session.SessionCookies);

                apiResponse = JsonConvert.DeserializeObject <UserResponseBO>(_res.ResponseResult);

                List <UserWalletBO> userWallets = apiResponse.UserWallet;

                if (apiResponse.HttpStatusCode == "200")
                {
                    DashboardVM dashboardVM = new DashboardVM();
                    dashboardVM.Fullname          = String.Format("{0} {1}", userInfo.FirstName, userInfo.LastName);
                    dashboardVM.TotalCustomer     = (int)userWallets.Find(i => i.WalletCode == "DLN").Balance;
                    dashboardVM.TotalFirstDeposit = (int)userWallets.Find(i => i.WalletCode == "IDC").Balance;
                    dashboardVM.TotalHits         = (int)userWallets.Find(i => i.WalletCode == "HIT").Balance;
                    dashboardVM.TotalIncome       = (int)userWallets.Find(i => i.WalletCode == "TIN").Balance;
                    dashboardVM.TotalSignUps      = (int)userWallets.Find(i => i.WalletCode == "TCR").Balance;
                    dashboardVM.Username          = userAuth.UserName;

                    return(View(dashboardVM));
                }
                else
                {
                    return(RedirectToAction("Login", "Home"));
                }
            }
            catch (System.Exception e)
            {
                return(RedirectToAction("Login", "Home"));
            }
        }
예제 #4
0
        public SessionBO GetSession(ISession session)
        {
            string _currentUserSession       = session.GetString(USER_SESSION);
            string _currentUserSessionCookie = session.GetString(USER_SESSION_COOKIE);

            if (_currentUserSession != null)
            {
                SessionBO sessionBO = new SessionBO();
                sessionBO.SessionCookies = JsonConvert.DeserializeObject <CookieCollection>(_currentUserSessionCookie);
                sessionBO.UserInfo       = JsonConvert.DeserializeObject <TblUserInfo>(_currentUserSession);

                return(sessionBO);
            }
            else
            {
                throw new System.ArgumentException("User session invalid or expired.");
            }
        }