コード例 #1
0
        public void DeleteSubject(string id)
        {
            var set    = _context.Set <ActivitySubjectEntity>();
            var entity = set.Find(id);

            if (entity != null)
            {
                set.Remove(entity);
                _context.SaveChanges();
            }
        }
コード例 #2
0
ファイル: PeopleService.cs プロジェクト: paddy235/BSFramework
        public IEnumerable <PeopleEntity> GetListByDept(string deptid)
        {
            var query = from q1 in _context.Set <PeopleEntity>()
                        join q2 in _context.Set <UserEntity>() on q1.ID equals q2.UserId
                        where q2.DepartmentId == deptid
                        select new { q1, q2 };

            var data = query.ToList();

            foreach (var item in data)
            {
                if (item.q2 != null)
                {
                    item.q1.IsEpiboly = item.q2.IsEpiboly;
                }
            }
            return(data.Select(x => x.q1).ToList());

            //try
            //{
            //    var query = from q in this.BaseRepository().IQueryable()
            //                where q.BZID == deptid && q.FingerMark == "yes"
            //                orderby q.Planer, q.Name
            //                select q;

            //    var people = query.ToList();
            //    var userIds = people.Select(x => x.ID).ToList();
            //    var userList = new RepositoryFactory().BaseRepository().IQueryable<UserEntity>(x => userIds.Contains(x.UserId)).ToList();
            //    people.ForEach(p =>
            //    {
            //        var user = userList.FirstOrDefault(x => x.UserId == p.ID);
            //        if (user != null) p.IsEpiboly = user.IsEpiboly;
            //        //p.IsEpiboly = userList.FirstOrDefault(x => x.UserId == p.ID).IsEpiboly;
            //    });
            //    return people;

            //}
            //catch (Exception ex)
            //{

            //    throw;
            //}

            //var query = this.BaseRepository().IQueryable().Where(x => x.BZID == deptid && x.FingerMark == "yes");
            //total = query.Count();
            //var list = query.ToList();
            //list[0].Planer = "01,04,06";
            //list[1].Planer = "01,02,03";
            //list[2].Planer = "01,03,04";
            //list[3].Planer = "01";
            // return list.OrderBy(x => x.Planer).ThenBy(x => x.Name).ToList();
            //return query.OrderBy(x => x.Planer).ThenBy(x => x.Name).ToList();
        }
コード例 #3
0
        /// <summary>
        /// Gets only the records that are neither deleted nor snapshots.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="context">The context.</param>
        /// <returns></returns>
        public static IQueryable <T> ActiveSet <T>(this System.Data.Entity.DbContext context)
            where T : class, IDeletable
        {
            string currentType = typeof(T).FullName;

            if (typeof(ISnapshot).IsAssignableFrom(typeof(T)))
            {
                var resultIsDel = context.Set <T>().Where(f => f.IsDeleted == false);
                return(WhereIsSnapshot <T>(resultIsDel, x => x.IsSnapshot == false));
            }
            return(context.Set <T>().Where(f => f.IsDeleted == false));
        }
コード例 #4
0
        public void Add(TEntity entity)
        {
            if (typeof(TEntity) == typeof(Entity))
            {
                (entity as Entity).DateCreated = DateTime.Now;
            }

            _dbContext.Set <TEntity>().Add(entity);
        }
コード例 #5
0
        public void Add(TEntity entity)
        {
            if (entity is Entity)
            {
                (entity as Entity).DateCreated  = DateTime.Now;
                (entity as Entity).DateModified = DateTime.Now;
            }

            _dbContext.Set <TEntity>().Add(entity);
        }
コード例 #6
0
        public List <CheckCategoryEntity> GetCategories()
        {
            var query = from q in _context.Set <CheckCategoryEntity>()
                        orderby q.CreateDate ascending
                        select q;

            return(query.ToList());
        }
コード例 #7
0
        public List <LogEntity> GetPageList(int?categoryid, DateTime starttime, DateTime endtime, string operateaccount, string ipaddress, string operatetype, string module, int rows, int page, out int total)
        {
            var query = _context.Set <LogEntity>().AsNoTracking().AsQueryable();

            if (categoryid != null)
            {
                query = query.Where(x => x.CategoryId == categoryid);
            }
            if (!string.IsNullOrEmpty(operateaccount))
            {
                query = query.Where(x => x.OperateAccount == operateaccount);
            }
            if (!string.IsNullOrEmpty(ipaddress))
            {
                query = query.Where(x => x.IPAddress == ipaddress);
            }
            if (!string.IsNullOrEmpty(operatetype))
            {
                query = query.Where(x => x.OperateType == operatetype);
            }
            if (!string.IsNullOrEmpty(module))
            {
                query = query.Where(x => x.Module == module);
            }

            total = query.Count();
            return(query.OrderBy(x => x.OperateTime).Skip(rows * (page - 1)).Take(rows).ToList());
        }
