Пример #1
0
        public ActionResult ListAccount(AccountCondition conditon)
        {
            AccountService service = new AccountService();
            AccountModel   model   = new AccountModel();

            model.ListAccount = new List <AccountModel>();
            // Kiểm tra quyền xem danh sách tài khoản.
            if (!IsAdmin())
            {
                model.Message = Configs.ALERT_NOT_ALLOW;
                model.Code    = (int)EnumError.ROLE_WRONG;
                model.Result  = false;
                return(View(model));
            }
            model.ListAccount = service.List(conditon);

            int total = 0;

            if (model.ListAccount.Count > 0)
            {
                total = model.ListAccount[0].Total;
            }

            Paging(conditon.page, conditon.pageSize, total);

            return(View(model));
        }
Пример #2
0
        public List <AccountModel> List(AccountCondition condition)
        {
            var query = (from e in Context.tblAccounts
                         join r in Context.tblRoles on e.RoleId equals r.Id
                         where (condition.key.Length > 0 ? e.UserName == condition.key || e.Email == condition.key : true) &&
                         e.Del_Flag == false
                         select new AccountModel()
            {
                Id = e.Id,
                UserName = e.UserName,
                Email = e.Email,
                Password = e.Password,
                Register_Date = e.Register_Date,
                Active_Code = e.Active_Code,
                Active_Date = e.Active_Date,
                State = e.State,
                Del_Flag = e.Del_Flag,
                RoleId = e.RoleId,
                RoleText = r.Text
            });
            var result = query.Skip((condition.page - 1) * condition.pageSize).Take(condition.pageSize).ToList();

            if (result != null && result.Count > 0)
            {
                result[0].Total = query.Count();
            }
            return(result);
        }
Пример #3
0
        /// <summary>
        /// 新增帳號
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        public bool AddAccount(AccountCondition condition)
        {
            this._accountContext.Add(condition);
            var result = this._accountContext.SaveChanges();

            return(result > 0);
        }
Пример #4
0
        public IActionResult Search([FromQuery] AccountCondition c, [FromQuery] bool with_Staff, [FromQuery] bool with_Teacher, [FromQuery] bool with_User, [FromQuery] bool with_AccountRoleList, [FromQuery] bool with_PasswordList, [FromQuery] string[] order, int currentPage = 1, int pageSize = 10, DateTime?p_when = null)
        {
#if DEBUG
            DataConnection.TurnTraceSwitchOn();
            DataConnection.WriteTraceLine = (msg, context) => Debug.WriteLine(msg, context);
#endif
            using (var db = new peppaDB())
            {
                var q = db.Account
                        .LoadWith(with_Staff, _ => _.Staff)
                        .LoadWith(with_Teacher, _ => _.Teacher)
                        .LoadWith(with_User, _ => _.User)
                        .LoadWith(with_AccountRoleList, _ => _.AccountRoleList)
                        .LoadWith(with_PasswordList, _ => _.PasswordList)
                        .IsActiveAt(p_when)
                ;
                var filtered = c == null ? q : q.Where(c.CreatePredicate());
                var ordered  = order.Any() ? filtered.SortBy(order) : filtered;
                var result   = ordered.Skip((currentPage - 1) * pageSize).Take(pageSize).ToList();

                #region アソシエーションでLoadWithしたものもフィルタする
                if (p_when != null)
                {
                    result.ForEach(_ =>
                    {
                        _.AccountRoleList = _.AccountRoleList?.Where(_ => _.IsActiveAt(p_when));
                        _.PasswordList    = _.PasswordList?.Where(_ => _.IsActiveAt(p_when));
                    });
                }
                #endregion

                return(Ok(result));
            }
        }
Пример #5
0
        /// <summary>
        /// 忘記密碼
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        public bool ForgetPassword(AccountCondition condition)
        {
            var data = this._accountContext.Users.Find(condition.Account);

            this._accountContext.Entry(data).CurrentValues.SetValues(condition);
            var result = this._accountContext.SaveChanges();

            return(result > 0);
        }
