Example #1
0
 public static StoreInfo ReadStoreInfo(ISession session)
 {
     return(new StoreInfo
     {
         StoreId = SessionOps.Read <int>(session, SessionName.StoreId),
         IsAdmin = SessionOps.Read <bool>(session, SessionName.AdminAccess),
         UserName = SessionOps.Read <string>(session, SessionName.UserName),
     });
 }
        public async Task <IActionResult> EditRole(string id)
        {
            var role = await _roleManager.FindByIdAsync(id);

            if (role == null)
            {
                return(RedirectToAction("Index"));
            }

            var roleEditViewModel = new RoleEditViewModel
            {
                Id       = id,
                RoleName = role.Name,
                Users    = new List <string>()
            };
            List <string> userList = new List <string>();

            var re = SessionOps.GetSessionList <string>(HttpContext.Session.Get($"role_{id}_user_list"));

            if (re != null)
            {
                userList = re;
            }
            else
            {
                var configAuthorization = Config.App.GetJToken(Constants.JsontagAuthorization) as JObject;
                var authBlob            = AzureService.GetBlob(null, "index", WebUIConfig.AppInfoConfigFile);
                var json = await authBlob.DownloadGenericObjectAsync();

                var addAuth    = JsonUtils.GetJToken(Constants.JsontagAuthorization, json);
                var addAuthObj = addAuth == null ? null : addAuth as JObject;
                if (!Object.ReferenceEquals(addAuthObj, null))
                {
                    addAuthObj.Merge(configAuthorization, new JsonMergeSettings
                    {
                        MergeArrayHandling = MergeArrayHandling.Union
                    });
                }
                if (!Object.ReferenceEquals(addAuthObj, null))
                {
                    foreach (var pair in addAuthObj)
                    {
                        if (pair.Key == role.Name)
                        {
                            var peopleArray = pair.Value as JArray;
                            foreach (var onepeople in peopleArray)
                            {
                                userList.Add(onepeople.ToString());
                            }
                        }
                    }
                }
                SessionOps.SetSession($"role_{id}_user_list", userList, HttpContext.Session);
            }
            roleEditViewModel.Users = userList;
            return(View(roleEditViewModel));
        }
Example #3
0
 public static void WriteCookieData(ISession session, PostLogin loginData)
 {
     SessionOps.Write(session, SessionName.StoreId, loginData.StoreId);
     SessionOps.Write(session, SessionName.AdminAccess, loginData.IsAdmin);
     SessionOps.Write(session, SessionName.LastLoginTime, loginData.LastLoginTime);
     SessionOps.Write(session, SessionName.StoreCity, loginData.StoreCity);
     SessionOps.Write(session, SessionName.StoreCode, loginData.StoreCode);
     SessionOps.Write(session, SessionName.StoreName, loginData.StoreName);
     SessionOps.Write(session, SessionName.UserName, loginData.UserName);
 }
Example #4
0
 public static PostLogin ReadCookieData(ISession session)
 {
     return(new PostLogin
     {
         StoreId = SessionOps.Read <int>(session, SessionName.StoreId),
         IsAdmin = SessionOps.Read <bool>(session, SessionName.AdminAccess),
         LastLoginTime = SessionOps.Read <string>(session, SessionName.LastLoginTime),
         StoreCity = SessionOps.Read <string>(session, SessionName.StoreCity),
         StoreCode = SessionOps.Read <string>(session, SessionName.StoreCode),
         StoreName = SessionOps.Read <string>(session, SessionName.StoreName),
         UserName = SessionOps.Read <string>(session, SessionName.UserName),
     });
 }
