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); } }
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); } }
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); } }
/// <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); }
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)); } }