Пример #6
0
        public IActionResult GetByPage(int pi, int ps, AccountCondition condition = null)
        {
            var result = _accountService.GetByPage(pi, ps, null, condition);

            return(Ok(new
            {
                Total = result.Total,
                List = Mapper.Map <List <AccountDto> >(result.Data)
            }));
        }
Пример #7
0
        public int PhysicallyRemove([FromUri] AccountCondition c)
        {
#if DEBUG
            DataConnection.TurnTraceSwitchOn();
            DataConnection.WriteTraceLine = (msg, context) => Debug.WriteLine(msg, context);
#endif
            using (var db = new peppaDB())
            {
                var count = db.Account
                            .Where(c.CreatePredicate())
                            .Delete();
                return(count);
            }
        }
Пример #8
0
        public int Remove([FromUri] AccountCondition c)
        {
#if DEBUG
            DataConnection.TurnTraceSwitchOn();
            DataConnection.WriteTraceLine = (msg, context) => Debug.WriteLine(msg, context);
#endif
            using (var db = new peppaDB())
            {
                var count = db.Account
                            .Where(c.CreatePredicate())
                            .Set(_ => _.removed_at, Sql.CurrentTimestampUtc)
                            .Update();
                return(count);
            }
        }
Пример #9
0
        public int Count([FromUri] AccountCondition c)
        {
#if DEBUG
            DataConnection.TurnTraceSwitchOn();
            DataConnection.WriteTraceLine = (msg, context) => Debug.WriteLine(msg, context);
#endif
            using (var db = new peppaDB())
            {
                var count =
                    c == null?db.Account.Count() :
                        db.Account.Count(predicate: c.CreatePredicate());

                return(count);
            }
        }
Пример #10
0
        /// <summary>
        /// 更新帳號
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        public bool UpdateAccount(AccountCondition condition)
        {
            var data = this._accountContext.Users.FirstOrDefault(
                rows => rows.Account == condition.Account);

            data.Email      = condition.Email;
            data.ModifyDate = condition.ModifyDate;
            data.ModifyUser = condition.ModifyUser;
            data.Phone      = condition.Phone;
            this._accountContext.Update(data)
            .Property(rows => rows.Idx).IsModified = false;

            var result = this._accountContext.SaveChanges();

            return(result > 0);
        }
Пример #11
0
        /// <summary>
        ///     分页方法
        /// </summary>
        /// <param name="page"></param>
        /// <param name="size"></param>
        /// <param name="sort"></param>
        /// <param name="condition"></param>
        /// <returns></returns>
        public PageModel <Account> GetByPage(int page, int size, string sort, AccountCondition condition)
        {
            var dbCondition = new List <DbCondition <Account> >();

            if (!string.IsNullOrEmpty(condition.Keyword))
            {
                var cd = new DbCondition <Account>()
                {
                    IsWhere    = true,
                    Expression = o => o.LoginName.ToLower().Contains(condition.Keyword.ToLower()) ||
                                 o.EmployeeName.Contains(condition.Keyword)
                };
                dbCondition.Add(cd);
            }
            return(_unitOfWork.AccountManage.GetByPage(page, size, sort, dbCondition));
        }
