Ejemplo n.º 1
0
    private void StoreParameters()
    {
        Hashtable parameters = WindowHelper.GetItem(ParametersId) as Hashtable;

        parameters["Credentials"] = EncryptionHelper.EncryptData(OrganizationCredentials.Serialize(Credentials));
        WindowHelper.Add(ParametersId, parameters);
    }
Ejemplo n.º 2
0
            internal static string WebLogin(
                string webServerUri,
                string organizationName,
                OrganizationCredentials credentials)
            {
                Uri endpoint = new Uri(
                    new Uri(webServerUri),
                    string.Format(WebLoginEndPoint, organizationName));

                try
                {
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(endpoint);
                    request.Method      = "POST";
                    request.ContentType = "application/json";
                    request.Timeout     = 5000;

                    WriteBody(request, credentials);

                    return(GetResponse <string>(request));
                }
                catch (Exception ex)
                {
                    mLog.ErrorFormat(
                        "Unable to retrieve the organization login '{0}': {1}",
                        endpoint.ToString(), ex.Message);

                    mLog.DebugFormat(
                        "StackTrace:{0}{1}",
                        Environment.NewLine, ex.StackTrace);

                    return(null);
                }
            }
    private void StoreParameters()
    {
        Hashtable parameters = WindowHelper.GetItem(ParametersId) as Hashtable;

#pragma warning disable 618
        parameters["Credentials"] = EncryptionHelper.EncryptData(OrganizationCredentials.Serialize(Credentials));
#pragma warning restore 618
        WindowHelper.Add(ParametersId, parameters);
    }
Ejemplo n.º 4
0
    private void CloseDialog(string message)
    {
        string html = HTMLHelper.HTMLEncode(message);

        CredentialsHiddenField.Value = EncryptionHelper.EncryptData(OrganizationCredentials.Serialize(Credentials));
        MessageHiddenField.Value     = html;
        MessageLabel.InnerHtml       = html;
        MessageLabel.Visible         = true;
        MainMessagePanel.Visible     = true;
        MainPanel.Visible            = false;
        FooterPanel.Visible          = false;
    }
    private void CloseDialog(string message)
    {
        string text = HTMLHelper.HTMLEncode(message);

#pragma warning disable 618
        CredentialsHiddenField.Value = EncryptionHelper.EncryptData(OrganizationCredentials.Serialize(Credentials));
#pragma warning restore 618
        MessageHiddenField.Value = text;
        MessageLabel.InnerHtml   = text;
        MessageLabel.Visible     = true;
        MainMessagePanel.Visible = true;
        MainPanel.Visible        = false;
        FooterPanel.Visible      = false;
    }
    private string CreateMessage()
    {
        StringBuilder message = new StringBuilder();
        string        content = Value as string;

        if (String.IsNullOrEmpty(content))
        {
            message.Append(GetString("sf.nocredentials"));
        }
        else
        {
            OrganizationCredentials credentials = OrganizationCredentials.Deserialize(EncryptionHelper.DecryptData(content).TrimEnd('\0'));
            message.AppendFormat(GetString("sf.organizationcredentialspresent"), credentials.UserName, credentials.OrganizationName);
        }

        return(message.ToString());
    }
