Exemple #1
0
        public SimvaWindow(Rect aStartPos, GUIStyle aStyle,
                           params GUILayoutOption[] aOptions)
            : base(aStartPos, new GUIContent(TC.get("Simva.Title")), aStyle, aOptions)
        {
            ButtonContent = new GUIContent()
            {
                image = Resources.Load <Texture2D>("simva-icon"),
                text  = "Simva"
            };

            tabsManager = new TabsManager(this);
            simvaConf   = new SimvaConf();
            if (string.IsNullOrEmpty(simvaConf.Host))
            {
                Debug.LogWarning("No Simva Host!");
            }

            if (ProjectConfigData.existsKey("Simva.RefreshToken"))
            {
                Login();
            }

            if (linkStyle == null)
            {
                linkStyle           = new GUIStyle(GUI.skin.label);
                linkStyle.richText  = true;
                titleStyle          = new GUIStyle(GUI.skin.label);
                titleStyle.richText = true;
            }
        }
Exemple #2
0
        private void Login()
        {
            SimvaConf.Local = new SimvaConf();
            var carga = new AsyncCompletionSource();

            Observable.FromCoroutine(() => LoadSimvaConf(SimvaConf.Local.LoadAsync(), carga)).Subscribe();

            isLogin = true;
            carga.Then(() =>
            {
                IAsyncOperation <SimvaApi <ITeachersApi> > loginCall = null;
                if (ProjectConfigData.existsKey("Simva.RefreshToken"))
                {
                    loginCall = SimvaApi <ITeachersApi> .Login(new AuthorizationInfo
                    {
                        ClientId     = "uadventure",
                        RefreshToken = ProjectConfigData.getProperty("Simva.RefreshToken")
                    });
                }
                else
                {
                    loginCall = SimvaApi <ITeachersApi> .Login(true);
                }

                loginCall.Then(simvaController =>
                {
                    this.simvaController = simvaController;
                    this.simvaConf       = simvaController.SimvaConf;
                    var apiClient        = ((TeachersApi)this.simvaController.Api).ApiClient;
                    apiClient.onAuthorizationInfoUpdate += auth =>
                    {
                        ProjectConfigData.setProperty("Simva.RefreshToken", auth.RefreshToken);
                    };
                    ProjectConfigData.setProperty("Simva.RefreshToken", apiClient.AuthorizationInfo.RefreshToken);
                    ProjectConfigData.storeToXML();
                })
                .Catch(error =>
                {
                    ProjectConfigData.setProperty("Simva.RefreshToken", null);
                    ProjectConfigData.storeToXML();
                    Controller.Instance.ShowErrorDialog("Simva.Login.Error.Title", "Simva.Login.Error.Message");
                })
                .Finally(() => isLogin = false);
            });
        }
Exemple #3
0
    public ProjectConfigData getProjectConfig(string project_code)
    {
        ProjectConfigData project_config = new ProjectConfigData();

        ConnectDB     db        = new ConnectDB();
        SqlDataSource oracleObj = db.ConnectionOracle();

        oracleObj.SelectCommand = "Select * From PROJECT_CONFIG Where PROJECT_CODE='" + project_code + "'";
        DataView allData = (DataView)oracleObj.Select(DataSourceSelectArguments.Empty);

        foreach (DataRowView rowData in allData)
        {
            project_config.Project_Code = rowData["PROJECT_CODE"].ToString();
            project_config.Tax_ID       = rowData["TAX_ID"].ToString();
            project_config.Service_Code = rowData["SERVICE_CODE"].ToString();
            project_config.Bank_Code    = rowData["BANK_CODE"].ToString();
            project_config.Bank_Charg   = Convert.ToInt32(rowData["BANK_CHARG"].ToString());
        }

        return(project_config);
    }
        /// <summary>
        /// Serializes the configuration data of the specified view model
        /// </summary>
        /// <param name="vm">Spectrum configuration view model</param>
        /// <returns></returns>
        public static string Serialize(SpectrumConfEditorViewModel vm)
        {
            var data = new ProjectConfigData(vm.ModelName, vm.EditionName);

            return(JsonConvert.SerializeObject(data, Formatting.Indented));
        }
