Esempio n. 1
0
        public JsonResult FarmBooking(FarmBookingInput input)
        {
            var parameter = ModelHelper.GetPropertyDictionary <FarmBookingInput>(input);
            var result    = PostStandardWithSameControllerAction <object>(this, parameter);

            return(new JsonResultEx(result));
        }
Esempio n. 2
0
        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));
            }
        }