public JsonResult FarmBooking(FarmBookingInput input) { var parameter = ModelHelper.GetPropertyDictionary <FarmBookingInput>(input); var result = PostStandardWithSameControllerAction <object>(this, parameter); return(new JsonResultEx(result)); }
public JsonResult FarmBooking(FarmBookingInput input) { using (var result = new ResponseResult <object>()) { //验证用户是否存在 if (_userService.Count(m => m.Id == input.UserId) == 0) { throw new CustomException("用户不存在!"); } //获取农场信息 var farm = _farmService.GetByKey(input.FarmId); if (farm == null || farm.IsDeleted) { throw new CustomException("农场不存在!"); } //判断农场是否开放 if (!farm.IsOpen) { throw new CustomException("农场暂未开放!"); } //判断预约时间是否在开放时间内 if (!(input.VisitDate >= farm.OpenStartDate && input.VisitDate <= farm.OpenEndDate)) { throw new CustomException("请预约一个有效的日期!"); } //判断是否已经预约过同一个农场 var existBookingRecord = _farmBookingService.Count(m => m.UserId == input.UserId && m.FarmId == input.FarmId) > 0; if (existBookingRecord) { throw new CustomException("你已预约过该农场,如需再次预约,请线下联系!"); } if (input.VisitDate != null) { var farmBookingRecord = new T_FARM_BOOKING() { FarmId = input.FarmId, UserId = input.UserId, VisitDate = input.VisitDate.Value, CreateTime = DateTime.Now }; _farmBookingService.Insert(farmBookingRecord); result.Message = "预约示范农场成功!"; return(new JsonResultEx(result)); } result.IsSuccess = false; result.Message = "预约示范农场失败!"; return(new JsonResultEx(result)); } }