internal BackupRestoreView.FileShareBackupStorageInfo TofileShareBackupStorageInfoView()
        {
            var fileShareBackupStorageInfoView = new BackupRestoreView.FileShareBackupStorageInfo
            {
                Path            = this.Path,
                PrimaryUserName = this.PrimaryUserName,
                // [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="Asterisks")]
                PrimaryPassword   = "******",                 // Not returning back password
                SecondaryUserName = this.SecondaryUserName,
                // [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="Asterisks")]
                SecondaryPassword = "******"                  // Not returning back password
            };

            return(fileShareBackupStorageInfoView);
        }
        internal static FileShareBackupStorageInfo FromfileShareBackupStorageInfoView(
            BackupRestoreView.FileShareBackupStorageInfo fileShareBackupStorageInfoView)
        {
            var fileShareBackupStorageInfo = new FileShareBackupStorageInfo
            {
                Path              = fileShareBackupStorageInfoView.Path,
                PrimaryUserName   = fileShareBackupStorageInfoView.PrimaryUserName,
                SecondaryUserName = fileShareBackupStorageInfoView.SecondaryUserName
            };

            string certThumbprint, certStore;

            EncryptionCertConfigHandler.GetEncryptionCertDetails(out certThumbprint, out certStore);

            // Encrypt the creds if cert configured
            if (!String.IsNullOrEmpty(certThumbprint))
            {
                if (!String.IsNullOrEmpty(fileShareBackupStorageInfoView.PrimaryPassword))
                {
                    fileShareBackupStorageInfo.PrimaryPassword = EncryptionUtility.EncryptText(fileShareBackupStorageInfoView.PrimaryPassword,
                                                                                               certThumbprint,
                                                                                               certStore);
                }

                if (!String.IsNullOrEmpty(fileShareBackupStorageInfoView.SecondaryPassword))
                {
                    fileShareBackupStorageInfo.SecondaryPassword =
                        EncryptionUtility.EncryptText(fileShareBackupStorageInfoView.SecondaryPassword, certThumbprint,
                                                      certStore);
                }

                fileShareBackupStorageInfo.IsPasswordEncrypted = true;
            }
            else
            {
                fileShareBackupStorageInfo.PrimaryPassword     = fileShareBackupStorageInfoView.PrimaryPassword;
                fileShareBackupStorageInfo.SecondaryPassword   = fileShareBackupStorageInfoView.SecondaryPassword;
                fileShareBackupStorageInfo.IsPasswordEncrypted = false;
            }

            return(fileShareBackupStorageInfo);
        }