コード例 #1
0
        public async Task <IHttpActionResult> GetUserInfoAsync()
        {
            Response response    = new Response();
            String   accessToken = HttpContext.Current.Request.Headers.Get("Authorization").Replace("Bearer ", "");

            if (accessToken != null)
            {
                Token    token       = Service.tokenDAO.getByAccessToken(accessToken);
                DateTime currentDate = DateTime.Now;
                DateTime expiresDate = token.expires;
                int      result      = DateTime.Compare(currentDate, expiresDate);
                if (result <= 0)
                {
                    UserInfo userInfo = new UserInfo();
                    var      user     = await Service._userManager.FindByEmailAsync(token.userName);

                    user.UserInfo = Service.userInfoDAO.getUserInfo(user.userInfoId);
                    CurrentUserInfoLogin currentUserInfoLogin = new CurrentUserInfoLogin();

                    user.groups = Service.userGroupDAO.getUserGroupByUser(user.Id).ToList();

                    currentUserInfoLogin.dob            = user.UserInfo.dob;
                    currentUserInfoLogin.lastName       = user.UserInfo.lastName;
                    currentUserInfoLogin.firstName      = user.UserInfo.firstName;
                    currentUserInfoLogin.status         = user.UserInfo.status;
                    currentUserInfoLogin.id             = user.UserInfo.id;
                    currentUserInfoLogin.identityNumber = user.UserInfo.identityNumber;
                    currentUserInfoLogin.groups         = user.groups.ToList();

                    UserInfoViewModel userInfoModel = new UserInfoViewModel();
                    userInfoModel._id      = user.Id;
                    userInfoModel.Email    = User.Identity.GetUserName();
                    userInfoModel.userInfo = currentUserInfoLogin;
                    response.code          = "200";
                    response.status        = "Success";
                    response.results       = userInfoModel;
                    return(Content <Response>(HttpStatusCode.OK, response));
                }
                else
                {
                    Service.tokenDAO.delete(token.id);     //remove token from database
                    response.status  = "Phiên đăng nhập của bạn đã hết hạn, vui lòng đăng nhập lại";
                    response.code    = "401";
                    response.results = "";
                    return(Content <Response>(HttpStatusCode.OK, response));
                }
            }
            else
            {
                response.status  = "Phiên đăng nhập của bạn đã hết hạn, vui lòng đăng nhập lại";
                response.code    = "401";
                response.results = "";
                return(Content <Response>(HttpStatusCode.OK, response));
            }
        }
コード例 #2
0
        public IHttpActionResult updateAccountInfo([FromUri] string id, [FromBody] CurrentUserInfoLogin currentUserInfoLogin)
        {
            Response response = new Response();

            if (id == null)
            {
                response.code   = "400";
                response.status = "Missing Required fields";
                return(Content <Response>(HttpStatusCode.BadRequest, response));
            }

            var      flag       = 0;
            var      user       = Service._userManager.FindById(id);
            var      userInfoId = user.UserInfo.id;
            UserInfo userInfo   = new UserInfo();

            userInfo = Service.userInfoDAO.getUserInfo(userInfoId);
            if (currentUserInfoLogin.identityNumber != null)
            {
                userInfo.identityNumber = currentUserInfoLogin.identityNumber;
                flag++;
            }
            if (currentUserInfoLogin.firstName != null)
            {
                userInfo.firstName = currentUserInfoLogin.firstName;
                flag++;
            }
            if (currentUserInfoLogin.lastName != null)
            {
                userInfo.lastName = currentUserInfoLogin.lastName;
                flag++;
            }
            if (currentUserInfoLogin.dob != null)
            {
                userInfo.dob = currentUserInfoLogin.dob;
            }
            if (flag > 0)
            {
                Service.userInfoDAO.updateUserInfo(userInfo);
            }
            response.code   = "200";
            response.status = "Success";
            return(Content <Response>(HttpStatusCode.OK, response));
        }