Пример #12
0
        private IEnumerator <IAsyncResult> SetTableServicePropertiesImpl(IAccountIdentifier identifier, string ownerAccountName, AnalyticsSettings settings, TimeSpan timeout, RequestContext requestContext, AsyncIteratorContext <NoResults> context)
        {
            Duration startingNow = Duration.StartingNow;

            if (identifier == null)
            {
                throw new ArgumentNullException("identifier");
            }
            if (string.IsNullOrEmpty(ownerAccountName))
            {
                throw new ArgumentException("ownerAccountName", "Cannot be null");
            }
            if (timeout <= TimeSpan.Zero)
            {
                throw new TimeoutException("Timed out in SetTableServiceProperties");
            }
            if (identifier is TableSignedAccessAccountIdentifier)
            {
                throw new NephosUnauthorizedAccessException("Signed access not supported for this request", AuthorizationFailureReason.InvalidOperationSAS);
            }
            SASAuthorizationParameters sASAuthorizationParameter = new SASAuthorizationParameters()
            {
                SupportedSasTypes  = SasType.AccountSas,
                SignedResourceType = SasResourceType.Service,
                SignedPermission   = SASPermission.Write
            };
            SASAuthorizationParameters sASAuthorizationParameter1 = sASAuthorizationParameter;
            IAsyncResult asyncResult = this.authorizationManager.BeginCheckAccess(identifier, ownerAccountName, null, null, PermissionLevel.Write | PermissionLevel.Owner, sASAuthorizationParameter1, timeout, context.GetResumeCallback(), context.GetResumeState("TableManager.SetTableServicePropertiesImpl"));

            yield return(asyncResult);

            this.authorizationManager.EndCheckAccess(asyncResult);
            IStorageAccount  accountServiceMetadatum = null;
            AccountCondition accountCondition        = new AccountCondition(false, false, null, null);

            accountServiceMetadatum = this.storageManager.CreateAccountInstance(ownerAccountName);
            accountServiceMetadatum.ServiceMetadata = new AccountServiceMetadata()
            {
                TableAnalyticsSettings = settings
            };
            accountServiceMetadatum.Timeout = timeout;
            asyncResult = accountServiceMetadatum.BeginSetProperties(new AccountPropertyNames(AccountLevelPropertyNames.None, (AccountServiceMetadataPropertyNames)((long)131072)), accountCondition, context.GetResumeCallback(), context.GetResumeState("TableManager.SetTableServicePropertiesImpl"));
            yield return(asyncResult);

            accountServiceMetadatum.EndSetProperties(asyncResult);
        }
Пример #13
0
        protected override IEnumerator <IAsyncResult> GetQueueServiceStatsImpl(IAccountIdentifier identifier, string ownerAccountName, TimeSpan timeout, RequestContext requestContext, AsyncIteratorContext <GeoReplicationStats> context)
        {
            Duration startingNow = Duration.StartingNow;

            if (identifier == null)
            {
                throw new ArgumentNullException("identifier");
            }
            if (string.IsNullOrEmpty(ownerAccountName))
            {
                throw new ArgumentException("ownerAccountName", "Cannot be null");
            }
            if (timeout <= TimeSpan.Zero)
            {
                throw new TimeoutException("Timed out in GetQueueServiceStats");
            }
            SASAuthorizationParameters sASAuthorizationParameter = new SASAuthorizationParameters()
            {
                SupportedSasTypes  = SasType.AccountSas,
                SignedResourceType = SasResourceType.Service,
                SignedPermission   = SASPermission.Read
            };
            SASAuthorizationParameters sASAuthorizationParameter1 = sASAuthorizationParameter;
            IAsyncResult asyncResult = this.authorizationManager.BeginCheckAccess(identifier, ownerAccountName, null, null, PermissionLevel.Read | PermissionLevel.Owner, sASAuthorizationParameter1, timeout, context.GetResumeCallback(), context.GetResumeState("RealQueueManager.GetQueueServiceStatsImpl"));

            yield return(asyncResult);

            this.authorizationManager.EndCheckAccess(asyncResult);
            IStorageAccount storageAccount = this.storageManager.CreateAccountInstance(ownerAccountName);

            storageAccount.Timeout = timeout;
            AccountCondition accountCondition = new AccountCondition(false, false, storageAccount.LastModificationTime, null);

            asyncResult = storageAccount.BeginGetProperties(new AccountPropertyNames(AccountLevelPropertyNames.None, (AccountServiceMetadataPropertyNames)((long)1073741824)), accountCondition, context.GetResumeCallback(), context.GetResumeState("RealQueueManager.GetQueueServiceStatsImpl"));
            yield return(asyncResult);

            storageAccount.EndGetProperties(asyncResult);
            context.ResultData = storageAccount.ServiceMetadata.QueueGeoReplicationStats;
        }