コード例 #8
0
 /// <summary>
 /// 定义种子数据初始化过程
 /// </summary>
 /// <param name="context">数据上下文</param>
 public void Action(System.Data.Entity.DbContext context)
 {
     context.Set <Trade>().AddRange(
         new List <Trade>()
     {
         new Trade()
         {
             Name        = "IT",
             Professions = new List <Profession>()
             {
                 new Profession()
                 {
                     Name      = "计算机软件",
                     Positions = new List <Position>()
                     {
                         new Position()
                         {
                             Name = "Unity3D程序员"
                         }
                     }
                 }
             }
         }
     });
 }
コード例 #9
0
        public List <SafetydayEntity> GetList(string name, int pagesize, int pageindex, out int total)
        {
            var query = from q1 in _context.Set <SafetydayEntity>()
                        join q2 in _context.Set <SafetydayMaterialEntity>() on q1.Id equals q2.SafetydayId into into2
                        select new { q1.Id, q1.Subject, q1.CreateDate, q1.CreateUserName, q1.ActivityType, Total = into2.Count(), Readed = into2.Count(x => x.isread == true) };

            if (!string.IsNullOrEmpty(name))
            {
                query = query.Where(x => x.Subject.Contains(name));
            }

            total = query.Count();
            var data = query.OrderByDescending(x => x.CreateDate).Skip(pagesize * (pageindex - 1)).Take(pagesize).ToList();

            return(data.Select(x => new SafetydayEntity {
                Id = x.Id, Subject = x.Subject, CreateUserName = x.CreateUserName, CreateDate = x.CreateDate, ActivityType = x.ActivityType, Material = $"{x.Readed}/{x.Total}"
            }).ToList());
        }
コード例 #10
0
ファイル: ReportService.cs プロジェクト: paddy235/BSFramework
        public ReportEntity GetDetail(string id)
        {
            var reportset = _context.Set <ReportEntity>();
            var taskset   = _context.Set <TaskEntity>();
            var entity    = reportset.Find(Guid.Parse(id));

            if (entity != null)
            {
                entity.TaskList = taskset.Where(x => x.ReportId == entity.ReportId).ToList();
                //entity.ReportType = this.ToTypeString(entity.ReportType);
            }
            return(entity);
            //using (var ctx = new DataContext())
            //{
            //    var data = ctx.Reports.Find(Guid.Parse(id));
            //    if (data == null) return null;

            //    return new ReportEntity() { ReportId = data.ReportId, ReportContent = data.ReportContent, ReportTime = data.ReportTime, ReportType = this.ToTypeString(data.ReportType), ReportUser = data.ReportUser, Undo = data.Undo, StartTime = data.StartTime, EndTime = data.EndTime, Plan = data.Plan, Tasks = data.Tasks };
            //}
        }
コード例 #11
0
 /// <summary>
 /// 定义种子数据初始化过程
 /// </summary>
 /// <param name="context">数据上下文</param>
 public void Action(System.Data.Entity.DbContext context)
 {
     context.Set <SysRole>()
     .Add(new SysRole()
     {
         Name        = "超级管理员",
         Remark      = "超级管理员角色,拥有系统最高权限",
         IsAdmin     = true,
         IsSystem    = true,
         IsLocked    = false,
         CreatedTime = DateTime.Now
     });
 }
コード例 #12
0
        public string GetEvaluateStatus(string id, string userid)
        {
            var count = _context.Set <ActivityEvaluateEntity>().Where(x => x.Activityid == id && x.CREATEUSERID == userid).Count();

            if (count > 0)
            {
                return("本人已评价");
            }
            else
            {
                return("本人未评价");
            }
        }
コード例 #13
0
ファイル: RoleService.cs プロジェクト: paddy235/BSFramework
        public List <RoleEntity> GetPageList(string rolename, int pagesize, int pageindex, out int total)
        {
            var query = from q in _context.Set <RoleEntity>()
                        where q.Category == 1
                        select q;

            if (!string.IsNullOrEmpty(rolename))
            {
                query = query.Where(x => x.FullName.Contains(rolename));
            }

            total = query.Count();
            return(query.OrderBy(x => x.EnCode).Skip(pagesize * (pageindex - 1)).Take(pagesize).ToList());
        }