コード例 #3
0
        public ActionResult Index(String email, String password, String returnUrl)
        {
            ViewBag.email     = email;
            ViewBag.password  = password;
            ViewBag.returnUrl = returnUrl;
            returnUrl         = "http://localhost:54962/";
            if (email == null || password == null)
            {
                return(View());
            }
            HttpClient httpClient = new HttpClient();

            httpClient.BaseAddress = baseUrl;
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            LoginModel loginModel = new LoginModel();

            loginModel.email    = email;
            loginModel.password = password;
            HttpContent httpContent = new ObjectContent <LoginModel>(loginModel, new JsonMediaTypeFormatter());

            var reponse = httpClient.PostAsync("api/account/login", httpContent).Result;

            if (reponse.IsSuccessStatusCode)
            {
                var contents = ((JObject)reponse.Content.ReadAsAsync <Response>().Result.results).ToObject <Token>();
                Session["currentUser"] = contents.accessToken;

                HttpClient httpClient1 = new HttpClient();
                httpClient1.BaseAddress = baseUrl;
                httpClient1.DefaultRequestHeaders.Add("Authorization", "Bearer " + Session["currentUser"]);

                var response2 = httpClient1.GetAsync("api/account/userinfo").Result;
                if (response2.IsSuccessStatusCode)
                {
                    var content2 = ((JObject)response2.Content.ReadAsAsync <Response>().Result.results).ToObject <UserInfoViewModel>();
                    CurrentUserInfoLogin userInfo = ((JObject)content2.userInfo).ToObject <CurrentUserInfoLogin>();
                    Boolean isCustomer            = true;
                    Boolean isSuperAdmin          = false;
                    Boolean isAdmin    = false;
                    Boolean isMerchant = false;
                    foreach (var userGroup in userInfo.groups)
                    {
                        if (userGroup.Group.name == "Merchant")
                        {
                            isCustomer = false;
                            isMerchant = true;
                            break;
                        }
                        else if (userGroup.Group.name == "Admin")
                        {
                            isCustomer = false;
                            isAdmin    = true;
                        }
                        else if (userGroup.Group.name == "SuperAdmin")
                        {
                            isCustomer   = false;
                            isSuperAdmin = true;
                        }
                    }
                    List <SidebarModel> sidebar = new List <SidebarModel>();
                    if (isSuperAdmin)
                    {
                        //sidebar.Add(new SidebarModel("Người dùng", "/dashboard/users?pageSize=10&pageIndex=1", "ti-user", "user"));
                        sidebar.Add(new SidebarModel("Sản phẩm", "/dashboard/products?pageSize=10&pageIndex=1", "ti-package", "product"));
                        //sidebar.Add(new SidebarModel("Đơn hàng", "/dashboard/invoices?pageSize=10&pageIndex=1", "ti-shopping-cart-full", "invoice"));
                        //sidebar.Add(new SidebarModel("Thông tin cá nhân", "/dashboard/info", "ti-id-badge", "info"));
                        sidebar.Add(new SidebarModel("Đăng xuất", "/logout", "ti-shift-right", "logout"));
                    }
                    else if (isAdmin)
                    {
                        //sidebar.Add(new SidebarModel("Người dùng", "/dashboard/users?pageSize=10&pageIndex=1", "ti-user", "user"));
                        sidebar.Add(new SidebarModel("Sản phẩm", "/dashboard/products?pageSize=10&pageIndex=1", "ti-package", "product"));
                        //sidebar.Add(new SidebarModel("Đơn hàng", "/dashboard/invoices?pageSize=10&pageIndex=1", "ti-shopping-cart-full", "invoice"));
                        //sidebar.Add(new SidebarModel("Thông tin cá nhân", "/dashboard/info", "ti-id-badge", "info"));
                        sidebar.Add(new SidebarModel("Đăng xuất", "/logout", "ti-shift-right", "logout"));
                    }
                    else if (isCustomer)
                    {
                        //sidebar.Add(new SidebarModel("Đơn hàng","/dashboard/invoices?pageSize=10&pageIndex=1", "ti-shopping-cart-full", "invoice"));
                        //sidebar.Add(new SidebarModel("Thông tin cá nhân","/dashboard/info", "ti-id-badge", "info"));
                        //sidebar.Add(new SidebarModel("Nâng cấp tài khoản","/upgrade", "ti-rocket", "upgrade"));
                        sidebar.Add(new SidebarModel("Đăng xuất", "/logout", "ti-shift-right", "logout"));
                    }
                    else if (isMerchant)
                    {
                        sidebar.Add(new SidebarModel("Sản phẩm", "/dashboard/products?pageSize=10&pageIndex=1", "ti-package", "product"));
                        //sidebar.Add(new SidebarModel("Đơn hàng", "/dashboard/invoices?pageSize=10&pageIndex=1", "ti-shopping-cart-full", "invoice"));
                        //sidebar.Add(new SidebarModel("Thông tin cá nhân", "/dashboard/info", "ti-id-badge", "info"));
                        //sidebar.Add(new SidebarModel("Mua gói tin", "/buy", "ti-money", "buy"));
                        sidebar.Add(new SidebarModel("Đăng xuất", "/logout", "ti-shift-right", "logout"));
                    }
                    Session["sidebar"]  = sidebar;
                    Session["username"] = userInfo.firstName + " " + userInfo.lastName;

                    if (!String.IsNullOrEmpty(returnUrl))
                    {
                        return(Redirect(returnUrl));
                    }
                    return(RedirectToAction("Index", "AdminHome"));
                }
                else
                {
                    ViewBag.error = "Sai tên đăng nhập hoặc mật khẩu";
                    return(View());
                }
            }
            return(View());
        }