using System; using System.Windows.Forms; using FastReport.Forms; using FastReport.Utils; namespace FastReport.Cloud.StorageClient.GoogleDrive { /// /// Represents the Client Info diabolg form. /// public partial class ClientInfoForm : BaseDialogForm { #region Fields #pragma warning disable FR0001 // Field names must be longer than 2 characters. private string id; #pragma warning restore FR0001 // Field names must be longer than 2 characters. private string secret; private string auth; private bool isBtnOkClicked = false; GoogleDriveStorageClient client; #endregion // Fields #region Properties /// /// Gets the client ID. /// public string Id { get { return id; } } /// /// Gets the client secret. /// public string Secret { get { return secret; } } /// /// Gets the client Auth key. /// public string AuthKey { get { return auth; } } #endregion // Properties #region Constructors /// /// Initializes a new instance of the class. /// public ClientInfoForm() { this.id = ""; this.secret = ""; client = new GoogleDriveStorageClient(); InitializeComponent(); Localize(); UIUtils.CheckRTL(this); UpdateDpiDependencies(); } #endregion // Constructors #region Public Methods /// public override void Localize() { base.Localize(); MyRes res = new MyRes("Cloud,SkyDrive"); this.Text = res.Get("ClientInfoDialog"); labelClientId.Text = res.Get("ClientId"); labelClientSecret.Text = res.Get("ClientSecret"); } #endregion // Public Methods #region Events Handlers private void btnOk_Click(object sender, EventArgs e) { if (String.IsNullOrEmpty(tbClientKey.Text)) { id = tbClientId.Text; secret = tbClientSecret.Text; client.ClientInfo = new SkyDrive.ClientInfo("", Id, Secret); ProcessHelper.StartProcess(client.GetAuthorizationUrl()); if (!isBtnOkClicked) Height += this.LogicalToDevice(30); tbClientId.Enabled = false; tbClientSecret.Enabled = false; tbClientKey.Visible = true; labelKey.Visible = true; isBtnOkClicked = true; } else { client.AuthCode = tbClientKey.Text; string token = client.GetAccessToken(); client.IsUserAuthorized = true; XmlItem xi = Config.Root.FindItem("GoogleDriveCloud").FindItem("StorageSettings"); xi.SetProp("ClientId", client.ClientInfo.Id); xi.SetProp("ClientSecret", client.ClientInfo.Secret); xi.SetProp("AuthCode", client.AuthCode); xi.SetProp("IsUserAuthorized", client.IsUserAuthorized.ToString()); xi.SetProp("AccessToken", client.AccessToken); DialogResult = DialogResult.OK; this.Close(); } } #endregion // Events Handlers } }