Example #1
0
        /// <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");
            }
        }
Example #2
0
        /// <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");
            }
        }