Пример #1
0
        public bool BatchDelUser(string keyValue, string userId)
        {
            string[]    IdArray    = keyValue.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            var         expression = ExtLinq.True <UserInfo>();
            IUnitOfWork db         = new EFUnitOfWork(Context).BeginTransaction();

            for (var i = 0; i < IdArray.Length; i++)
            {
                if (i == 0)
                {
                    expression = expression.And(a => a.F_Id == IdArray[i]);
                }
                else
                {
                    expression = expression.Or(a => a.F_Id == IdArray[i]);
                }
            }
            try
            {
                using (db)
                {
                    List <UserInfo> userList = Context.Users.Where(expression).ToList();
                    foreach (UserInfo user in userList)
                    {
                        user.F_DeleteMark   = true;
                        user.F_DeleteUserId = userId;
                        user.F_DeleteTime   = DateTime.Now;
                        Update(user);
                    }
                }
            }
            catch (Exception ex)
            {
                db.RollbackTransaction();
                return(false);
            }
            return(true);
        }