예제 #1
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <returns></returns>
        public async Task DeleteAsync(UserInfo user, HumanInfoBlack humanInfoBlack, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }
            if (humanInfoBlack == null)
            {
                throw new ArgumentNullException(nameof(humanInfoBlack));
            }
            humanInfoBlack.DeleteTime = DateTime.Now;
            humanInfoBlack.DeleteUser = user.Id;
            humanInfoBlack.IsDeleted  = true;
            Context.Attach(humanInfoBlack);
            var entry = Context.Entry(humanInfoBlack);

            entry.Property(x => x.IsDeleted).IsModified  = true;
            entry.Property(x => x.DeleteUser).IsModified = true;
            entry.Property(x => x.DeleteTime).IsModified = true;
            try
            {
                await Context.SaveChangesAsync(cancellationToken);
            }
            catch (DbUpdateException)
            {
                throw;
            }
        }
예제 #2
0
        /// <summary>
        /// 更新人事黑名单审核状态
        /// </summary>
        /// <param name="id"></param>
        /// <param name="status"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task UpdateExamineStatus(string id, ExamineStatusEnum status, CancellationToken cancellationToken = default(CancellationToken))
        {
            HumanInfoBlack humanInfoBlack = new HumanInfoBlack()
            {
                Id            = id,
                UpdateTime    = DateTime.Now,
                ExamineStatus = status
            };

            Context.Attach(humanInfoBlack);
            var entry = Context.Entry(humanInfoBlack);

            entry.Property(x => x.ExamineStatus).IsModified = true;
            entry.Property(x => x.UpdateTime).IsModified    = true;
            try
            {
                await Context.SaveChangesAsync(cancellationToken);
            }
            catch (DbUpdateException) { throw; }
        }
예제 #3
0
 /// <summary>
 /// 新增,存在则更新
 /// </summary>
 /// <returns></returns>
 public async Task <HumanInfoBlack> SaveAsync(UserInfo user, HumanInfoBlack humanInfoBlack, CancellationToken cancellationToken = default(CancellationToken))
 {
     if (humanInfoBlack == null)
     {
         throw new ArgumentNullException(nameof(humanInfoBlack));
     }
     if (string.IsNullOrEmpty(humanInfoBlack.Id))
     {
         humanInfoBlack.Id            = Guid.NewGuid().ToString();
         humanInfoBlack.CreateTime    = DateTime.Now;
         humanInfoBlack.CreateUser    = user.Id;
         humanInfoBlack.IsDeleted     = false;
         humanInfoBlack.ExamineStatus = ExamineStatusEnum.Auditing;
         Context.Add(humanInfoBlack);
     }
     else if (!HumanInfoBlacks.Any(a => a.Id == humanInfoBlack.Id))
     {
         humanInfoBlack.CreateTime = DateTime.Now;
         humanInfoBlack.CreateUser = user.Id;
         humanInfoBlack.IsDeleted  = false;
         Context.Add(humanInfoBlack);
     }
     else
     {
         var old = HumanInfoBlacks.FirstOrDefault(a => a.Id == humanInfoBlack.Id);
         old.IDCard = humanInfoBlack.IDCard;
         old.Name   = humanInfoBlack.Name;
         old.Phone  = humanInfoBlack.Phone;
         old.Reason = humanInfoBlack.Reason;
         old.Sex    = humanInfoBlack.Sex;
         old.UserId = humanInfoBlack.UserId;
         old.Email  = humanInfoBlack.Email;
         Context.Update(old);
     }
     try
     {
         await Context.SaveChangesAsync(cancellationToken);
     }
     catch (DbUpdateException) { throw; }
     return(humanInfoBlack);
 }