public ActionResult ListData(TicketQueryModel model) { model.OTABusinessId = UserInfo.OtaBusinessId; var result = _ticketFacadeService.GetPageList(model); return(Json(result, JsonRequestBehavior.AllowGet)); }
public ActionResult Index(TicketQueryModel model) { try { //需要前端验证 if (!model.FromStationId.HasValue || !model.ToStationId.HasValue) { throw new Exception("你还没选择出发站或者到达站"); } //需要前端验证 if (model.FromStationId >= model.ToStationId) { throw new Exception("到达站不能在出发站之前"); } Ticket queryTicket = new Ticket { From = model.FromStationId.GetValueOrDefault(0), To = model.ToStationId.GetValueOrDefault(0) }; model.AvailableTicketsCount = this.ticketService.GetAvailableTicketsCount(queryTicket); } catch (Exception ex) { ErrorNotification(ex.Message); } return View(model); }
public TPageResult <TicketViewModel> GetPageList(TicketQueryModel model) { var result = new TPageResult <TicketViewModel>(); //过滤掉已过期的产品 DateTime nowTime = DateTime.Now.Date; DateTime endTime = nowTime.AddDays(-1).Date; var tbl_Ticket = PredicateBuilder.True <Tbl_Ticket>(); if (!string.IsNullOrEmpty(model.TicketName)) { using (var db = DbFactory.GetSqlSugarClient()) { var total = 0; var data = db.Queryable <Tbl_Ticket, Tbl_OTATicketRelation>((a, b) => new object[] { JoinType.Left, a.TicketId == b.TicketId }). Where((a, b) => a.TicketName.Contains(model.TicketName) && b.OTABusinessId == model.OTABusinessId && a.TicketSource == 2 && a.ExpiryDateStart <= nowTime && a.ExpiryDateEnd >= nowTime). OrderBy((a) => a.CreateTime). Select((a) => new TicketViewModel { TicketId = a.TicketId, TicketName = a.TicketName, Price = a.SalePrice, BookCount = 1, TotalAmount = a.SalePrice }).ToPageList(model.Page, model.Limit, ref total); return(result.SuccessResult(data, total)); } } using (var db = DbFactory.GetSqlSugarClient()) { var total = 0; var data = db.Queryable <Tbl_Ticket, Tbl_OTATicketRelation>((a, b) => new object[] { JoinType.Left, a.TicketId == b.TicketId }). Where((a, b) => b.OTABusinessId == model.OTABusinessId && a.TicketSource == 2 && a.ExpiryDateStart <= nowTime && a.ExpiryDateEnd >= nowTime). OrderBy((a) => a.CreateTime). Select((a) => new TicketViewModel { TicketId = a.TicketId, TicketName = a.TicketName, Price = a.SalePrice, BookCount = 1, TotalAmount = a.SalePrice }).ToPageList(model.Page, model.Limit, ref total); return(result.SuccessResult(data, total)); } }
/// <summary> /// 获取旅行社可用产品列表 /// </summary> /// <param name="model"></param> /// <returns></returns> public TPageResult <TicketViewModel> GetPageList(TicketQueryModel model) { var ticketData = _ticketRepository.GetPageList(model); if (!ticketData.Success) { return(ticketData); } var ticketIds = ticketData.Data.Select(a => a.TicketId).ToList(); var Tbl_TicketRelations = _ticketRelationRepository.GetAllList(p => ticketIds.Contains(p.TicketId)); DateTime playTime = model.PlayDate.Date; //根据游玩日期,变动价格 foreach (var item in ticketData.Data) { //根据orderId 顺序排列 取第一条 var tbl_TicketRelation = Tbl_TicketRelations.Where(p => p.TicketId == item.TicketId && p.Type == (int)TicketRelationEnum.TimeSlot && p.ExpiryDateStart <= playTime && p.ExpiryDateEnd >= playTime ).OrderBy(c => c.OrderId).FirstOrDefault(); if (tbl_TicketRelation != null) { item.Price = tbl_TicketRelation.SalePrice; continue; } //特殊时间段价格表为空 同时 游玩日期 是周末则启动周末价格策略 var dayOfWeek = playTime.DayOfWeek; if (dayOfWeek != DayOfWeek.Saturday && dayOfWeek != DayOfWeek.Sunday) { continue; } var ticketRelation = Tbl_TicketRelations.FirstOrDefault(p => p.TicketId == item.TicketId && p.Type == (int)TicketRelationEnum.Weekend); if (ticketRelation != null) { item.Price = ticketRelation.SalePrice; } item.TotalAmount = item.BookCount * item.Price; } return(ticketData); }
public TPageResult <TicketViewModel> GetPageList(TicketQueryModel model) { var result = new TPageResult <TicketViewModel>(); if (model.PlayDate.Date < DateTime.Now.Date) { return(result.FailureResult(null, "游玩日期不能小于今天")); } //过滤掉已过期的产品 DateTime nowTime = model.PlayDate.Date; var tbl_Ticket = PredicateBuilder.True <Tbl_Ticket>(); if (!string.IsNullOrEmpty(model.TicketName)) { using (var db = DbFactory.GetSqlSugarClient()) { var total = 0; var data = db.Queryable <Tbl_Ticket, Tbl_OTATicketRelation>((a, b) => new object[] { JoinType.Left, a.TicketId == b.TicketId }). Where((a, b) => a.TicketName.Contains(model.TicketName) && b.OTABusinessId == model.OTABusinessId && a.TicketSource == 2 && a.ExpiryDateStart <= nowTime && a.ExpiryDateEnd >= nowTime). OrderBy((a) => a.CreateTime). Select((a) => new TicketViewModel { TicketId = a.TicketId, TicketName = a.TicketName, Price = a.SalePrice, BookCount = 1, TotalAmount = a.SalePrice, Min = a.MinOQ, Max = a.MaxOQ }).ToPageList(model.Page, model.Limit, ref total); foreach (var row in data) { row.BookCount = row.Min > 0 ? row.Min : 1; row.TotalAmount = row.BookCount * row.Price; } return(result.SuccessResult(data, total)); } } using (var db = DbFactory.GetSqlSugarClient()) { var total = 0; var data = db.Queryable <Tbl_Ticket, Tbl_OTATicketRelation>((a, b) => new object[] { JoinType.Left, a.TicketId == b.TicketId }). Where((a, b) => b.OTABusinessId == model.OTABusinessId && a.TicketSource == 2 && a.ExpiryDateStart <= nowTime && a.ExpiryDateEnd >= nowTime). OrderBy((a) => a.CreateTime). Select((a) => new TicketViewModel { TicketId = a.TicketId, TicketName = a.TicketName, Price = a.SalePrice, BookCount = 1, TotalAmount = a.SalePrice, Min = a.MinOQ, Max = a.MaxOQ }).ToPageList(model.Page, model.Limit, ref total); foreach (var row in data) { row.BookCount = row.Min > 0 ? row.Min : 1; } return(result.SuccessResult(data, total)); } }
public TPageResult <TicketViewModel> GetPageList(TicketQueryModel model) { return(_ticketService.GetPageList(model)); }
/// <summary> /// 获取旅行社可用产品列表 /// </summary> /// <param name="model"></param> /// <returns></returns> public TPageResult <TicketViewModel> GetPageList(TicketQueryModel model) { return(_ticketRepository.GetPageList(model)); }
public ActionResult Index() { var model = new TicketQueryModel(); return View(model); }