Ejemplo n.º 7
0
    private void RestoreParameters()
    {
        // Validate parameters
        if (!QueryHelper.ValidateHash("hash"))
        {
            throw new Exception("[SalesForceMappingEditorPage.RestoreParameters]: Invalid query hash.");
        }
        Hashtable parameters = WindowHelper.GetItem(QueryHelper.GetString("pid", null)) as Hashtable;

        if (parameters == null)
        {
            throw new Exception("[SalesForceMappingEditorPage.RestoreParameters]: The dialog page parameters are missing, the session might have been lost.");
        }

        // Restore parameters
        mEntityModelName = ValidationHelper.GetString(parameters["EntityModelName"], null);
        mSourceMappingHiddenFieldClientId = ValidationHelper.GetString(parameters["MappingHiddenFieldClientId"], null);
        mSourceMappingPanelClientId       = ValidationHelper.GetString(parameters["MappingPanelClientId"], null);

        // Restore mapping
        string content = ValidationHelper.GetString(parameters["Mapping"], null);

        if (String.IsNullOrEmpty(content))
        {
            mSourceMapping = new Mapping();
        }
        else
        {
            MappingSerializer serializer = new MappingSerializer();
            mSourceMapping = serializer.DeserializeMapping(content);
        }

        // Restore credentials
        content = ValidationHelper.GetString(parameters["Credentials"], null);
        if (String.IsNullOrEmpty(content))
        {
            throw new Exception("[SalesForceMappingEditorPage.RestoreParameters]: The dialog page parameters are corrupted.");
        }
        mCredentials = OrganizationCredentials.Deserialize(EncryptionHelper.DecryptData(content).TrimEnd('\0'));
    }
Ejemplo n.º 8
0
    private string GetOrganizationName(OrganizationCredentials credentials, string organizationId)
    {
        RefreshTokenSessionProvider provider = new RefreshTokenSessionProvider
        {
            ClientId     = credentials.ClientId,
            ClientSecret = credentials.ClientSecret,
            RefreshToken = credentials.RefreshToken
        };
        Session              session           = provider.CreateSession();
        SalesForceClient     client            = new SalesForceClient(session);
        EntityModel          organizationModel = client.DescribeEntity("Organization");
        SelectEntitiesResult result            = client.SelectEntities(String.Format("select Name, Division from Organization where Id = '{0}'", organizationId), organizationModel);

        if (result.TotalEntityCount == 0)
        {
            return(String.Empty);
        }
        Entity        organization = result.Entities[0];
        string        name         = organization.GetAttributeValue <string>("Name");
        string        division     = organization.GetAttributeValue <string>("Division");
        StringBuilder builder      = new StringBuilder();

        if (!String.IsNullOrEmpty(name))
        {
            builder.Append(name);
        }
        if (!String.IsNullOrEmpty(division))
        {
            if (builder.Length > 0)
            {
                builder.AppendFormat("({0})", division);
            }
            else
            {
                builder.Append(division);
            }
        }

        return(builder.ToString());
    }
