public ActionResult Create(int id) { Model_UserClassPlanCreate model = new Model_UserClassPlanCreate() { ClassID = id }; return(PartialView(model)); }
public ActionResult Create(Model_UserClassPlanCreate model) { if (ModelState.IsValid) { var _User = db.Tbl_User.Where(x => x.User_Guid == model.UserGuid && x.User_IsDelete == false).SingleOrDefault(); Tbl_UserClassPlan _UserClassPlan = db.Tbl_UserClassPlan.Where(x => x.UCP_UserID == _User.User_ID && x.UCP_CPID == model.ClassID).FirstOrDefault(); if (_UserClassPlan != null && !_UserClassPlan.UCP_IsDelete) { TempData["TosterState"] = "info"; TempData["TosterType"] = TosterType.Maseage; TempData["TosterMassage"] = "کلاس مورد نظر قبلا خریداری شده است و هم اکنون فعال یا در انتظار تایید می باشد"; return(RedirectToAction("Details", "Class", new { area = "Dashboard", id = model.ClassID })); } ; var _ClassPlan = db.Tbl_ClassPlan.Where(x => x.CP_ID == model.ClassID).SingleOrDefault(); if (_ClassPlan != null) { bool smsResult = true; Tbl_Payment _Payment = Purchase(_User, _ClassPlan.CP_CostPerSession, ProductType.Class, out bool walletResult, ref smsResult); if (_Payment != null) { db.Tbl_Payment.Add(_Payment); if (_UserClassPlan != null) { _UserClassPlan.UCP_IsDelete = false; _UserClassPlan.UCP_ModifiedDate = DateTime.Now; _UserClassPlan.Tbl_Payment = _Payment; db.Entry(_UserClassPlan).State = EntityState.Modified; } else { _UserClassPlan = new Tbl_UserClassPlan() { UCP_Guid = Guid.NewGuid(), UCP_UserID = _User.User_ID, UCP_CPID = model.ClassID, Tbl_Payment = _Payment, UCP_IsActive = true, UCP_CreationDate = DateTime.Now, UCP_ModifiedDate = DateTime.Now }; db.Tbl_UserClassPlan.Add(_UserClassPlan); } _ClassPlan.CP_Capacity -= 1; db.Entry(_ClassPlan).State = EntityState.Modified; if (Convert.ToBoolean(db.SaveChanges() > 0)) { if (_ClassPlan.CP_Capacity <= 0) { TempData["TosterState"] = "warning"; TempData["TosterType"] = TosterType.Maseage; TempData["TosterMassage"] = "ظرفیت کلاس مورد نظر پر شده است"; } else { TempData["TosterState"] = "success"; TempData["TosterType"] = TosterType.Maseage; TempData["TosterMassage"] = "ثبت نام با موفقیت انجام شد"; } return(RedirectToAction("Details", "Class", new { area = "Dashboard", id = model.ClassID })); } TempData["TosterState"] = "error"; TempData["TosterType"] = TosterType.Maseage; TempData["TosterMassage"] = "ثبت نام با موفقیت انجام نشد"; return(RedirectToAction("Details", "Class", new { area = "Dashboard", id = model.ClassID })); } else { TempData["TosterState"] = "error"; TempData["TosterType"] = TosterType.Maseage; TempData["TosterMassage"] = "ثبت نام با موفقیت انجام نشد"; return(RedirectToAction("Details", "Class", new { area = "Dashboard", id = model.ClassID })); } } else { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } } return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); }