예제 #1
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"));
            }
        }
예제 #2
0
        public IHttpActionResult DeleteUser(int id)
        {
            ResponseBO <UserBO> response = UserRepository.DeleteUser(id);

            if (response.IsSuccess)
            {
                return(Ok <UserBO>(response.ReturnedObject));
            }
            else
            {
                return(Content(HttpStatusCode.NotFound, "Unable to Delete User"));
            }
        }
예제 #3
0
        public IHttpActionResult ModifyUser([FromBody] UserBO UserBO)
        {
            ResponseBO <UserBO> response = UserRepository.ModifyUser(UserBO);

            if (response.IsSuccess)
            {
                return(Ok <UserBO>(response.ReturnedObject));
            }
            else
            {
                return(Content(HttpStatusCode.NotFound, "Unable to Modify User"));
            }
        }
예제 #4
0
        public IHttpActionResult GetUserById([FromUri] int id)
        {
            ResponseBO <UserBO> response = UserRepository.GetUserById(id);

            if (response.IsSuccess)
            {
                return(Ok <UserBO>(response.ReturnedObject));
            }
            else
            {
                return(Content(HttpStatusCode.NotFound, "Unable to add User"));
            }
        }
예제 #5
0
        public async Task <IActionResult> LoginAsync([FromBody] UserBO userBO)
        {
            try
            {
                ApiRequest apiRequest = new ApiRequest();
                ResponseBO _res       = await apiRequest.PostAsync("User/Authenticate", userBO);

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

                if (apiResponse.HttpStatusCode == "200")
                {
                    SessionController sessionController = new SessionController();
                    sessionController.CreateSession(apiResponse, _res.ResponseCookies, HttpContext.Session);

                    TblUserInfo tblUserInfo = apiResponse.UserInfo;
                    TblUserAuth tblUserAuth = apiResponse.UserAuth;
                    TblUserRole tblUserRole = apiResponse.UserRole;



                    //if (tblUserRole.AccessRole.Equals("Admin") || tblUserRole.AccessRole.Equals("SuperAdmin"))
                    //{
                    //    apiResponse.RedirectUrl = "/Admin/";
                    //}
                    //else
                    //{
                    //    apiResponse.RedirectUrl = "/Dashboard/";
                    //}
                    apiResponse.RedirectUrl = "/Dashboard/";
                    return(Ok(apiResponse));
                }
                else
                {
                    apiResponse.RedirectUrl = "/User/Login/Failed";
                    return(BadRequest(apiResponse));
                }
            }
            catch (System.Exception e)
            {
                UserResponseBO apiResponse = new UserResponseBO();
                apiResponse.RedirectUrl = "/User/Login/Failed";
                apiResponse.Message     = e.Message;
                return(BadRequest(apiResponse));
                //return Redirect("~/User/Login/Failed");
            }
        }
예제 #6
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"));
            }
        }
예제 #7
0
        public ResponseBO <UserBO> GetUserById(int id)
        {
            ResponseBO <UserBO> responseBO = new ResponseBO <UserBO>();

            try
            {
                responseBO.ReturnedObject  = FindElementByID(id).ToUserDTO();
                responseBO.IsSuccess       = true;
                responseBO.ResponseMessage = "Successfully got the User";
                return(responseBO);
            }
            catch (Exception e)
            {
                responseBO.IsSuccess       = false;
                responseBO.ResponseMessage = e.InnerException.ToString();
                return(responseBO);
            }
        }
예제 #8
0
        public ResponseBO <UserBO> DeleteUser(int id)
        {
            ResponseBO <UserBO> responseBO = new ResponseBO <UserBO>();

            try
            {
                User User = _context.Users.Remove(FindElementByID(id));
                _context.SaveChanges();
                responseBO.ReturnedObject  = User.ToUserDTO();
                responseBO.IsSuccess       = true;
                responseBO.ResponseMessage = "Successfully deleted the User";
                return(responseBO);
            }
            catch (Exception e)
            {
                responseBO.IsSuccess       = false;
                responseBO.ResponseMessage = e.InnerException.ToString();
                return(responseBO);
            }
        }
예제 #9
0
        public ResponseBO <UserBO> ModifyUser(UserBO UserBO)
        {
            ResponseBO <UserBO> responseBO = new ResponseBO <UserBO>();

            try
            {
                _context.Entry(UserBO.ToUserOTB()).State = EntityState.Modified;
                _context.SaveChanges();
                responseBO.ReturnedObject  = FindElementByID(UserBO.UserID).ToUserDTO();
                responseBO.IsSuccess       = true;
                responseBO.ResponseMessage = "Successfully Modified the User";
                return(responseBO);
            }
            catch (Exception e)
            {
                responseBO.IsSuccess       = false;
                responseBO.ResponseMessage = e.InnerException.ToString();
                return(responseBO);
            }
        }
예제 #10
0
        public ResponseBO <UserBO> AddUser(UserBO UserBO)
        {
            ResponseBO <UserBO> responseBO = new ResponseBO <UserBO>();

            try
            {
                User User = _context.Users.Add(UserBO.ToUserOTB());
                _context.SaveChanges();
                responseBO.ReturnedObject  = User.ToUserDTO();
                responseBO.IsSuccess       = true;
                responseBO.ResponseMessage = "Successfully Inserted User";

                return(responseBO);
            }
            catch (Exception e)
            {
                responseBO.IsSuccess       = false;
                responseBO.ResponseMessage = e.InnerException.ToString();
                return(responseBO);
            }
        }
예제 #11
0
        public async Task <ResponseBO> GetAsync(string url, CookieCollection requestCookies = null, string contentType = "application/json")
        {
            CookieContainer   cookies = new CookieContainer();
            HttpClientHandler handler = new HttpClientHandler();

            handler.CookieContainer = cookies;

            if (requestCookies != null)
            {
                int cookieCount = requestCookies.Count();
                for (int i = 0; i < cookieCount; i++)
                {
                    handler.CookieContainer.Add(ApiUri, new Cookie(requestCookies.ElementAt(i).Name, requestCookies.ElementAt(i).Value));
                }
            }

            using (HttpClient _client = new HttpClient(handler)
            {
                BaseAddress = ApiUri, Timeout = TimeSpan.FromHours(2)
            })
            {
                //_client.DefaultRequestHeaders.Clear();
                HttpResponseMessage x = await _client.GetAsync(ApiUri.AbsoluteUri + "api/" + url);

                CookieCollection responseCookies = cookies.GetCookies(ApiUri);

                if (x.IsSuccessStatusCode)
                {
                    ResponseBO response = new ResponseBO();
                    response.ResponseCookies = responseCookies;
                    response.ResponseResult  = await x.Content.ReadAsStringAsync();

                    return(response);
                }
                else
                {
                    throw new System.ArgumentException(String.Format("{0}", x.ReasonPhrase));
                }
            }
        }