public ActionResult UnRegister(Model_Message model) { if (ModelState.IsValid) { var _UserExamInPersonPlan = db.Tbl_UserExamInPersonPlan.Where(x => x.UEIPP_ID == model.ID).SingleOrDefault(); if (_UserExamInPersonPlan != null) { var _Payment = db.Tbl_Payment.Where(x => x.Payment_ID == _UserExamInPersonPlan.UEIPP_PaymentID).SingleOrDefault(); if (_Payment != null) { int newCredit = new Rep_Wallet().Get_WalletCreditWithUserID(_Payment.Payment_UserID) + _Payment.Payment_Cost; _Payment.Payment_StateCodeID = (int)PaymentState.Rejected; _Payment.Payment_WayCodeID = (int)PaymentWay.Internet; _Payment.Payment_RemaingWallet = newCredit; _Payment.Payment_ModifiedDate = DateTime.Now; db.Entry(_Payment).State = EntityState.Modified; Tbl_Wallet _Wallet = db.Tbl_Wallet.Where(x => x.Wallet_UserID == _Payment.Payment_UserID).SingleOrDefault(); _Wallet.Wallet_Credit = newCredit; _Wallet.Wallet_ModifiedDate = DateTime.Now; db.Entry(_Wallet).State = EntityState.Modified; _UserExamInPersonPlan.UEIPP_IsActive = false; _UserExamInPersonPlan.UEIPP_ModifiedDate = DateTime.Now; _UserExamInPersonPlan.Tbl_ExamInPersonPlan.EIPP_Capacity += 1; db.Entry(_UserExamInPersonPlan).State = EntityState.Modified; if (Convert.ToBoolean(db.SaveChanges() > 0)) { TempData["TosterState"] = "success"; TempData["TosterType"] = TosterType.Maseage; TempData["TosterMassage"] = "ثبت نام کاربر مورد نظر با موفقیت لغو شد"; return(RedirectToAction("Details", "ExamInPerson", new { area = "Dashboard", id = db.Tbl_UserExamInPersonPlan.Where(x => x.UEIPP_ID == model.ID).SingleOrDefault().UEIPP_EIPPID })); } TempData["TosterState"] = "error"; TempData["TosterType"] = TosterType.Maseage; TempData["TosterMassage"] = "ثبت نام کاربر مورد نظر با موفقیت لغو نشد"; return(RedirectToAction("Details", "ExamInPerson", new { area = "Dashboard", id = db.Tbl_UserExamInPersonPlan.Where(x => x.UEIPP_ID == model.ID).SingleOrDefault().UEIPP_EIPPID })); } } TempData["TosterState"] = "error"; TempData["TosterType"] = TosterType.Maseage; TempData["TosterMassage"] = "ثبت نام کاربر مورد نظر با موفقیت لغو نشد"; return(HttpNotFound()); } return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); }
private Tbl_Payment Purchase(Tbl_User user, int cost, ProductType type, out bool walletResult, ref bool smsResult) { Tbl_Payment _Payment; int credit = new Rep_Wallet().Get_WalletCreditWithUserID(user.User_ID); if (credit + 30000 < cost) { if (new SMSPortal().SendServiceable(user.User_Mobile, ".", "", "", user.User_FirstName + " " + user.User_lastName, SMSTemplate.Charge) != "ارسال به مخابرات") { smsResult = false; } walletResult = false; } else { walletResult = true; } switch (type) { case ProductType.ExamInPerson: _Payment = new Tbl_Payment { Payment_Guid = Guid.NewGuid(), Payment_UserID = user.User_ID, Payment_TitleCodeID = (int)PaymentTitle.ExamInPerson, Payment_WayCodeID = (int)PaymentWay.Internet, Payment_StateCodeID = (int)PaymentState.Confirmed, Payment_Cost = cost, Payment_Discount = 0, Payment_RemaingWallet = credit - cost, Payment_TrackingToken = "ESL-" + new Random().Next(100000, 999999).ToString(), Payment_CreateDate = DateTime.Now, Payment_ModifiedDate = DateTime.Now }; return(_Payment); case ProductType.ExamRemotely: return(null); case ProductType.Workshop: _Payment = new Tbl_Payment { Payment_Guid = Guid.NewGuid(), Payment_UserID = user.User_ID, Payment_TitleCodeID = (int)PaymentTitle.Workshop, Payment_WayCodeID = (int)PaymentWay.Internet, Payment_StateCodeID = (int)PaymentState.Confirmed, Payment_Cost = cost, Payment_Discount = 0, Payment_RemaingWallet = credit - cost, Payment_TrackingToken = "ESL-" + new Random().Next(100000, 999999).ToString(), Payment_CreateDate = DateTime.Now, Payment_ModifiedDate = DateTime.Now }; return(_Payment); case ProductType.Class: _Payment = new Tbl_Payment { Payment_Guid = Guid.NewGuid(), Payment_UserID = user.User_ID, Payment_TitleCodeID = (int)PaymentTitle.Class, Payment_WayCodeID = (int)PaymentWay.Internet, Payment_StateCodeID = (int)PaymentState.Confirmed, Payment_Cost = cost, Payment_Discount = 0, Payment_RemaingWallet = credit, Payment_TrackingToken = "ESL-" + new Random().Next(100000, 999999).ToString(), Payment_CreateDate = DateTime.Now, Payment_ModifiedDate = DateTime.Now }; return(_Payment); default: return(null); } }
public ActionResult Register(Model_Message model) { if (ModelState.IsValid) { var _UserExamInPersonPlan = db.Tbl_UserExamInPersonPlan.Where(x => x.UEIPP_ID == model.ID).SingleOrDefault(); if (_UserExamInPersonPlan != null) { var _Payment = db.Tbl_Payment.Where(x => x.Payment_ID == _UserExamInPersonPlan.UEIPP_PaymentID).SingleOrDefault(); if (_Payment != null) { int credit = new Rep_Wallet().Get_WalletCreditWithUserID(_Payment.Payment_UserID); int newCredit = credit - _Payment.Payment_Cost; _Payment.Payment_StateCodeID = (int)PaymentState.Confirmed; _Payment.Payment_WayCodeID = (int)PaymentWay.Internet; _Payment.Payment_RemaingWallet = newCredit; _Payment.Payment_ModifiedDate = DateTime.Now; db.Entry(_Payment).State = EntityState.Modified; Tbl_Wallet _Wallet = db.Tbl_Wallet.Where(x => x.Wallet_UserID == _Payment.Payment_UserID).SingleOrDefault(); _Wallet.Wallet_Credit = newCredit; _Wallet.Wallet_ModifiedDate = DateTime.Now; db.Entry(_Wallet).State = EntityState.Modified; _UserExamInPersonPlan.UEIPP_IsActive = true; _UserExamInPersonPlan.UEIPP_ModifiedDate = DateTime.Now; _UserExamInPersonPlan.Tbl_ExamInPersonPlan.EIPP_Capacity -= 1; db.Entry(_UserExamInPersonPlan).State = EntityState.Modified; if (Convert.ToBoolean(db.SaveChanges() > 0)) { //if (_UserExamInPersonPlan.Tbl_ExamInPersonPlan.EIPP_Capacity <= 0) //{ // TempData["TosterState"] = "warning"; // TempData["TosterType"] = TosterType.Maseage; // TempData["TosterMassage"] = "ظرفیت آزمون مورد نظر پر شده است"; // return RedirectToAction("Details", "ExamInPerson", new { area = "Dashboard", id = db.Tbl_UserExamInPersonPlan.Where(x => x.UEIPP_ID == model.ID).SingleOrDefault().UEIPP_EIPPID }); //} if (credit + 30000 < _Payment.Payment_Cost) { if (new SMSPortal().SendServiceable(_Payment.Tbl_User.User_Mobile, ".", "", "", _Payment.Tbl_User.User_FirstName + " " + _Payment.Tbl_User.User_lastName, SMSTemplate.Charge) != "ارسال به مخابرات") { TempData["TosterState"] = "warning"; TempData["TosterType"] = TosterType.WithTitel; TempData["TosterTitel"] = "خطا در ارسال پیامک"; TempData["TosterMassage"] = "کمبود موجودی کیف پول کاربر"; } else { TempData["TosterState"] = "warning"; TempData["TosterType"] = TosterType.Maseage; TempData["TosterMassage"] = "کمبود موجودی کیف پول کاربر"; } } else { TempData["TosterState"] = "success"; TempData["TosterType"] = TosterType.Maseage; TempData["TosterMassage"] = "ثبت نام کاربر مورد نظر با موفقیت انجام شد"; } return(RedirectToAction("Details", "ExamInPerson", new { area = "Dashboard", id = db.Tbl_UserExamInPersonPlan.Where(x => x.UEIPP_ID == model.ID).SingleOrDefault().UEIPP_EIPPID })); } TempData["TosterState"] = "error"; TempData["TosterType"] = TosterType.Maseage; TempData["TosterMassage"] = "ثبت نام کاربر مورد نظر با موفقیت انجام نشد"; return(RedirectToAction("Details", "ExamInPerson", new { area = "Dashboard", id = db.Tbl_UserExamInPersonPlan.Where(x => x.UEIPP_ID == model.ID).SingleOrDefault().UEIPP_EIPPID })); } } TempData["TosterState"] = "error"; TempData["TosterType"] = TosterType.Maseage; TempData["TosterMassage"] = "ثبت نام کاربر مورد نظر با موفقیت انجام نشد"; return(HttpNotFound()); } return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); }