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)); } }
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)); }
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()); }