/// <summary> /// Parses a UserDataType and data into a KeyValuePair /// </summary> /// <param name="fileFormat">File Format</param> /// <param name="userDataType">UserDataType like LoginName or Password</param> /// <param name="data">Value</param> /// <returns>Null if information could not be parsed. Else a valid KeyValuePair</returns> public KeyValuePair <Credential.UserDataType, string>?ParseUserDataType( CSVFileFormat fileFormat, string userDataType, string data) { Credential.UserDataType?dataType = null; if (fileFormat == CSVFileFormat.KeePass) { switch (userDataType) { case "Account": dataType = Credential.UserDataType.Title; break; case "Login Name": dataType = Credential.UserDataType.Email; break; case "Password": dataType = Credential.UserDataType.Password; break; case "Web Site": dataType = Credential.UserDataType.Website; break; case "Comments": dataType = null; break; default: throw new ArgumentException( "This UserDataType is invalid in a '{0}' file!", fileFormat.ToString()); } } else if (fileFormat == CSVFileFormat.Dashlane) { throw new NotSupportedException("Dashlane is not supported yet!"); } if (dataType == null) { return(null); } return(new KeyValuePair <Credential.UserDataType, string>(dataType.GetValueOrDefault(), data)); }
/// <summary> /// Gets the file extension associated with the given CSVFile format /// </summary> /// <returns>The extension.</returns> /// <param name="csvfileformat">CSVFile format.</param> public static string FileExtension(this CSVFileFormat csvfileFormat) { return("." + csvfileFormat.ToString().ToLower()); }