コード例 #14
0
        /// <summary>
        /// Returns object1 from a link table entity given a Ria services change set and an EntityFramework DbContext.
        /// </summary>
        /// <typeparam name="TObject1"></typeparam>
        /// <typeparam name="TObject2"></typeparam>
        /// <param name="linkTableEntity"></param>
        /// <param name="changeSet"></param>
        /// <param name="dbContext"></param>
        /// <returns></returns>
        public static TObject1 FetchObject1 <TObject1, TObject2>(
            this LinkTable <TObject1, TObject2> linkTableEntity, ChangeSet changeSet,
            System.Data.Entity.DbContext dbContext)
            where TObject1 : class where TObject2 : class
        {
            var properties           = TypeDescriptor.GetProperties(linkTableEntity.GetType());
            var navProp              = properties["Object1"];
            var associationAttribute =
                navProp.Attributes.OfType <AssociationAttribute>().SingleOrDefault();

            return(Find(
                       linkTableEntity, linkTableEntity.Object1, changeSet, keys => dbContext.Set <TObject1>().Find(keys),
                       associationAttribute));
        }
コード例 #15
0
        public void Delete(string id)
        {
            var entity = _context.Set <CheckTemplateEntity>().Find(id);

            if (entity != null)
            {
                _context.Entry(entity).State = System.Data.Entity.EntityState.Deleted;
                _context.SaveChanges();
            }
        }
コード例 #16
0
        public List <UserEntity> GetDistrictPerson(string districtId)
        {
            var query = from q1 in _context.Set <DistrictPersonEntity>()
                        join q2 in _context.Set <UserEntity>() on q1.DutyUserId equals q2.UserId into into2
                        from q2 in into2.DefaultIfEmpty()
                        where q1.DistrictId == districtId
                        select new { q1.DutyUserId, q1.DutyUser, q2.HeadIcon, q1.DutyDepartmentName, q2.DutyName, q1.Phone, q1.CategoryName };

            return(query.ToList().Select(x => new UserEntity
            {
                UserId = x.DutyUserId,
                RealName = x.DutyUser,
                HeadIcon = x.HeadIcon,
                DepartmentName = x.DutyDepartmentName,
                DutyName = x.DutyName,
                Telephone = x.Phone,
                PostName = x.CategoryName
            }).ToList());
        }
コード例 #17
0
 /// <summary>
 /// 定义种子数据初始化过程
 /// </summary>
 /// <param name="context">数据上下文</param>
 public void Action(System.Data.Entity.DbContext context)
 {
     context.Set <Education>().AddRange(
         new List <Education>()
     {
         new Education()
         {
             Name = "初中"
         },
         new Education()
         {
             Name = "高中"
         },
         new Education()
         {
             Name = "大学"
         }
     });
 }
コード例 #18
0
 /// <summary>
 /// 定义种子数据初始化过程
 /// </summary>
 /// <param name="context">数据上下文</param>
 public void Action(System.Data.Entity.DbContext context)
 {
     context.Set <Label>().AddRange(
         new List <Label>()
     {
         new Label()
         {
             Name = "游戏", OrderNo = 1
         },
         new Label()
         {
             Name = "旅游", OrderNo = 2
         },
         new Label()
         {
             Name = "看书", OrderNo = 3
         },
         new Label()
         {
             Name = "音乐", OrderNo = 4
         },
         new Label()
         {
             Name = "运动", OrderNo = 5
         },
         new Label()
         {
             Name = "极客", OrderNo = 6
         },
         new Label()
         {
             Name = "健身", OrderNo = 7
         },
     }
         );
 }
コード例 #19
0
ファイル: Repository.cs プロジェクト: Safyanovmax/Blog
 public TEntity Get(int id)
 {
     return(Context.Set <TEntity>().Find(id));
 }
コード例 #20
0
 public List <MeasureSetEntity> GetList(string id)
 {
     return(_context.Set <MeasureSetEntity>().AsNoTracking().Where(x => x.RiskFactorId == id).OrderBy(x => x.CreateDate).ToList());
 }
コード例 #21
0
        public virtual TEntity Get(Expression <Func <TEntity, bool> > predicate)
        {
            var result = Db.Set <TEntity>().AsNoTracking().FirstOrDefault(predicate);

            return(result);
        }
コード例 #22
0
 public T Create(T t)
 {
     return(db.Set <T>().Add(t));
 }