Exemple #5
0
        private void DoRegisterAndLogin()
        {
            DoBorderWithTitle("Set up your account", () =>
            {
                if (GUILayout.Button("Login") && ValidateLogin())
                {
                    var myWindow = GetActiveWindow();
                    SimvaApi <ITeachersApi> .Login(true)
                    .Then(simvaController =>
                    {
                        if (simvaController != null)
                        {
                            this.simvaController = simvaController;
                            var apiClient        = ((TeachersApi)this.simvaController.Api).ApiClient;
                            apiClient.onAuthorizationInfoUpdate += auth =>
                            {
                                ProjectConfigData.setProperty("Simva.RefreshToken", auth.RefreshToken);
                            };
                            ProjectConfigData.setProperty("Simva.RefreshToken", apiClient.AuthorizationInfo.RefreshToken);
                            ProjectConfigData.storeToXML();
                        }
                    })
                    .Catch(error =>
                    {
                        Debug.Log(error.Message);
                        Controller.Instance.ShowErrorDialog("Simva.Register.Failed.Title", "Simva.Register.Failed.Message");
                    })
                    .Finally(() =>
                    {
                        BringWindowToTop(myWindow);
                        isLogin = false;
                    });
                }

                return;

                // Username field
                registerUser = EditorGUILayout.TextField("Username", registerUser);
                // Password field
                registerPassword = EditorGUILayout.PasswordField("Password", registerPassword);
                // Email field
                email = EditorGUILayout.TextField("Email", email);
                // TOS Field
                tos = DoTermsAndConditionsField(tos);

                using (new EditorGUI.DisabledGroupScope(!tos))
                {
                    if (GUILayout.Button("Create account") && ValidateRegister())
                    {
                        isLogin = true;
                        //var randomUser = GenerateRandomBase58Key(32);

                        /*SimvaApi<ITeachersApi>.Register(registerUser, email, registerPassword, true)
                         *  .Then(registered =>
                         *  {
                         *      return registered ? SimvaApi<ITeachersApi>.LoginWithCredentials(registerUser, registerPassword) : null;
                         *  })
                         *  .Then(simvaController =>
                         *  {
                         *      if (simvaController != null)
                         *      {
                         *          this.simvaController = simvaController;
                         *          var apiClient = ((TeachersApi)this.simvaController.Api).ApiClient;
                         *          apiClient.onAuthorizationInfoUpdate += auth =>
                         *          {
                         *              ProjectConfigData.setProperty("Simva.RefreshToken", auth.RefreshToken);
                         *          };
                         *          ProjectConfigData.setProperty("Simva.RefreshToken", apiClient.AuthorizationInfo.RefreshToken);
                         *          ProjectConfigData.storeToXML();
                         *      }
                         *  })
                         *  .Catch(error =>
                         *  {
                         *      Controller.Instance.ShowErrorDialog("Simva.Register.Failed.Title", "Simva.Register.Failed.Message");
                         *  })
                         *  .Finally(() => isLogin = false);*/
                    }
                }

                // Separator
                DoSeparator("Or");

                user     = EditorGUILayout.TextField("User", user);
                password = EditorGUILayout.PasswordField("Password", password);
                if (GUILayout.Button("Login") && ValidateLogin())
                {
                    SimvaApi <ITeachersApi> .LoginWithCredentials(user, password)
                    .Then(simvaController =>
                    {
                        if (simvaController != null)
                        {
                            this.simvaController = simvaController;
                            var apiClient        = ((TeachersApi)this.simvaController.Api).ApiClient;
                            apiClient.onAuthorizationInfoUpdate += auth =>
                            {
                                ProjectConfigData.setProperty("Simva.RefreshToken", auth.RefreshToken);
                            };
                            ProjectConfigData.setProperty("Simva.RefreshToken", apiClient.AuthorizationInfo.RefreshToken);
                            ProjectConfigData.storeToXML();
                        }
                    })
                    .Catch(error =>
                    {
                        Controller.Instance.ShowErrorDialog("Simva.Register.Failed.Title", "Simva.Register.Failed.Message");
                    })
                    .Finally(() =>
                    {
                        isLogin = false;
                    });
                }
            });
        }