Ejemplo n.º 9
0
    private void RestoreParameters()
    {
        string parametersId = QueryHelper.GetString("pid", null);

        if (!String.IsNullOrEmpty(parametersId))
        {
            if (!QueryHelper.ValidateHash("hash"))
            {
                throw new Exception("[SalesForceAuthorizationSetupPage.RestoreParameters]: Invalid query hash.");
            }
        }
        else
        {
            parametersId = QueryHelper.GetString("state", null);
        }
        Hashtable parameters = WindowHelper.GetItem(parametersId) as Hashtable;

        if (parameters == null)
        {
            throw new Exception("[SalesForceAuthorizationSetupPage.RestoreParameters]: The dialog page parameters are missing, the session might have been lost.");
        }
        string credentials = ValidationHelper.GetString(parameters["Credentials"], String.Empty);

        if (!String.IsNullOrEmpty(credentials))
        {
            mCredentials = OrganizationCredentials.Deserialize(EncryptionHelper.DecryptData(credentials).TrimEnd('\0'));
        }
        else
        {
            mCredentials = new OrganizationCredentials();
        }
        mSourceMessageLabelClientId           = ValidationHelper.GetString(parameters["MessageLabelClientId"], String.Empty);
        mSourceCredentialsHiddenFieldClientId = ValidationHelper.GetString(parameters["CredentialsHiddenFieldClientId"], String.Empty);
        mSourceUrlScheme = ValidationHelper.GetString(parameters["UrlScheme"], String.Empty);
        mSourceUrlPort   = ValidationHelper.GetInteger(parameters["UrlPort"], -1);
        mSourceSiteName  = ValidationHelper.GetString(parameters["SiteName"], String.Empty);
    }
 private void RestoreParameters()
 {
     string parametersId = QueryHelper.GetString("pid", null);
     if (!String.IsNullOrEmpty(parametersId))
     {
         if (!QueryHelper.ValidateHash("hash"))
         {
             throw new Exception("[SalesForceAuthorizationSetupPage.RestoreParameters]: Invalid query hash.");
         }
     }
     else
     {
         parametersId = QueryHelper.GetString("state", null);
     }
     Hashtable parameters = WindowHelper.GetItem(parametersId) as Hashtable;
     if (parameters == null)
     {
         throw new Exception("[SalesForceAuthorizationSetupPage.RestoreParameters]: The dialog page parameters are missing, the session might have been lost.");
     }
     string credentials = ValidationHelper.GetString(parameters["Credentials"], String.Empty);
     if (!String.IsNullOrEmpty(credentials))
     {
         mCredentials = OrganizationCredentials.Deserialize(EncryptionHelper.DecryptData(credentials).TrimEnd('\0'));
     }
     else
     {
         mCredentials = new OrganizationCredentials();
     }
     mSourceMessageLabelClientId = ValidationHelper.GetString(parameters["MessageLabelClientId"], String.Empty);
     mSourceCredentialsHiddenFieldClientId = ValidationHelper.GetString(parameters["CredentialsHiddenFieldClientId"], String.Empty);
     mSourceUrlScheme = ValidationHelper.GetString(parameters["UrlScheme"], String.Empty);
     mSourceUrlPort = ValidationHelper.GetInteger(parameters["UrlPort"], -1);
     mSourceSiteName = ValidationHelper.GetString(parameters["SiteName"], String.Empty);
 }
    private string GetOrganizationName(OrganizationCredentials credentials, string organizationId)
    {
        RefreshTokenSessionProvider provider = new RefreshTokenSessionProvider
        {
            ClientId = credentials.ClientId,
            ClientSecret = credentials.ClientSecret,
            RefreshToken = credentials.RefreshToken
        };
        Session session = provider.CreateSession();
        SalesForceClient client = new SalesForceClient(session);
        EntityModel organizationModel = client.DescribeEntity("Organization");
        SelectEntitiesResult result = client.SelectEntities(String.Format("select Name, Division from Organization where Id = '{0}'", organizationId), organizationModel);
        if (result.TotalEntityCount == 0)
        {
            return String.Empty;
        }
        Entity organization = result.Entities[0];
        string name = organization.GetAttributeValue<string>("Name");
        string division = organization.GetAttributeValue<string>("Division");
        StringBuilder builder = new StringBuilder();
        if (!String.IsNullOrEmpty(name))
        {
            builder.Append(name);
        }
        if (!String.IsNullOrEmpty(division))
        {
            if (builder.Length > 0)
            {
                builder.AppendFormat("({0})", division);
            }
            else
            {
                builder.Append(division);
            }
        }

        return builder.ToString();
    }
    private void RestoreParameters()
    {
        // Validate parameters
        if (!QueryHelper.ValidateHash("hash"))
        {
            throw new Exception("[SalesForceMappingEditorPage.RestoreParameters]: Invalid query hash.");
        }
        Hashtable parameters = WindowHelper.GetItem(QueryHelper.GetString("pid", null)) as Hashtable;
        if (parameters == null)
        {
            throw new Exception("[SalesForceMappingEditorPage.RestoreParameters]: The dialog page parameters are missing, the session might have been lost.");
        }

        // Restore parameters
        mEntityModelName = ValidationHelper.GetString(parameters["EntityModelName"], null);
        mSourceMappingHiddenFieldClientId = ValidationHelper.GetString(parameters["MappingHiddenFieldClientId"], null);
        mSourceMappingPanelClientId = ValidationHelper.GetString(parameters["MappingPanelClientId"], null);

        // Restore mapping
        string content = ValidationHelper.GetString(parameters["Mapping"], null);
        if (String.IsNullOrEmpty(content))
        {
            mSourceMapping = new Mapping();
        }
        else
        {
            MappingSerializer serializer = new MappingSerializer();
            mSourceMapping = serializer.DeserializeMapping(content);
        }

        // Restore credentials
        content = ValidationHelper.GetString(parameters["Credentials"], null);
        if (String.IsNullOrEmpty(content))
        {
            throw new Exception("[SalesForceMappingEditorPage.RestoreParameters]: The dialog page parameters are corrupted.");
        }
        mCredentials = OrganizationCredentials.Deserialize(EncryptionHelper.DecryptData(content).TrimEnd('\0'));
    }