コード例 #23
0
        public List <PersonDoshboardEntity> GetEnabledList(string userId)
        {
            var data = _context.Set <PersonDoshboardEntity>().AsNoTracking().Where(x => x.UserId == userId && x.Enabled == true).OrderBy(x => x.Seq).ToList();

            return(data);
        }
コード例 #24
0
        /// <summary>
        /// 处理文字请求
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage)
        {
            var defaultMessage = DefaultResponseMessage(requestMessage);

            if (string.IsNullOrEmpty(requestMessage.Content))
            {
                return(defaultMessage);
            }
            #region 记录日志
            try
            {
                var opid      = requestMessage.FromUserName;
                var entitymsg = new MpEventRequestMsgLog();
                entitymsg.ID         = Formula.FormulaHelper.CreateGuid();
                entitymsg.MpID       = account.ID;
                entitymsg.OpenID     = opid;
                entitymsg.MsgType    = requestMessage.MsgType.ToString();
                entitymsg.MsgId      = requestMessage.MsgId.ToString();
                entitymsg.Content    = requestMessage.Content;
                entitymsg.CreateDate = System.DateTime.Now;
                entities.Set <MpEventRequestMsgLog>().Add(entitymsg);
                entities.SaveChanges();
            }
            catch (Exception ex)
            {
                LogWriter.Info(string.Format("MPID{0}记录文本回复信息出错:原因{1}", account.ID, ex.Message));
            }
            #endregion
            var rs     = CacheHelper.Get(string.Format("TextRequest_{0}_{1}", account.AppID, requestMessage.Content));
            var rstype = CacheHelper.Get(string.Format("TextRequest_{0}_{1}_Type", account.AppID, requestMessage.Content));
            if (rs == null || rstype == null)
            {
                //关键字回复
                var entity = entities.Set <MpKeyWordReply>().Where(c => c.MpID == account.ID && c.IsDelete == 0 && c.KeyWord == requestMessage.Content).FirstOrDefault();
                if (entity != null)
                {
                    CacheHelper.Set(string.Format("TextRequest_{0}_{1}_Type", account.AppID, requestMessage.Content), entity.ReplyType, cachesecond);
                    if (entity.ReplyType == MpMessageType.none.ToString())
                    {
                        return(defaultMessage);
                    }
                    else if (entity.ReplyType == MpMessageType.image.ToString())
                    {
                        var responseMessage = base.CreateResponseMessage <ResponseMessageImage>();
                        responseMessage.Image.MediaId = entity.ImageMediaID;
                        CacheHelper.Set(string.Format("TextRequest_{0}_{1}", account.AppID, requestMessage.Content), responseMessage, cachesecond);
                        return(responseMessage);
                    }
                    else if (entity.ReplyType == MpMessageType.text.ToString())
                    {
                        var responseMessage = base.CreateResponseMessage <ResponseMessageText>();
                        responseMessage.Content = entity.Content;
                        CacheHelper.Set(string.Format("TextRequest_{0}_{1}", account.AppID, requestMessage.Content), responseMessage, cachesecond);
                        return(responseMessage);
                    }
                    else if (entity.ReplyType == MpMessageType.voice.ToString())
                    {
                        var responseMessage = base.CreateResponseMessage <ResponseMessageVoice>();
                        responseMessage.Voice.MediaId = entity.VoiceMediaID;
                        CacheHelper.Set(string.Format("TextRequest_{0}_{1}", account.AppID, requestMessage.Content), responseMessage, cachesecond);
                        return(responseMessage);
                    }
                    else if (entity.ReplyType == MpMessageType.video.ToString())
                    {
                        var responseMessage = base.CreateResponseMessage <ResponseMessageVideo>();
                        var video           = entities.Set <MpMediaVideo>().Where(c => c.MpID == account.ID && c.IsDelete == 0 && c.ID == entity.VideoID).FirstOrDefault();
                        if (video == null)
                        {
                            return(defaultMessage);
                        }
                        responseMessage.Video.MediaId     = video.MediaID;
                        responseMessage.Video.Title       = video.Title;
                        responseMessage.Video.Description = video.Description;
                        CacheHelper.Set(string.Format("TextRequest_{0}_{1}", account.AppID, requestMessage.Content), responseMessage, cachesecond);
                        return(responseMessage);
                    }
                    else if (entity.ReplyType == MpMessageType.mpnews.ToString())
                    {
                        var responseMessage = base.CreateResponseMessage <ResponseMessageNews>();
                        var article         = entities.Set <MpSelfArticle>().Where(c => c.MpID == account.ID && c.IsDelete == 0 && c.ID == entity.ArticleID).FirstOrDefault();
                        if (article == null)
                        {
                            return(defaultMessage);
                        }
                        responseMessage.Articles.Add(new Article()
                        {
                            Title       = article.Title,
                            Description = article.Description,
                            Url         = article.Url,
                            PicUrl      = string.Format("http://{0}/wechatservice/api/Image/Get/{1}", domain, article.PicFileID),
                        });
                        CacheHelper.Set(string.Format("TextRequest_{0}_{1}", account.AppID, requestMessage.Content), responseMessage, cachesecond);
                        return(responseMessage);
                    }
                    else if (entity.ReplyType == MpMessageType.mpmultinews.ToString())
                    {
                        var responseMessage = base.CreateResponseMessage <ResponseMessageNews>();
                        var article         = entities.Set <MpSelfArticleGroup>().Where(c => c.MpID == account.ID && c.IsDelete == 0 && c.ID == entity.ArticleGroupID).FirstOrDefault();
                        if (article == null || article.MpSelfArticleGroupItem == null || article.MpSelfArticleGroupItem.Count(c => c.MpSelfArticle != null) < 2)
                        {
                            return(defaultMessage);
                        }
                        foreach (var item in article.MpSelfArticleGroupItem.Where(c => c.MpSelfArticle != null))
                        {
                            responseMessage.Articles.Add(new Article()
                            {
                                Title       = item.MpSelfArticle.Title,
                                Description = item.MpSelfArticle.Description,
                                Url         = item.MpSelfArticle.Url,
                                PicUrl      = string.Format("http://{0}/wechatservice/api/Image/Get/{1}", domain, item.MpSelfArticle.PicFileID),
                            });
                        }
                        CacheHelper.Set(string.Format("TextRequest_{0}_{1}", account.AppID, requestMessage.Content), responseMessage, cachesecond);
                        return(responseMessage);
                    }
                    else
                    {
                        return(defaultMessage);
                    }
                }
                //其他回复
                else
                {
                    return(defaultMessage);
                }
            }
            else
            {
                var rstp = rstype.ToString();
                if (rstp == MpMessageType.image.ToString())
                {
                    return(rs as ResponseMessageImage);
                }
                else if (rstp == MpMessageType.mpmultinews.ToString())
                {
                    return(rs as ResponseMessageNews);
                }
                else if (rstp == MpMessageType.mpnews.ToString())
                {
                    return(rs as ResponseMessageNews);
                }
                else if (rstp == MpMessageType.text.ToString())
                {
                    return(rs as ResponseMessageText);
                }
                else if (rstp == MpMessageType.video.ToString())
                {
                    return(rs as ResponseMessageVideo);
                }
                else if (rstp == MpMessageType.voice.ToString())
                {
                    return(rs as ResponseMessageVoice);
                }
                return(rs as IResponseMessageBase);
            }
        }
