/// <summary> /// Phương thức tìm các group không chứa User chỉ định /// </summary> /// <param name="userId">UserId chỉ định</param> /// <returns>Danh sách các group không chứa User</returns> public List <UserGroup> GetGroupByNotInUser(long userId) { try { var userUserGroupBusiness = new UserUserGroupBusiness(); var listGroupsInUser = userUserGroupBusiness.GetByUserId_(userId); var arrayIdGroupsInUser = new long[listGroupsInUser.Count()]; int i = 0; foreach (var re in listGroupsInUser) { arrayIdGroupsInUser[i] = re.UserUsergroup1; i++; } IQueryable <UserGroup> query = GetDynamicQuery(); return(query.Where(p => arrayIdGroupsInUser.Contains(p.Id) == false).ToList()); } catch (SqlException ex) { _logger.Error("", ex); throw ObjectUtil.CreateFaultException(CodedException.SqlExceptionUnhandler, "Sql Exeption"); } catch (Exception ex) { _logger.Error("", ex); throw ObjectUtil.CreateFaultException(CodedException.Unhandler, "Unhandler Exception"); } }
/// <summary> /// Phương thức kiểm tra thông tin đăng nhập dành cho branch /// </summary> /// <param name="userName">UserNamw</param> /// <param name="passWord">Password</param> /// <param name="locationId">ID Rạp</param> /// <param name="computerIp">IP máy</param> /// <param name="computerName">Tên máy</param> /// <returns>UserInfo</returns> public UserInfo CheckLoginBranch(string userName, string passWord, string locationId, string computerIp, string computerName) { try { var userInfo = new UserInfo(); var userEntities = new BuyGroup365Entities(); List <GetUserByUserNameAndPassword_Result> user = userEntities.GetUserByUserNameAndPassword(userName, Common.util.Common.GetMd5Sum(passWord)).ToList(); if (user.Any()) { GetUserByUserNameAndPassword_Result userLogin = user.ElementAt(0); //Kiểm tra xem có phải nhân viên rạp này không if (userLogin.CompanyId == 0 || userLogin.CompanyId == long.Parse(locationId) || userLogin.IsSuperUser) { userInfo.ScreenName = userLogin.Screenname; userInfo.UserId = userLogin.Id; userInfo.UserName = userLogin.Username; //Nếu đã là supper admin thì gán luôn if (userLogin.IsSuperUser) { userInfo.IsSuperUser = true; } else //Ngược lại xem có thuộc Group BRANCH_ADMIN không (Admin BRANCH_ADMIN ~ Supperadmin) { List <GroupInfo> listGroup = new UserUserGroupBusiness().GetByUserId(userInfo.UserId); foreach (GroupInfo group in listGroup) { if (group.Code.Equals("BRANCH_ADMIN")) { userInfo.IsSuperUser = true; break; } } } if (userLogin.DiscountPercent != null) { userInfo.DisountPercent = (float)userLogin.DiscountPercent; } if (userLogin.Status == (int)Common.util.Common.USER_STATUS.ACTIVE) { if (userLogin.Expireddate == null) { userInfo.Status = true; userInfo.StatusMessage = "Trạng thái tốt."; } else { if (((DateTime)userLogin.Expireddate) >= DateTime.Now) { userInfo.Status = true; userInfo.StatusMessage = "Trạng thái tốt."; } else { userInfo.Status = false; userInfo.StatusMessage = "Tài khoản đã hết hạn."; } } } else { userInfo.Status = false; userInfo.StatusMessage = userLogin.Status == (int)Common.util.Common.USER_STATUS.NOACTIVE ? "Tài khoản chưa được active." : "Tài khoản đang bị khóa."; } } else { userInfo.Status = false; userInfo.StatusMessage = "Bạn không được cấp quyền truy cập vào rạp này ."; } } else { userInfo.Status = false; userInfo.StatusMessage = "Tên đăng nhập hoặc mật khẩu không hợp lệ."; } _logger.Info("userInfo: " + JsonConvert.SerializeObject(userInfo)); return(userInfo); } catch (SqlException ex) { _logger.Error("", ex); throw ObjectUtil.CreateFaultException(CodedException.SqlExceptionUnhandler, "Sql Exeption"); } catch (Exception ex) { _logger.Error("", ex); throw ObjectUtil.CreateFaultException(CodedException.Unhandler, "Unhandler Exception"); } }