Пример #14
0
        public List <AccountModel> List(AccountCondition condition)
        {
            if (condition.key == null)
            {
                condition.key = "";
            }
            var query = (from e in Context.tblAccounts
                         join r in Context.tblRoles on e.RoleId equals r.Id
                         where (condition.key.Length > 0 ? e.UserName.Contains(condition.key) || e.Email.Contains(condition.key) : true) &&
                         (condition.disableDel? e.Del_Flag == false: true) && // Điều kiện ẩn tài khoản bị xóa
                         (condition.role > -1 ? e.RoleId == condition.role : true) && // Điều kiện quyền sử dụng.
                         (condition.state > -1 ? e.State == condition.state : true) && // Điều kiện trạng thái hoạt động.
                         (condition.regis_date_from != null ? e.Register_Date >= DateTime.ParseExact(condition.regis_date_from, "dd/MM/yyyy", null) : true) &&
                         (condition.regis_date_to != null ? e.Register_Date <= DateTime.ParseExact(condition.regis_date_to, "dd/MM/yyyy", null) : true)
                         select new AccountModel()
            {
                Id = e.Id,
                UserName = e.UserName,
                Email = e.Email,
                Password = e.Password,
                Register_Date = e.Register_Date,
                Active_Code = e.Active_Code,
                Active_Date = e.Active_Date,
                State = e.State,
                Del_Flag = e.Del_Flag,
                RoleId = e.RoleId,
                RoleText = r.Text
            });
            var result = query.Skip((condition.page - 1) * condition.pageSize).Take(condition.pageSize).ToList();

            if (result != null && result.Count > 0)
            {
                result[0].Total = query.Count();
            }
            return(result);
        }
Пример #15
0
        public ActionResult ListAccount(AccountCondition Condition)
        {
            AccountService service = new AccountService();
            AccountModel   model   = new AccountModel();

            model.ListAccount = new List <AccountModel>();

            // Lấy danh sách quyền.
            model.ListRole = DefaultValues.ListRole();

            // Lấy danh sách trạng thái.
            model.ListState = DefaultValues.ListState();

            // Gán điều kiện vào model.
            model.Condition = Condition;

            // Kiểm tra quyền xem danh sách tài khoản.
            if (!IsAdmin())
            {
                SetRedirectNotAllow();
                return(View(model));
            }
            // Lấy danh sách tài khoản theo điều kiện tìm kiếm.
            model.ListAccount = service.List(Condition);

            // Phân trang
            int total = 0;

            if (model.ListAccount.Count > 0)
            {
                total = model.ListAccount[0].Total;
            }
            Paging(Condition.page, Condition.pageSize, total);

            return(View(model));
        }
Пример #16
0
 private void LoadDataDefaultPage()
 {
     ViewBag.Semester = AccountCondition.GetSemester();
 }
Пример #17
0
        public IEnumerable <Account> Search([FromUri] bool with_Staff, [FromUri] bool with_AccountRoleList, [FromUri] AccountCondition c)
        {
#if DEBUG
            DataConnection.TurnTraceSwitchOn();
            DataConnection.WriteTraceLine = (msg, context) => Debug.WriteLine(msg, context);
#endif
            using (var db = new peppaDB())
            {
                var q = db.Account;

                #region LoadWith
                if (with_Staff)
                {
                    q = q.LoadWith(_ => _.Staff);
                }
                if (with_AccountRoleList)
                {
                    q = q.LoadWith(_ => _.AccountRoleList);
                }
                #endregion

                var list = (c == null ? q : q.Where(c.CreatePredicate())).ToList();
                return(list);
            }
        }