コード例 #25
0
        public void Copy(JobDangerousEntity model)
        {
            var set1 = _context.Set <JobDangerousEntity>();
            var set2 = _context.Set <JobMeasureEntity>();

            var danger   = set1.Find(model.JobDangerousId);
            var measures = (from q in set2
                            where q.JobDangerousId == model.JobDangerousId
                            select q).ToList();

            var newdanger = new JobDangerousEntity()
            {
                JobDangerousId = Guid.NewGuid().ToString(),
                Content        = danger.Content,
                CreateTime     = DateTime.Now,
                JobId          = model.JobId
            };
            var newmeasures = measures.Select(x => new JobMeasureEntity {
                JobDangerousId = newdanger.JobDangerousId, Content = x.Content, CreateTime = x.CreateTime, JobMeasureId = Guid.NewGuid().ToString()
            }).ToList();

            set1.Add(newdanger);
            set2.AddRange(newmeasures);
            _context.SaveChanges();
        }
コード例 #26
0
        /// <summary>
        /// 我的作品
        /// </summary>
        /// <param name="uid"></param>
        /// <param name="competiontion_season_id"></param>
        /// <returns></returns>
        public ApiResult GetMyArticle(int uid, int img_count, int competiontion_season_id)
        {
            ApiResult apiResult = new ApiResult();
            var       articles  = from a in db.Set <articles>()
                                  join b in db.Set <article_competition_season>() on a.article_id equals b.article_id
                                  into ab1
                                  from ab in ab1.DefaultIfEmpty()
                                  join c in db.Set <author_info>() on a.uid equals c.uid
                                  into ac1 from ac in ac1.DefaultIfEmpty()
                                  join d in db.Set <article_states>() on a.article_id equals d.article_id
                                  where ab.competiontion_season_id == competiontion_season_id && a.uid == uid
                                  select new { a.article_id, a.article_no, a.article_title, a.article_pic, a.article_content, ac.school, ac.user_name, d.article_state, ab.zone_id, d.return_tag, d.return_remark };
            List <dynamic> list = new List <dynamic>();

            //我的票数
            DateTime start         = DateTime.Now.Date;
            DateTime end           = DateTime.Now.AddDays(1).Date;
            var      my_vote_count = from a in db.Set <vote_record>() where a.create_time >= start && a.create_time < end group a by a.uid into b where b.Key == uid select new { vote_count = (int?)b.Count() };
            //我对哪些作品投票了,投了多少票
            var _my_vote_article_count = from a in db.Set <vote_record>()
                                         where a.create_time >= start && a.create_time < end && a.uid == uid
                                         group a by a.article_id into b
                                         select new { article_id = b.Key, vote_count = (int?)b.Count() };

            foreach (var article in articles)
            {
                var votes = from a in db.Set <vote_record>()
                            join b in db.Set <weixin_user>() on a.uid equals b.uid
                            where a.article_id == article.article_id
                            select new { a.uid, b.headimgurl };
                //多少个人
                int user_count = votes.Select(o => o.uid).Distinct().Count();
                //多少张票
                int vote_count = votes.Count();
                //取前面几个人
                var img_list = votes.Select(o => o.headimgurl).Distinct().Take(img_count).ToList();
                var my_vote_article_count = _my_vote_article_count.Where(o => o.article_id == article.article_id).FirstOrDefault();
                list.Add(new { article, user_count, vote_count, img_list, my_vote_article_count });
            }
            apiResult.data    = new { list, my_vote_count };
            apiResult.message = "我的作品";
            apiResult.success = true;
            return(apiResult);
        }
