Batch.Internal.Response.GetCodeErrorInfos C# (CSharp) Метод

GetCodeErrorInfos() публичный Метод

public GetCodeErrorInfos ( ) : CodeErrorInfo
Результат CodeErrorInfo
        public CodeErrorInfo GetCodeErrorInfos()
        {
            if ( !responseData.HasKey("invalidCodeReason") )
            {
                return null;
            }

            CodeErrorInfoType type = (CodeErrorInfoType)Enum.Parse (typeof(CodeErrorInfoType), responseData.GetString("invalidCodeReason", null));
            List<Application> missingApplications = new List<Application>();

            if ( responseData.HasKey("missingApplications") )
            {
                JsonData apps = responseData["missingApplications"];

                for (var i = 0; i < apps.Count; i++)
                {
                    JsonData app = apps[i];
                    missingApplications.Add(new Application(app.HasKey("bundleId") ? app.GetString("bundleId", null) :  app.GetString("scheme", null), app.HasKey("scheme")));
                }
            }

            return new CodeErrorInfo (type, missingApplications);
        }

Usage Example

Пример #1
0
        public void OnRedeemCodeFailed(string response)
        {
            try
            {
                Response answer = new Response(response);

                FailReason failReason = answer.GetFailReason();

                string code = answer.GetFailedCode();
                if (code == null)
                {
                    throw new NullReferenceException("The returned invalid code is null.");
                }

                if (RedeemCodeFailed != null)
                {
                    RedeemCodeFailed(code, failReason, answer.GetCodeErrorInfos());
                }
            }
            catch (Exception e)
            {
                Logger.Error(true, "onRedeemCodeFailed", e);
                if (RedeemCodeFailed != null)
                {
                    RedeemCodeFailed(null, FailReason.UNEXPECTED_ERROR, null);
                }
            }
        }