示例#1
0
        public async Task <List <StreetOffice> > GetAllAsync(StreetOfficeDto dto, CancellationToken token = default)
        {
            using (var db = new GuoGuoCommunityContext())
            {
                var list = await db.StreetOffices.Where(x => x.IsDeleted == false).ToListAsync(token);

                if (!string.IsNullOrWhiteSpace(dto.State))
                {
                    list = list.Where(x => x.State == dto.State).ToList();
                }
                if (!string.IsNullOrWhiteSpace(dto.City))
                {
                    list = list.Where(x => x.City == dto.City).ToList();
                }
                if (!string.IsNullOrWhiteSpace(dto.Region))
                {
                    list = list.Where(x => x.Region == dto.Region).ToList();
                }
                if (!string.IsNullOrWhiteSpace(dto.Name))
                {
                    list = list.Where(x => x.Name.Contains(dto.Name)).ToList();
                }
                return(list);
            }
        }
示例#2
0
        public async Task DeleteAsync(StreetOfficeDto dto, CancellationToken token = default)
        {
            using (var db = new GuoGuoCommunityContext())
            {
                if (!Guid.TryParse(dto.Id, out var uid))
                {
                    throw new NotImplementedException("街道办信息不正确!");
                }
                var streetOffice = await db.StreetOffices.Where(x => x.Id == uid && x.IsDeleted == false).FirstOrDefaultAsync(token);

                if (streetOffice == null)
                {
                    throw new NotImplementedException("该街道办不存在!");
                }
                if (await OnDelete(db, dto, token))
                {
                    throw new NotImplementedException("该街道办存在下级社区数据!");
                }
                streetOffice.LastOperationTime   = dto.OperationTime;
                streetOffice.LastOperationUserId = dto.OperationUserId;
                streetOffice.DeletedTime         = dto.OperationTime;
                streetOffice.IsDeleted           = true;
                await db.SaveChangesAsync(token);
            }
        }
示例#3
0
        public async Task <StreetOffice> AddAsync(StreetOfficeDto dto, CancellationToken token = default)
        {
            using (var db = new GuoGuoCommunityContext())
            {
                var streetOffice = await db.StreetOffices.Where(x => x.Name == dto.Name && x.IsDeleted == false).FirstOrDefaultAsync(token);

                if (streetOffice != null)
                {
                    throw new NotImplementedException("该街道办已存在!");
                }
                var entity = db.StreetOffices.Add(new StreetOffice
                {
                    Name   = dto.Name,
                    City   = dto.City,
                    Region = dto.Region,
                    State  = dto.State,
                    CreateOperationTime   = dto.OperationTime,
                    CreateOperationUserId = dto.OperationUserId,
                    LastOperationTime     = dto.OperationTime,
                    LastOperationUserId   = dto.OperationUserId
                });
                await db.SaveChangesAsync(token);

                return(entity);
            }
        }
示例#4
0
        /// <summary>
        /// 删除街道办下级数据检查
        /// </summary>
        /// <param name="db"></param>
        /// <param name="dto"></param>
        /// <param name="token"></param>
        /// <returns></returns>
        private async Task <bool> OnDelete(GuoGuoCommunityContext db, StreetOfficeDto dto, CancellationToken token = default)
        {
            //社区
            if (await db.Communities.Where(x => x.StreetOfficeId.ToString() == dto.Id && x.IsDeleted == false).FirstOrDefaultAsync(token) != null)
            {
                return(true);
            }

            //公告
            if (await db.Announcements.Where(x => x.StreetOfficeId == dto.Id.ToString() && x.IsDeleted == false).FirstOrDefaultAsync(token) != null)
            {
                return(true);
            }

            //站内信
            if (await db.StationLetters.Where(x => x.StreetOfficeId == dto.Id.ToString() && x.IsDeleted == false).FirstOrDefaultAsync(token) != null)
            {
                return(true);
            }

            //投票
            if (await db.Votes.Where(x => x.StreetOfficeId == dto.Id.ToString() && x.IsDeleted == false).FirstOrDefaultAsync(token) != null)
            {
                return(true);
            }

            //用户
            if (await db.Users.Where(x => x.StreetOfficeId == dto.Id.ToString() && x.IsDeleted == false).FirstOrDefaultAsync(token) != null)
            {
                return(true);
            }

            return(false);
        }
示例#5
0
 public async Task <List <StreetOffice> > GetListAsync(StreetOfficeDto dto, CancellationToken token = default)
 {
     using (var db = new GuoGuoCommunityContext())
     {
         return(await db.StreetOffices.Where(x => x.IsDeleted == false && x.Region == dto.Region && x.State == dto.State && x.City == dto.City).ToListAsync(token));
     }
 }