//根据条件查询班车 private Expression <Func <Bus_Payment, bool> > SearchBusUserByIdWhere(BusSearchByIdViewModel busSearchByIdViewModel) { var predicate = WhereExtension.True <Bus_Payment>();//初始化where表达式 predicate = predicate.And(a => a.Bus_LineId == busSearchByIdViewModel.Bus_LineId); predicate = predicate.And(a => a.carDate.Value.Year == busSearchByIdViewModel.carDate.Year && a.carDate.Value.Month == busSearchByIdViewModel.carDate.Month); return(predicate); }
/// <summary> /// 根据线路id查询数量 /// </summary> /// <param name="busSearchByIdViewModel"></param> /// <returns></returns> public IQueryable <Bus_Payment> SearchInfoByLineIdWhere(BusSearchByIdViewModel busSearchByIdViewModel) { var preciateBydepart = SearchBusUserByIdWhere(busSearchByIdViewModel); IQueryable <Bus_Payment> bus_Payments = DbSet.Where(preciateBydepart); // .OrderByDescending(o => o.createDate); //DateTime cd = bus_Payments.ToList()[0].createDate.Value;//获取最新日期 //var result = bus_Payments.Where(e => e.createDate.Value.Year== cd.Year && e.createDate.Value.Month == cd.Month); return(bus_Payments); }
/// <summary> /// 根据当前乘车时间和线路,判断座位有没有满员 /// </summary> /// <param name="busSearchByIdViewModel"></param> /// <returns></returns> public int ByBusIdSearchNum(BusSearchByIdViewModel busSearchByIdViewModel) { Bus_Info bus_Info = _IBusInfoRepository.SearchBusInfoSingleByLineWhere(busSearchByIdViewModel.Bus_LineId); //根据线路Id查班车 int seatNume = Convert.ToInt32(bus_Info.SeatNum); //班车座位数 var bus_User = _IBusUserRepository.SearchInfoByLineIdWhere(busSearchByIdViewModel).ToList(); //最新月份坐该班车的各部门信息 if (bus_User.Count < seatNume) //该线路乘车人未满员,可以继续选择该线路 { return(0); } else //说明该线路已坐满人 { return(-1); } }
public ActionResult <BusSearchByIdResModel> Bus_Id_Search(BusSearchByIdViewModel busSearchByIdViewModel) { BusSearchByIdResModel busSearchByIdResModel = new BusSearchByIdResModel(); int Result = _IBusUserService.ByBusIdSearchNum(busSearchByIdViewModel); if (Result == -1) { busSearchByIdResModel.isSuccess = false; busSearchByIdResModel.baseViewModel.Message = "该线路已坐满人,请重新选择"; busSearchByIdResModel.baseViewModel.ResponseCode = 200; _ILogger.Information("该线路已满员,请重新选择"); return(Ok(busSearchByIdResModel)); } else { busSearchByIdResModel.isSuccess = true; busSearchByIdResModel.baseViewModel.Message = "该线路未坐满人,可以添加该线路"; busSearchByIdResModel.baseViewModel.ResponseCode = 200; _ILogger.Information("该线路未坐满人,可以添加该线路"); return(Ok(busSearchByIdResModel)); } }