示例#1
0
        public static async void Test()
        {
            MobilePaywallDirect db = MobilePaywallDirect.Instance;
            int?id = db.LoadInt("SELECT TOP 1 ServiceID FROM MobilePaywall.core.Service", DirectTime.Now);

            Console.ReadKey();
        }
示例#2
0
        public ActionResult CloseAccessPolicy(string uid)
        {
            //Client client = ClientHelper.GetClient(Request);
            //if (client == null)
            //  return this.Json(new { status = false, message = "Login error" });

            int _uid = -1;

            if (!Int32.TryParse(uid, out _uid))
            {
                return(this.Json(new { status = false, message = "Parse error" }, JsonRequestBehavior.AllowGet));
            }

            MobilePaywallDirect db = MobilePaywallDirect.Instance;
            int?paymentID          = db.LoadInt("SELECT PaymentID FROM MobilePaywall.core.OLCache WHERE UserSessionID=" + uid);

            if (!paymentID.HasValue)
            {
                return(this.Json(new { status = false, message = "Payment is missing from cache" }));
            }

            DirectContainer pcapm = db.LoadContainer("SELECT PaymentContentAccessPolicyMapID FROM MobilePaywall.core.PaymentContentAccessPolicyMap WHERE PaymentID=" + paymentID.Value + " AND IsValid=1 AND ValidTo>getdate();");

            if (!pcapm.HasValue)
            {
                return(this.Json(new { status = false, message = "There are no active Access policies" }));
            }

            IPaymentContentAccessPolicyMapManager pcapManager = PaymentContentAccessPolicyMap.CreateManager();

            foreach (DirectContainerRow row in pcapm.Rows)
            {
                int?pcapmID = row.GetInt("PaymentContentAccessPolicyMapID");
                if (!pcapmID.HasValue)
                {
                    continue;
                }

                PaymentContentAccessPolicyMap map = pcapManager.Load(pcapmID.Value);
                if (map == null)
                {
                    continue;
                }
            }

            return(null);
        }
        public ActionResult ClickinformationsAction_CancelAccessPolicy(string uid)
        {
            if (string.IsNullOrEmpty(uid))
            {
                return(this.Json(new { status = false, message = "There is no uid param" }));
            }

            MobilePaywallDirect db = MobilePaywallDirect.Instance;

            int?paymentID = db.LoadInt(string.Format(@"
        SELECT ol.PaymentID FROM MobilePaywall.core.OLCache AS ol
        WHERE UserSessionID={0}", uid));

            if (!paymentID.HasValue)
            {
                return(this.Json(new { status = false, message = "This UserSession has no Payment" }));
            }

            db.Execute("UPDATE MobilePaywall.core.PaymentContentAccessPolicyMap SET IsValid=0 WHERE PaymentID=" + paymentID.Value);
            return(this.Json(new { status = true, message = "AccessPolicy is closed" }));
        }