Ejemplo n.º 13
0
        static void LaunchMigrationIfProjectIsArchivedAndMigrated(
            string unityAccessToken,
            string projectPath,
            string projectGuid,
            string headCommitSha)
        {
            IsCollabProjectMigratedResponse   isMigratedResponse = null;
            ChangesetFromCollabCommitResponse changesetResponse  = null;

            IThreadWaiter waiter = ThreadWaiter.GetWaiter(10);

            waiter.Execute(
                /*threadOperationDelegate*/ delegate
            {
                isMigratedResponse = WebRestApiClient.PlasticScm.
                                     IsCollabProjectMigrated(unityAccessToken, projectGuid);

                if (isMigratedResponse.Error != null)
                {
                    return;
                }

                if (!isMigratedResponse.IsMigrated)
                {
                    return;
                }

                OrganizationCredentials credentials = new OrganizationCredentials();
                credentials.User     = isMigratedResponse.Credentials.Email;
                credentials.Password = isMigratedResponse.Credentials.Token;

                string webLoginAccessToken = WebRestApiClient.CloudServer.WebLogin(
                    isMigratedResponse.WebServerUri,
                    isMigratedResponse.PlasticCloudOrganizationName,
                    credentials);

                changesetResponse = WebRestApiClient.CloudServer.
                                    GetChangesetFromCollabCommit(
                    isMigratedResponse.WebServerUri,
                    isMigratedResponse.PlasticCloudOrganizationName,
                    webLoginAccessToken, projectGuid, headCommitSha);
            },
                /*afterOperationDelegate*/ delegate
            {
                if (waiter.Exception != null)
                {
                    ExceptionsHandler.LogException(
                        "IsCollabProjectArchivedAndMigrated",
                        waiter.Exception);
                    return;
                }

                if (isMigratedResponse.Error != null)
                {
                    mLog.ErrorFormat(
                        "Unable to get IsCollabProjectMigratedResponse: {0} [code {1}]",
                        isMigratedResponse.Error.Message,
                        isMigratedResponse.Error.ErrorCode);
                    return;
                }

                if (!isMigratedResponse.IsMigrated)
                {
                    SessionState.SetInt(
                        IS_PROJECT_MIGRATED_ALREADY_CALCULATED_KEY,
                        MIGRATED_NOTHING_TO_DO);
                    return;
                }

                if (changesetResponse.Error != null)
                {
                    mLog.ErrorFormat(
                        "Unable to get ChangesetFromCollabCommitResponse: {0} [code {1}]",
                        changesetResponse.Error.Message,
                        changesetResponse.Error.ErrorCode);
                    return;
                }

                DeletePlasticDirectoryIfExists(projectPath);

                MigrationDialog.Show(
                    null,
                    unityAccessToken,
                    projectPath,
                    isMigratedResponse.PlasticCloudOrganizationName,
                    new RepId(
                        changesetResponse.RepId,
                        changesetResponse.RepModuleId),
                    changesetResponse.ChangesetId,
                    changesetResponse.BranchId,
                    AfterWorkspaceMigrated);
            });
        }