public async Task <ActionResult> Process() { EnrollDto enrollDto = _helper.GetEnrollDto(); if (enrollDto == null) { return(Redirect("/Mob/Enroll")); } if (WxPayApi.IsPaid("", enrollDto.Enroll.OrderNo)) { PayModelDto model = WxPayApi.GetPayModel(enrollDto.Enroll.OrderNo); await _helper.SetPayStatus(EnrollStatus.PaySuccess, model); } WxPayData data = null; if (enrollDto.Enroll.Status != EnrollStatus.PaySuccess) { data = await WxPayApi.GetJSSDKConfig(); } ViewBag.WxConfig = data == null ? "" : SerializationHelper.ToJson(data.GetValues()); enrollDto.Enroll.IdCard = enrollDto.Enroll.IdCard.ToSpecialString(6, 8); return(View(enrollDto)); }
public async Task <IActionResult> AddEnrollment([FromBody] EnrollDto enrollDto) { var user = await _context.Users.FirstOrDefaultAsync(e => e.Email == User.Identity.Name); enrollDto.UserId = user.UserId; var duplicate = await _context.Enrollment .FirstOrDefaultAsync(e => e.InstanceId == enrollDto.InstanceId && e.UserId == enrollDto.UserId); var numStudents = _context.Enrollment .Count(e => e.InstanceId.Equals(enrollDto.InstanceId)); var instance = await _context.Instance .Include(e => e.Course) .Include(e => e.Course.CourseCategory) .FirstOrDefaultAsync(e => e.InstanceId.Equals(enrollDto.InstanceId)); if (instance.Course.CourseCategory.Name == "EMT" && !enrollDto.Paid) { return(StatusCode(423, "Payment is required for EMT")); } if (numStudents >= instance.Seats) { return(StatusCode(422, "Classes are full cannot enroll")); } if (duplicate != null) { return(StatusCode(424, "You are already enrolled in this class")); } if (duplicate == null) { var enrollment = _context.Enrollment; enrollment.Add(new Enrollment() { InstanceId = enrollDto.InstanceId, UserId = enrollDto.UserId, BookBought = enrollDto.BookBought, Status = 'E', Paid = enrollDto.Paid, }); await _context.SaveChangesAsync(); return(Ok()); } else { return(NotFound()); } }
public async Task <IActionResult> DemoViewAsPDF(int?id) { if (id == null) { return(NotFound()); } //var enroll = await _context.Enroll // .SingleOrDefaultAsync(m => m.Id == id); EnrollDto enroll = new EnrollDto(); enroll = await(from a in _context.Enroll.Where(x => x.Id == id) join b in _context.Department on a.DeptId equals b.Id join c in _context.Course on a.CourseId equals c.Id join d in _context.Student on a.StudentId equals d.Id select new EnrollDto { DeptCode = b.DeptCode, CourseCode = c.CourseCode, FullName = d.FullName, Id = a.Id, StatusText = (a.Status == 1) ? "Active" : "Inactive" }).SingleOrDefaultAsync(); if (enroll == null) { return(NotFound()); } return(new ViewAsPdf("Details", enroll) { PageSize = Rotativa.AspNetCore.Options.Size.Tabloid, CustomSwitches = "--print-media-type --header-center \"Student Report\"" }); }
// GET: Enrolls/Details/5 public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } //var enroll = await _context.Enroll // .SingleOrDefaultAsync(m => m.Id == id); EnrollDto enroll = new EnrollDto(); enroll = await(from a in _context.Enroll.Where(x => x.Id == id) join b in _context.Department on a.DeptId equals b.Id join c in _context.Course on a.CourseId equals c.Id join d in _context.Student on a.StudentId equals d.Id select new EnrollDto { DeptCode = b.DeptCode, CourseCode = c.CourseCode, FullName = d.FullName, Id = a.Id, StatusText = (a.Status == 1) ? "Active" : "Inactive" }).SingleOrDefaultAsync(); if (enroll == null) { return(NotFound()); } return(View(enroll)); }
public async Task <ActionResult> Save(EnrollDto model) { bool result = await _helper.SaveAsync(model.Enroll); return(Success(result)); }