Example #5
0
        public static bool IsSessionSet(ISession session)
        {
            var usrname = SessionOps.Read <string>(session, SessionName.UserName);

            if (string.IsNullOrEmpty(usrname))
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
        public async Task <IActionResult> DeleteUserFromRole(string roleId)
        {
            var role = await _roleManager.FindByIdAsync(roleId);

            if (role == null)
            {
                return(RedirectToAction("Index"));
            }

            var vm = new UserRoleViewModel
            {
                RoleId = role.Id
            };

            List <string> userList = new List <string>();
            var           re       = SessionOps.GetSessionList <string>(HttpContext.Session.Get($"role_{roleId}_user_list"));

            if (re != null)
            {
                userList = re;
            }
            else
            {
                var authBlob = AzureService.GetBlob(null, "index", WebUIConfig.AppInfoConfigFile);
                var json     = await authBlob.DownloadGenericObjectAsync();

                var addAuth    = JsonUtils.GetJToken(Constants.JsontagAuthorization, json);
                var addAuthObj = addAuth == null ? null : addAuth as JObject;

                if (!Object.ReferenceEquals(addAuthObj, null))
                {
                    foreach (var pair in addAuthObj)
                    {
                        if (pair.Key == role.Name)
                        {
                            var peopleArray = pair.Value as JArray;
                            foreach (var onepeople in peopleArray)
                            {
                                userList.Add(onepeople.ToString());
                            }
                        }
                    }
                }
                SessionOps.SetSession($"role_{roleId}_user_list", userList, HttpContext.Session);
            }
            vm.Users = userList;
            return(View(vm));
        }
        public async Task <IActionResult> AddUserToRole(UserRoleViewModel userRoleViewModel)
        {
            var role = await _roleManager.FindByIdAsync(userRoleViewModel.RoleId);

            if (await AzureService.FindUserId(userRoleViewModel.Email) == null)
            {
                ModelState.AddModelError(string.Empty, "Email not exist!  Please confirm your email.");
                return(View(userRoleViewModel));
            }
            var authBlob = AzureService.GetBlob(null, "index", WebUIConfig.AppInfoConfigFile);
            var json     = await authBlob.DownloadGenericObjectAsync();

            var addAuth    = JsonUtils.GetJToken(Constants.JsontagAuthorization, json);
            var addAuthObj = addAuth == null ? null : addAuth as JObject;

            foreach (var pair in addAuthObj)
            {
                if (pair.Key == role.Name)
                {
                    var peopleArray = pair.Value as JArray;
                    foreach (var onepeople in peopleArray)
                    {
                        if (String.Compare(onepeople.ToString(), userRoleViewModel.Email, true) == 0)
                        {
                            return(RedirectToAction("EditRole", new { id = role.Id }));
                        }
                    }
                    var user = await _userManager.FindByEmailAsync(userRoleViewModel.Email);

                    if (user != null)
                    {
                        await _userManager.AddToRoleAsync(user, role.Name);
                    }
                    peopleArray.Add(userRoleViewModel.Email);
                    SessionOps.AddSession <string>($"role_{userRoleViewModel.RoleId}_user_list", userRoleViewModel.Email,
                                                   HttpContext.Session.Get($"role_{userRoleViewModel.RoleId}_user_list"),
                                                   HttpContext.Session);
                    await authBlob.UploadGenericObjectAsync(json);
                }
            }
            return(RedirectToAction("EditRole", new { id = role.Id }));
        }
        public async Task <IActionResult> DeleteUserFromRole(UserRoleViewModel userRoleViewModel)
        {
            var role = await _roleManager.FindByIdAsync(userRoleViewModel.RoleId);

            var authBlob = AzureService.GetBlob(null, "index", WebUIConfig.AppInfoConfigFile);
            var json     = await authBlob.DownloadGenericObjectAsync();

            var           addAuth    = JsonUtils.GetJToken(Constants.JsontagAuthorization, json);
            var           addAuthObj = addAuth == null ? null : addAuth as JObject;
            List <string> userList   = new List <string>();

            foreach (var pair in addAuthObj)
            {
                if (pair.Key == role.Name)
                {
                    var peopleArray = pair.Value as JArray;
                    foreach (var onepeople in peopleArray)
                    {
                        if (String.Compare(onepeople.ToString(), userRoleViewModel.Email, true) == 0)
                        {
                            var user = await _userManager.FindByEmailAsync(userRoleViewModel.Email);

                            if (user != null)
                            {
                                await _userManager.RemoveFromRoleAsync(user, role.Name);
                            }
                            peopleArray.Remove(onepeople);
                            await authBlob.UploadGenericObjectAsync(json);

                            SessionOps.RemoveSession <string>($"role_{userRoleViewModel.RoleId}_user_list", onepeople.ToString(),
                                                              HttpContext.Session.Get($"role_{userRoleViewModel.RoleId}_user_list"),
                                                              HttpContext.Session);
                            break;
                        }
                    }
                }
            }
            return(RedirectToAction("EditRole", new { id = role.Id }));
        }
Example #9
0
 public static void WriteLoggIn(ISession session, StoreInfo info)
 {
     SessionOps.Write(session, SessionName.StoreId, info.StoreId);
     SessionOps.Write(session, SessionName.AdminAccess, info.IsAdmin);
     SessionOps.Write(session, SessionName.UserName, info.UserName);
 }
Example #10
0
 public static void WriteLogOut(ISession session)
 {
     SessionOps.Write(session, SessionName.StoreId, 0);
     SessionOps.Write(session, SessionName.AdminAccess, false);
     SessionOps.Write(session, SessionName.UserName, "");
 }