public object DynamicValidate(string card, string sum = null)
        {
            try
            {
                if (int.TryParse(card, out int account))
                {
                    object sia_v = new Rc.Validate()
                    {
                        account = account
                    };

                    decimal decamount;
                    if (sum != null && decimal.TryParse(sum, out decamount))
                    {
                        ((Rc.Validate)sia_v).amount = decamount;
                    }

                    if (_rc_context.SpExec(Config.DbPrefixRc + "Validate", ref sia_v))
                    {
                        if (((Rc.Validate)sia_v).error_code == 0 && ((Rc.Validate)sia_v).tariff_price == 0)
                        {
                            return(null);
                        }
                        else
                        {
                            return(new JsonResult(new { text = ((Rc.Validate)sia_v).error_text, price = ((Rc.Validate)sia_v).tariff_price }));
                        }
                    }
                }
                return(null);
            }
            catch (Exception e)
            {
                Log.Write(e);
                return(null);
            }
        }
        public IActionResult Index(string card, string sum)
        {
            try
            {
                var register_toSber = new SberClasses.Register_toSber();



                if (string.IsNullOrEmpty(card) || !int.TryParse(card, out int account))
                {
                    ViewData[Config.vd_ServerMessagePay] = "Неверный номер";
                    return(View());
                }
                else
                {
                    if (sum == null || !decimal.TryParse(sum, out decimal decamount))
                    {
                        ViewData[Config.vd_ServerMessagePay] = "Неверная сумма";
                        return(View());
                    }
                    else
                    {
                        var    amount = (int)(decamount * 100);
                        object sia_v  = new Rc.Validate()
                        {
                            account = account,
                            amount  = decamount
                        };

                        var isOk = _rc_context.SpExec(Config.DbPrefixRc + "Validate", ref sia_v) && ((Rc.Validate)sia_v).error_code == 0;

                        if (!isOk)
                        {
                            ViewData[Config.vd_ServerMessagePay] = "Номер карты не зарегистрирован";
                            return(View());
                        }

                        if (((Rc.Validate)sia_v).tariff_price > 0)
                        {
                            register_toSber.amount = (int)(((Rc.Validate)sia_v).tariff_price * 100);
                        }
                        else
                        {
                            register_toSber.amount = amount;
                        }

                        register_toSber.userName    = LNet.apiLogin;
                        register_toSber.password    = LNet.apiPass;
                        register_toSber.orderNumber = Guid.NewGuid().ToString();
                        register_toSber.returnUrl   = Config.ReturnUrl + "result";

                        Config.SetSessionValue(HttpContext, Config.ss_OrderInfo, new Sb.OrderInfo()
                        {
                            amount      = decamount,
                            emiss       = account,
                            orderNumber = register_toSber.orderNumber
                        });

                        var register_fromSber = LNet.reqResp <SberClasses.Register_fromSber>(HttpContext, _sb_context, register_toSber, LNet.addr_register, HttpMethod.Post);

                        if ((register_fromSber.errorCode ?? 0) != 0)
                        {
                            ViewData[Config.vd_ServerMessagePay] = register_fromSber.errorMessage;// "Проблема соединения с сервером, попробуйте еще раз";
                            return(View());
                        }


                        Config.SetSessionValue(HttpContext, Config.ss_SberValues_register_toSber, register_toSber);
                        Config.SetSessionValue(HttpContext, Config.ss_SberValues_register_fromSber, register_fromSber);

                        ViewData[Config.vd_Redirect] = register_fromSber.formUrl;
                    }
                }


                return(View());
            }
            catch (Exception e)
            {
                Log.Write(e);
                try
                {
                    HttpContext.Session.Clear();
                }
                catch { }
                return(Index());
                //return RedirectToAction("Error");
            }
        }