コード例 #27
0
 protected override IOrderedQueryable <Category> ProvideQuery(System.Data.Entity.DbContext dbContext)
 {
     return(from c in dbContext.Set <Category>()
            orderby c.Name
            select c);
 }
コード例 #28
0
        public List <ModuleEntity> GetList()
        {
            var query = from q in _context.Set <ModuleEntity>()
                        where q.EnabledMark == 1
                        orderby q.SortCode
                        select q;

            return(query.ToList());
        }
コード例 #29
0
ファイル: TaskService.cs プロジェクト: paddy235/BSFramework
        /// <summary>
        /// 统计未签到记录
        /// </summary>
        /// <param name="cycle"></param>
        /// <param name="date"></param>
        public void CalculateUnSignin(string cycle, DateTime date)
        {
            DateTime from;
            DateTime to;

            if (cycle == "每天")
            {
                from = date.AddDays(-1);
                to   = from.AddDays(1).AddSeconds(-1);
            }
            else if (cycle == "每周")
            {
                from = date.AddDays(7);
                to   = from.AddDays(7).AddSeconds(-1);
            }
            else if (cycle == "每月")
            {
                from = date.AddMonths(-1);
                to   = from.AddMonths(1).AddSeconds(-1);
            }
            else
            {
                return;
            }

            var districtPersons = _context.Set <DistrictPersonEntity>().Where(x => x.Cycle == cycle).ToList();
            var signins         = _context.Set <DistrictSignInEntity>().Where(x => x.SigninDate >= @from && x.SigninDate < to).ToList();
            var unsignin        = districtPersons.Where(x => !signins.Any(y => y.DutyDepartmentId == x.DutyDepartmentId)).Select(x => new UnSigninEntity
            {
                UnSigninId         = Guid.NewGuid().ToString(),
                CategoryId         = x.CategoryId,
                CategoryName       = x.CategoryName,
                DutyDepartmentId   = x.DutyDepartmentId,
                DutyDepartmentName = x.DutyDepartmentName,
                UnSigninDate       = date.AddDays(-1),
                UserId             = x.DutyUserId,
                UserName           = x.DutyUser,
                DistrictId         = x.DistrictId,
                DistrictName       = x.DistrictName
            }).ToList();

            if (unsignin.Count > 0)
            {
                _context.Set <UnSigninEntity>().AddRange(unsignin);
                _context.SaveChanges();
            }
        }