public ApiResult <string> tousave(int classid, string ids, int type) { ApiResult <string> result = new ApiResult <string>(); try { var dbh = DbContext.Get(); var aids = dbh.Db.Queryable <UserInfo>().Select(ii => new { ii.id, ii.tel }).In("id", mUtils.idsToList(ids)).ToList(); if (type == 1) { //私教 foreach (var item in aids) { if (dbh.GetEntityDB <PtOrder>().Count(ii => ii.ptId == classid && ii.userId == item.id) == 0) { PtOrder yo = new PtOrder(); yo.create_at = DateTime.Now; yo.ptId = classid; yo.userId = item.id; yo.tel = item.tel; yo.canceled = false; dbh.Db.Insertable(yo).ExecuteCommand(); } } } else { foreach (var item in aids) { if (dbh.GetEntityDB <YogaOrder>().Count(ii => ii.classId == classid && ii.userId == item.id) == 0) { YogaOrder yo = new YogaOrder(); yo.create_at = DateTime.Now; yo.classId = classid; yo.userId = item.id; yo.tel = item.tel; yo.canceled = false; dbh.Db.Insertable(yo).ExecuteCommand(); } } } result.ok = true; } catch (Exception ex) { result.ok = false; result.msg = ex.Message; } return(result); }
public IActionResult Save(int id) { var userid = User.FindFirst(ClaimTypes.Sid).Value.AsInt(); var dbh = DbContext.Get(); UserInfo user = dbh.Db.Queryable <UserInfo>().InSingle(userid); if (user == null) { return(ShowErrorPage("登录已失效")); } var data = dbh.Db.Queryable <YogaClass>().Select(ii => new { ii.id, ii.disabled, ii.kyyzs, ii.yysl, ii.rdate }).Single(ii => ii.id == id); if (data == null || data.disabled) { return(ShowErrorPage("课程不存在!")); } if (data.kyyzs <= data.yysl) { return(ShowErrorPage("当前课程预约已满!")); } if (data.rdate < DateTime.Now.Date) { return(ShowErrorPage("不能预约已过期的课程!")); } if (dbh.Db.Queryable <YogaOrder>().Count(ii => ii.userId == userid && ii.classId == id) > 0) { return(ShowErrorPage("已预约相同课程!")); } YogaOrder order = new YogaOrder(); order.tel = user.tel; order.create_at = DateTime.Now; order.classId = id; order.userId = userid; order.canceled = false; dbh.Db.Updateable <YogaClass>().SetColumns(ii => ii.yysl == ii.yysl + 1).Where(ii => ii.id == id).ExecuteCommand(); dbh.Db.Insertable(order).ExecuteCommand(); return(View()); }